34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# Changelog
|
|
|
|
## 2026-04-08 - 1.2.0 - feat(versionresolver)
|
|
support skip-forward resume for orphan ledger versions
|
|
|
|
- Update migration planning to resume from the first step whose toVersion is greater than the current ledger version instead of requiring an exact fromVersion match.
|
|
- Log when a migration step runs in skip-forward mode so operators can identify idempotent replays against partially migrated data.
|
|
- Add tests and documentation for skip-forward resume behavior and TARGET_NOT_REACHABLE error handling when the chain cannot advance.
|
|
|
|
## 2026-04-07 - 1.1.1 - fix(repo)
|
|
no changes to commit
|
|
|
|
|
|
## 2026-04-07 - 1.1.0 - feat(smartmigration)
|
|
add initial smartmigration package with MongoDB and S3 migration runner
|
|
|
|
- introduces a builder-style migration API with semver chain validation and structured migration errors
|
|
- adds MongoDB and S3 ledger backends with locking, checkpoint persistence, dry-run planning, and fresh-install handling
|
|
- includes comprehensive tests and project documentation for the initial public release
|
|
|
|
## 2026-04-07 - 1.0.0 - Initial release
|
|
|
|
Initial public release of `@push.rocks/smartmigration` — a unified migration runner for MongoDB (smartdata) and S3 (smartbucket).
|
|
|
|
- Builder-style step definition: `migration.step(id).from('1.0.0').to('1.1.0').up(async ctx => { ... })`
|
|
- Single unified data version (semver), tracked in a ledger
|
|
- Mongo ledger (default when `db` provided) backed by smartdata's `EasyStore`
|
|
- S3 ledger (default when only `bucket` provided)
|
|
- Sequential, idempotent execution: `run()` is a no-op once data is at `targetVersion`
|
|
- Per-step lock with TTL to serialize concurrent SaaS instances
|
|
- Resumable steps via `.resumable()` and `ctx.checkpoint`
|
|
- Fresh-install fast path via `freshInstallVersion` option
|
|
- Dry-run mode
|