Files
smartmigration/changelog.md

1.7 KiB

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