Releases
Release v2026.1.89
Release v2026.1.89
Scope
- Baseline production tags point to:
v2026.1.39 - Target release tag:
v2026.1.89 - Total change size:
212 commits,935 files changed - Diff stats:
113848 insertions,43894 deletions
Highlights
Billing and Finance
- Introduced subscription-aware billing controls, feature gating, and overage handling updates.
- Expanded customer billing APIs and improved wallet/customer scoping behavior.
- Added replay job tracking and migration support improvements.
SMS Platform
- Added finance billing routing binding in SMS API startup.
- Refactored campaign dispatch and batch fan-out for grain-safe execution.
- Improved SMS provider handling and resiliency paths.
USSD Platform
- Refined dashboard/gateway contracts and endpoint behavior.
- Extended secrets/credential handling flow with Infisical-aligned configuration patterns.
Events Services
- Added Orleans service and cluster configuration wiring in Events API and Events USSD values.
- Improved event outcome handling and stream alignment.
Runtime and Platform Stack
- .NET SDK updated to
10.0.200. - Orleans, Aspire, OpenTelemetry, EF Core, and Microsoft.Extensions dependency lines upgraded.
- Added chart-level pre-install and pre-upgrade migration job support.
Required Production Configuration Updates
These updates are required before promoting v2026.1.89 to production.
1) Orleans Silo migration job
Update production values in helm/orleans-silo/values-production.yaml:
- Ensure
migrationJob.enabled: true - Set migration image repository and args
- Provide migration-only secret via
migrationJob.envFrom
Expected secret reference:
tech231-orleans-silo-production-migration-secrets
2) Finance API production values
Use helm/finance-api/values-production.yaml and ensure:
gateway.hostnamesincludesfinance-api.tech231apps.netASPNETCORE_ENVIRONMENT=ProductionOTEL_RESOURCE_PREFIX=deployment.environment=production
3) SMS Portal production values
Update helm/sms-portal/values-production.yaml with:
gateway.hostnames: sms-portal.tech231apps.netNODE_ENV=productionSMS_API_URL=https://sms-api.tech231apps.netAPP_URL=https://sms-portal.tech231apps.netZITADEL_ISSUER=https://auth.tech231apps.net- Correct production values for
ZITADEL_CLIENT_IDandZITADEL_PROJECT_ID
4) Events Orleans integration keys
Ensure effective production config includes for both Events services:
Orleans__ServiceId=tech231SiloServiceOrleans__ClusterId=tech231SiloClusterOrleans__EnableDistributedTracing=true
Files where these were introduced:
helm/events-api/values.yamlhelm/events-ussd/values.yaml
5) Orleans Silo app settings keys
Ensure production runtime values provide:
Zitadel:Sync:PrimaryInstanceIdFinance:PrimaryInstanceIdInfisical:HostUrlInfisical:ClientIdInfisical:ClientSecretInfisical:ProjectIdInfisical:EnvironmentSlug(production)
Reference shape in:
src/Hosting/Tech231.Platform.Hosting.Orleans.Silo/appsettings.json
6) Finance API instance identity keys
Ensure Finance runtime config includes:
Finance:PrimaryInstanceIdFinance:PrimaryInstanceName
Reference shape in:
src/Finance/src/Tech231.Platform.Finance.Api/appsettings.json
7) SDK and build runner compatibility
Ensure CI/CD runners and build nodes use SDK 10.0.200 per global.json.
Upgrade Procedure (Production)
- Validate all required secrets and environment variables exist in production.
- Apply chart updates and run pre-upgrade migration job hook successfully.
- Deploy
orleans-silofirst. - Deploy API services (
auth-api,finance-api,sms-api,events-api,events-ussd,ussd-api,ussd-app). - Deploy
sms-portalwith updated auth/API URLs. - Verify
/healthendpoints and Orleans cluster membership stability. - Validate smoke flows:
- SMS send and delivery lifecycle
- Billing usage ingestion and subscription checks
- USSD session path and secrets-backed credential resolution
- Move production service tags to the deployed release commit for traceability.
Post-Release Verification Checklist
- Migration job completed with no schema drift failures.
- No missing tenancy/instance identifier errors in Orleans logs.
- No authentication regressions in portal login (Zitadel).
- Events services joined Orleans cluster and processed traffic normally.
- Core billing and quota enforcement behavior matches expected plans.
Risk Notes
- Missing migration secret values will block pre-upgrade hooks.
- Missing
PrimaryInstanceIdvalues can break tenant-scoped finance synchronization. - Incorrect portal Zitadel values can cause production authentication failures.
- Missing Orleans service/cluster identifiers in Events services can prevent cluster integration.
Last modified on