Modular v1.12.1
Release v1.12.1
Changes
- feat: Modular v2 enhancements — 12 gaps + modernization (#83) (d0a62e8)
- Replace realistic-looking DB credentials and hostnames with generic placeholders (#82) (7866c7c)
- feat: reimplement dropped features (reload, health, tenant guard) (#81) (bcb82fb)
API Contract Changes
ℹ️ No public API surface changes detected.
# API Contract Diff: modular
## Summary
- **Breaking Changes**: 0
- **Additions**: 63
- **Modifications**: 0
## ➕ Additions
- **interface**: SlogAdapter - New interface SlogAdapter was added
- **interface**: SecretResolver - New interface SecretResolver was added
- **interface**: Drainable - New interface Drainable was added
- **interface**: ReloadableApp - New interface ReloadableApp was added
- **interface**: PluginWithServices - New interface PluginWithServices was added
- **interface**: MetricsProvider - New interface MetricsProvider was added
- **interface**: Reloadable - New interface Reloadable was added
- **interface**: PluginWithHooks - New interface PluginWithHooks was added
- **interface**: PhaseAware - New interface PhaseAware was added
- **interface**: MetricsCollector - New interface MetricsCollector was added
- **interface**: TenantGuard - New interface TenantGuard was added
- **interface**: HealthProvider - New interface HealthProvider was added
- **interface**: Plugin - New interface Plugin was added
- **interface**: ReloadOrchestrator - New interface ReloadOrchestrator was added
- **interface**: ContractVerifier - New interface ContractVerifier was added
- **type**: AggregateHealthService - New type AggregateHealthService was added
- **type**: ConfigDiff - New type ConfigDiff was added
- **type**: HealthReport - New type HealthReport was added
- **type**: HealthStatus - New type HealthStatus was added
- **type**: AggregatedHealth - New type AggregatedHealth was added
- **type**: FieldChange - New type FieldChange was added
- **type**: Severity - New type Severity was added
- **type**: ReloadTrigger - New type ReloadTrigger was added
- **type**: StandardTenantGuard - New type StandardTenantGuard was added
- **type**: TenantGuardConfig - New type TenantGuardConfig was added
- **type**: TenantViolation - New type TenantViolation was added
- **type**: AppPhase - New type AppPhase was added
- **type**: ConfigChange - New type ConfigChange was added
- **type**: ContractViolation - New type ContractViolation was added
- **type**: ReloadRequest - New type ReloadRequest was added
- **type**: ViolationType - New type ViolationType was added
- **type**: HealthServiceOption - New type HealthServiceOption was added
- **type**: TenantGuardMode - New type TenantGuardMode was added
- **type**: StandardContractVerifier - New type StandardContractVerifier was added
- **type**: TenantGuardOption - New type TenantGuardOption was added
- **type**: ServiceDefinition - New type ServiceDefinition was added
- **type**: ChangeType - New type ChangeType was added
- **type**: ModuleMetrics - New type ModuleMetrics was added
- **method**: StdApplication.Phase - New method Phase was added to type StdApplication
- **method**: StdApplication.CollectAllMetrics - New method CollectAllMetrics was added to type StdApplication
- **method**: StdApplication.RequestReload - New method RequestReload was added to type StdApplication
- **method**: EnhancedServiceRegistry.RegisterServiceForModule - New method RegisterServiceForModule was added to type EnhancedServiceRegistry
- **method**: EnhancedServiceRegistry.OnServiceReady - New method OnServiceReady was added to type EnhancedServiceRegistry
- **function**: GetTypedService - New function GetTypedService was added
- **function**: RegisterTypedService - New function RegisterTypedService was added
- **function**: ExpandSecrets - New function ExpandSecrets was added
- **variable**: ErrReloadStopped - New variable ErrReloadStopped was added
- **variable**: ErrReloadTimeout - New variable ErrReloadTimeout was added
- **variable**: ErrTenantContextMissing - New variable ErrTenantContextMissing was added
- **variable**: ErrReloadChannelFull - New variable ErrReloadChannelFull was added
- **variable**: ErrTenantIsolationViolation - New variable ErrTenantIsolationViolation was added
- **variable**: ErrDynamicReloadNotEnabled - New variable ErrDynamicReloadNotEnabled was added
- **variable**: ErrReloadCircuitBreakerOpen - New variable ErrReloadCircuitBreakerOpen was added
- **variable**: ForceHealthRefreshKey - New variable ForceHealthRefreshKey was added
- **variable**: ErrReloadInProgress - New variable ErrReloadInProgress was added
- **constant**: EventTypeConfigReloadCompleted - New constant EventTypeConfigReloadCompleted was added
- **constant**: EventTypeConfigReloadStarted - New constant EventTypeConfigReloadStarted was added
- **constant**: EventTypeTenantViolation - New constant EventTypeTenantViolation was added
- **constant**: EventTypeConfigReloadFailed - New constant EventTypeConfigReloadFailed was added
- **constant**: EventTypeHealthStatusChanged - New constant EventTypeHealthStatusChanged was added
- **constant**: EventTypeConfigReloadNoop - New constant EventTypeConfigReloadNoop was added
- **constant**: EventTypeHealthEvaluated - New constant EventTypeHealthEvaluated was added
- **constant**: EventTypeAppPhaseChanged - New constant EventTypeAppPhaseChanged was added
Raw Contract JSON Diff
{
"package_name": "modular",
"added_items": [
{
"type": "interface",
"item": "HealthProvider",
"description": "New interface HealthProvider was added"
},
{
"type": "interface",
"item": "SlogAdapter",
"description": "New interface SlogAdapter was added"
},
{
"type": "interface",
"item": "MetricsCollector",
"description": "New interface MetricsCollector was added"
},
{
"type": "interface",
"item": "ReloadOrchestrator",
"description": "New interface ReloadOrchestrator was added"
},
{
"type": "interface",
"item": "Plugin",
"description": "New interface Plugin was added"
},
{
"type": "interface",
"item": "Drainable",
"description": "New interface Drainable was added"
},
{
"type": "interface",
"item": "PluginWithHooks",
"description": "New interface PluginWithHooks was added"
},
{
"type": "interface",
"item": "TenantGuard",
"description": "New interface TenantGuard was added"
},
{
"type": "interface",
"item": "ContractVerifier",
"description": "New interface ContractVerifier was added"
},
{
"type": "interface",
"item": "PhaseAware",
"description": "New interface PhaseAware was added"
},
{
"type": "interface",
"item": "MetricsProvider",
"description": "New interface MetricsProvider was added"
},
{
"type": "interface",
"item": "PluginWithServices",
"description": "New interface PluginWithServices was added"
},
{
"type": "interface",
"item": "ReloadableApp",
"description": "New interface ReloadableApp was added"
},
{
"type": "interface",
"item": "Reloadable",
"description": "New interface Reloadable was added"
},
{
"type": "interface",
"item": "SecretResolver",
"description": "New interface SecretResolver was added"
},
{
"type": "type",
"item": "AppPhase",
"description": "New type AppPhase was added"
},
{
"type": "type",
"item": "ChangeType",
"description": "New type ChangeType was added"
},
{
"type": "type",
"item": "ReloadRequest",
"description": "New type ReloadRequest was added"
},
{
"type": "type",
"item": "ConfigDiff",
"description": "New type ConfigDiff was added"
},
{
"type": "type",
"item": "FieldChange",
"description": "New type FieldChange was added"
},
{
"type": "type",
"item": "TenantGuardMode",
"description": "New type TenantGuardMode was added"
},
{
"type": "type",
"item": "ContractViolation",
"description": "New type ContractViolation was added"
},
{
"type": "type",
"item": "HealthServiceOption",
"description": "New type HealthServiceOption was added"
},
{
"type": "type",
"item": "Severity",
"description": "New type Severity was added"
},
{
"type": "type",
"item": "StandardContractVerifier",
"description": "New type StandardContractVerifier was added"
},
{
"type": "type",
"item": "AggregatedHealth",
"description": "New type AggregatedHealth was added"
},
{
"type": "type",
"item": "HealthStatus",
"description": "New type HealthStatus was added"
},
{
"type": "type",
"item": "ModuleMetrics",
"description": "New type ModuleMetrics was added"
},
{
"type": "type",
"item": "HealthReport",
"description": "New type HealthReport was added"
},
{
"type": "type",
"item": "TenantGuardConfig",
"description": "New type TenantGuardConfig was added"
},
{
"type": "type",
"item": "TenantViolation",
"description": "New type TenantViolation was added"
},
{
"type": "type",
"item": "AggregateHealthService",
"description": "New type AggregateHealthService was added"
},
{
"type": "type",
"item": "ReloadTrigger",
"description": "New type ReloadTrigger was added"
},
{
"type": "type",
"item": "TenantGuardOption",
"description": "New type TenantGuardOption was added"
},
{
"type": "type",
"item": "StandardTenantGuard",
"description": "New type StandardTenantGuard was added"
},
{
"type": "type",
"item": "ConfigChange",
"description": "New type ConfigChange was added"
},
{
"type": "type",
"item": "ServiceDefinition",
"description": "New type ServiceDefinition was added"
},
{
"type": "type",
"item": "ViolationType",
"description": "New type ViolationType was added"
},
{
"type": "method",
"item": "StdApplication.CollectAllMetrics",
"description": "New method CollectAllMetrics was added to type StdApplication"
},
{
"type": "method",
"item": "StdApplication.Phase",
"description": "New method Phase was added to type StdApplication"
},
{
"type": "method",
"item": "StdApplication.RequestReload",
"description": "New method RequestReload was added to type StdApplication"
},
{
"type": "method",
"item": "EnhancedServiceRegistry.OnServiceReady",
"description": "New method OnServiceReady was added to type EnhancedServiceRegistry"
},
{
"type": "method",
"item": "EnhancedServiceRegistry.RegisterServiceForModule",
"description": "New method RegisterServiceForModule was added to type EnhancedServiceRegistry"
},
{
"type": "function",
"item": "GetTypedService",
"description": "New function GetTypedService was added"
},
{
"type": "function",
"item": "RegisterTypedService",
"description": "New function RegisterTypedService was added"
},
{
"type": "function",
"item": "ExpandSecrets",
"description": "New function ExpandSecrets was added"
},
{
"type": "variable",
"item": "ErrTenantContextMissing",
"description": "New variable ErrTenantContextMissing was added"
},
{
"type": "variable",
"item": "ErrReloadCircuitBreakerOpen",
"description": "New variable ErrReloadCircuitBreakerOpen was added"
},
{
"type": "variable",
"item": "ErrReloadChannelFull",
"description": "New variable ErrReloadChannelFull was added"
},
{
"type": "variable",
"item": "ErrDynamicReloadNotEnabled",
"description": "New variable ErrDynamicReloadNotEnabled was added"
},
{
"type": "variable",
"item": "ErrReloadInProgress",
"description": "New variable ErrReloadInProgress was added"
},
{
"type": "variable",
"item": "ErrReloadStopped",
"description": "New variable ErrReloadStopped was added"
},
{
"type": "variable",
"item": "ErrTenantIsolationViolation",
"description": "New variable ErrTenantIsolationViolation was added"
},
{
"type": "variable",
"item": "ForceHealthRefreshKey",
"description": "New variable ForceHealthRefreshKey was added"
},
{
"type": "variable",
"item": "ErrReloadTimeout",
"description": "New variable ErrReloadTimeout was added"
},
{
"type": "constant",
"item": "EventTypeAppPhaseChanged",
"description": "New constant EventTypeAppPhaseChanged was added"
},
{
"type": "constant",
"item": "EventTypeConfigReloadStarted",
"description": "New constant EventTypeConfigReloadStarted was added"
},
{
"type": "constant",
"item": "EventTypeHealthStatusChanged",
"description": "New constant EventTypeHealthStatusChanged was added"
},
{
"type": "constant",
"item": "EventTypeTenantViolation",
"description": "New constant EventTypeTenantViolation was added"
},
{
"type": "constant",
"item": "EventTypeConfigReloadCompleted",
"description": "New constant EventTypeConfigReloadCompleted was added"
},
{
"type": "constant",
"item": "EventTypeHealthEvaluated",
"description": "New constant EventTypeHealthEvaluated was added"
},
{
"type": "constant",
"item": "EventTypeConfigReloadFailed",
"description": "New constant EventTypeConfigReloadFailed was added"
},
{
"type": "constant",
"item": "EventTypeConfigReloadNoop",
"description": "New constant EventTypeConfigReloadNoop was added"
}
],
"summary": {
"total_breaking_changes": 0,
"total_additions": 63,
"total_modifications": 0,
"has_breaking_changes": false
}
}