Release date: 2026-04-25
v1.4.1 is a production patch release for the v1.4.0 microservices portfolio. It keeps the public API, auth/session contract, service topology, and Kubernetes handoff model stable while tightening localized session routing, enrollment event fanout, Vietnamese notification email rendering, and release text-encoding guards.
- Preserved localized session routing across sign-out and protected app flows.
- Kept student invoice checkout coverage aligned with provider handoff behavior.
- Maintained bilingual route compatibility without changing public URLs.
- Stabilized checkout switching and session flows across the edge-backed runtime.
- Validated enrollment email fanout from student ownership data into academic and notification flows.
- Added an academic people-shadow consumer path so enrollment email events can use the correct student identity context.
- Rendered enrollment emails in Vietnamese with explicit encoding coverage.
- Formatted enrollment email copy helpers for cleaner, safer notification output.
- Added regression coverage for enrollment email encoding and localized copy.
- Added a text encoding guard to catch mojibake and suspicious localized text before release.
- Updated Kubernetes base and bootstrap image defaults to
v1.4.1. - Kept release metadata, README links, and documentation hygiene checks anchored to the new patch release.
This release is backward compatible with v1.4.0.
- No public API routes changed.
- Auth cookies remain
cc_access_token,cc_refresh_token, andcc_csrf. X-CSRF-Token,X-Service-Token, andX-Health-Keycontracts remain unchanged.- The nine-image runtime topology and Kubernetes overlays remain unchanged.
campuscore-backendcampuscore-auth-servicecampuscore-notification-servicecampuscore-finance-servicecampuscore-academic-servicecampuscore-engagement-servicecampuscore-people-servicecampuscore-analytics-servicecampuscore-frontend
- CI quality gate: required on the release SHA
- CD publish run: required from the
v1.4.1semver tag - Manifest verification: required for all nine images after publish
- Image smoke: required against published GHCR images
- Edge E2E: required against the published release stack
- Security scan: required through the CI release run
- Rotate any Gmail app password that was previously shared outside the secret store before using production email.
- Old Kubernetes restart history and Redis health logs from
v1.4.0are runtime residue; redeploying thev1.4.1image set is the cleanup path. - Docker build cache cleanup is intentionally skipped for this release pass.