Skip to content

Releases: epanipinto/MongoMigrationWebBasedUtility

v0.9.27 - v0.9.27 - self-heal when the change stream start point reaches pre-4.0 oplog entries

Choose a tag to compare

@github-actions github-actions released this 24 Sep 18:55
v0.9.27
c92afc3

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.27/MongoMigrationWebUtility-internal-v0.9.27.zip"
migration_vm_utility_release_zip_sha256 = "ADEB1C87C066DAF2B6740BD5E13798284424F24E9F784EBB2B500795D275AFE3"

What's Changed

  • fix(changestream): self-heal when the start point reaches pre-4.0 oplog entries by @epanipinto in #17

Full Changelog: v0.9.26...v0.9.27

v0.9.26 - v0.9.26 - log and recover when the change stream start point predates the oplog

Choose a tag to compare

@github-actions github-actions released this 23 Sep 23:28
v0.9.26
821f8dc

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.26/MongoMigrationWebUtility-internal-v0.9.26.zip"
migration_vm_utility_release_zip_sha256 = "FAABDBB03D28F005524C7F2DA75FA77C0403E5576B8E0C8C3A37CDD665038900"

What's Changed

  • fix(changestream): log and recover when the start point predates the oplog by @epanipinto in #16

Full Changelog: v0.9.25...v0.9.26

v0.9.25 - Release v0.9.25 - progress cadence fix for sub-threshold collections

Choose a tag to compare

@github-actions github-actions released this 06 Sep 20:57
v0.9.25
88da89d

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.25/MongoMigrationWebUtility-internal-v0.9.25.zip"
migration_vm_utility_release_zip_sha256 = "E79990E8EF3FF9C02512BFBC72FEFB7C6086526E0E7F7CDA9AEA07FA2B655FCD"

What's Changed

  • fix(copy): report progress for collections below the checkpoint threshold by @epanipinto in #15

Full Changelog: v0.9.24...v0.9.25

v0.9.24 - v0.9.24 - cutover and pause endpoints

Choose a tag to compare

@github-actions github-actions released this 06 Sep 17:41
v0.9.24
740797b

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.24/MongoMigrationWebUtility-internal-v0.9.24.zip"
migration_vm_utility_release_zip_sha256 = "75F20E0447ACF5664EBBFB55B8B55E8BA47C4FCFD5A4D2C5908DE9F21FEC8681"

What's Changed

  • feat: add cutover and pause endpoints to the migration job API by @epanipinto in #14

Full Changelog: v0.9.23...v0.9.24

v0.9.23 - v0.9.23 - mark a job as started when it is started over the API

Choose a tag to compare

@github-actions github-actions released this 06 Sep 16:25
v0.9.23
d658b51

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.23/MongoMigrationWebUtility-internal-v0.9.23.zip"
migration_vm_utility_release_zip_sha256 = "2D1F6CD5F06EABF7529ACEB2134264933BC078361E4DAD6907F52223FBEC13D2"

What's Changed

  • fix: mark a job as started when it is started over the API by @epanipinto in #13

Full Changelog: v0.9.22...v0.9.23

v0.9.22 - v0.9.22: resolve navigation against the application base URI

Choose a tag to compare

@github-actions github-actions released this 04 Sep 20:17
v0.9.22
189c24c

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.22/MongoMigrationWebUtility-internal-v0.9.22.zip"
migration_vm_utility_release_zip_sha256 = "70CC869414F8E7D876FE4CAC200A3880529A97746FCEF49664E6BE6F8E379326"

What's Changed

  • fix: resolve navigation against the application base URI by @epanipinto in #12

Full Changelog: v0.9.21...v0.9.22

v0.9.21 - v0.9.21: delete a single migration job over the API

Choose a tag to compare

@github-actions github-actions released this 04 Sep 16:59
v0.9.21
9217cbb

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.21/MongoMigrationWebUtility-internal-v0.9.21.zip"
migration_vm_utility_release_zip_sha256 = "3047AFFA90EF77756663890FD3139916D29E5E5DA4D01F8738F30F4647C88982"

What's Changed

  • feat: delete a single migration job over the API by @epanipinto in #11

Full Changelog: v0.9.20...v0.9.21

v0.9.20 - v0.9.20: persist imported connection strings so a job can resume with existing ones

Choose a tag to compare

@github-actions github-actions released this 04 Sep 02:47
v0.9.20
ef77782

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.20/MongoMigrationWebUtility-internal-v0.9.20.zip"
migration_vm_utility_release_zip_sha256 = "4734CE0129BE7F4E4CD0A301594B7A68CC588F82737C7BD02AFC25EB90A990F3"

What's Changed

  • fix: persist imported connection strings so a job can resume with existing ones by @epanipinto in #10

Full Changelog: v0.9.19...v0.9.20

v0.9.19 - feat: seedable per-collection copy options + CI and release automation

Choose a tag to compare

@github-actions github-actions released this 03 Sep 18:08
v0.9.19
a2b9919

Deploy this build by setting these on the Terraform migration VM:

migration_vm_utility_release_zip_uri    = "https://github.com/epanipinto/MongoMigrationWebBasedUtility/releases/download/v0.9.19/MongoMigrationWebUtility-internal-v0.9.19.zip"
migration_vm_utility_release_zip_sha256 = "B074A2EBA1B296E8EF623905EA23F0C4D5332F63DDF0138B866234A3EAE56EDE"

What's Changed

  • ci: add a build, test and package workflow for the fork changes by @epanipinto in #6
  • ci: publish a GitHub Release with the utility zip on a version tag by @epanipinto in #7
  • feat: make per-collection Overwrite and IndexingStrategy seedable by @epanipinto in #8
  • chore(release): bump to 0.9.19 by @epanipinto in #9

Full Changelog: v0.9.18...v0.9.19

v0.9.18 - start endpoint + connection strings survive a recycle

Choose a tag to compare

@epanipinto epanipinto released this 03 Sep 04:25
257c7d9

Internal fork release.

Added

  • POST /api/migration-jobs/{jobId}/start — start or resume a job without the UI. The body is optional; omit it to reuse the job's stored connection strings, or supply sourceConnectionString/targetConnectionString to rotate a credential. Mirrors the UI start path including the sync-back branch, reuses the existing loopback + X-Migration-App-Password guard, and returns 404 for an unknown job, 409 if a migration is already running or the job is complete, and 400 if the supplied connection strings resolve to different endpoints than the job recorded.

  • Connection strings now survive a recycle. They previously lived only in static in-memory dictionaries, so an app-pool recycle, iisreset or redeploy dropped them and a started job could not be resumed without re-entering them by hand. They are now encrypted with ASP.NET Core Data Protection to <state-store>/connections/<jobId>.dat. The key ring lives under the state store rather than the app directory, which a redeploy replaces; on Windows the key ring is itself encrypted with machine-scoped DPAPI. Entries are removed when their job is deleted.

Fixed

  • Auto-resume could never fire on a host with more than one job. ActiveMigrationJobId is a plain static that is never rehydrated from disk, and the recovery path was additionally gated on there being exactly one job. It now resumes the single job that is started, not completed and not cancelled.

  • The version shown in the page header was hardcoded and had been left at v0.9.15 through two releases. It is now set once in the csproj and read from the assembly, so it cannot drift again.

Verification

Built from the merged commit; the assembly informational version embeds that SHA. An 11-check harness compiled against the real ConnectionStringVault confirmed a fresh instance loads what a prior instance saved, that payloads on disk carry no plaintext credentials, and that corrupted payloads degrade to a miss rather than throwing.