23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
|
|
# Changelog
|
||
|
|
|
||
|
|
## 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
|