This document contains migration notes between versions of the Coretsia monorepo.
- Version source of truth is the monorepo git tag:
vMAJOR.MINOR.PATCH. - Per-package independent versions MUST NOT be used.
- Breaking changes in public API require a major version bump.
- Deprecations follow: warn in N, remove in N+2.
- If an upgrade changes runtime behavior, shapes, invariants, determinism, or boundaries, the change MUST be reflected in SSoT docs under
docs/ssot/**.
config/<name>.php returns a subtree (no wrapper repeating the root key).
Runtime reads from global config under that root key (e.g. foundation.container.*).
If you previously relied on wrapper roots in config files, you must adjust your config files accordingly.
repositories blocks are managed only by:
composer sync:reposDuring upgrades (or rebases), treat manual edits of repositories as invalid and expect CI/pre-commit to fail on drift.
Lock files are committed for root/framework/skeleton. CI uses composer install and fails on lock drift.
If your upgrade changes dependencies, regenerate locks intentionally and commit them.
Tooling/gates/artifacts must remain deterministic and must not leak secrets/PII. Expect upgrades to reject:
- timestamps, absolute paths, env-specific bytes in artifacts/diagnostics
- raw
.envvalues, tokens, Authorization/cookies/session ids, raw payloads, raw SQL
- Pick the target tag
- Decide the target
vMAJOR.MINOR.PATCHyou upgrade to.
- Read release notes
- Review
CHANGELOG.mdentries between your current tag and the target tag.
- Review SSoT deltas
- Scan
docs/ssot/**changes in that range, focusing on:- shapes / outcomes / invariants
- config rules and reserved namespaces (e.g.
@*directives policy if relevant) - runtime driver composition rules (if your app uses long-running runtimes)
- Sync managed repositories (if needed)
composer sync:check- Install dependencies using locks
composer install:all- Run the canonical rails
composer test
composer ci- Search for deprecations
- Search your app for
@deprecatedusage and follow migration notes. - Remember: removals happen in
N+2by policy.
The 0.x line is a development snapshot line. These tags are useful for early package publication, integration testing, and external smoke checks, but they are not stable support lines.
- No stable API compatibility guarantee is provided for
0.xdevelopment snapshots.
- Review
CHANGELOG.mdfor thev0.5.0Core Kernel package publication details. - This release introduces publish-ready
coretsia/core-kernelsplit package coverage. - Public
ContextKeysmoved tocore/contractsas the canonical contract-level context key vocabulary. - Foundation remains responsible for context storage, write validation, reset behavior, and default observability bindings.
- Kernel remains responsible for base UnitOfWork context writes and operation-boundary observability.
- The framework default
expresspreset now treatsplatform.httpas a required module. - Until
platform.httpis available in the installed module manifest, resolving or booting the Express fixture is expected to fail deterministically withCORETSIA_MODULE_REQUIRED_MISSING. - Use
microfor the current Phase 1 kernel boot smoke path when HTTP platform support is not installed.
- Review
CHANGELOG.md. - If your workspace consumes split packages, refresh dependency locks intentionally.
- If your application, tests, or integration code imports Foundation-owned context key identifiers, update them to the contract-level
ContextKeyssymbol fromcore/contracts. - Do not replace Foundation context storage or reset behavior with contract-level code; only the public key vocabulary moved.
- If your application or test fixture selects the
expresspreset, either:- ensure
platform.httpis available in the installed module manifest; or - use
micrountil HTTP platform support is available.
- ensure
- Run:
composer setup
composer ci- No stable API compatibility guarantee is provided for
0.xdevelopment snapshots.
- Review
CHANGELOG.mdfor thev0.3.0package publication details. - This release introduced additional publish-ready split packages.
- Review
CHANGELOG.md. - Refresh dependency locks intentionally if your workspace consumes split packages.
- Run:
composer setup
composer ci- No stable API compatibility guarantee is provided for
0.xdevelopment snapshots.
- Review
CHANGELOG.mdfor thev0.2.0contracts baseline and first public split package details. - This release introduced the first publish-ready split package and the Phase 1 contracts baseline.
- Review
CHANGELOG.md. - Refresh dependency locks intentionally if your workspace consumes split packages.
- Run:
composer setup
composer ciAdd a new section per upgrade jump you want to document.
- TBD
- TBD (warn in N, remove in N+2)
- TBD
- TBD (include only deterministic, non-sensitive diagnostics; avoid raw values/paths)