Skip to content

chore: reset migration versions to 0 and drop old compatibility code - #9623

Open
rasswanth-s wants to merge 2 commits into
devfrom
rasswanth/migrations-remove-stale
Open

rasswanth-s wants to merge 2 commits into
devfrom
rasswanth/migrations-remove-stale

Conversation

@rasswanth-s

@rasswanth-s rasswanth-s commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Resets the migration system to a clean start. Every protocol and versioned object in syft, syft-job and syft-dataset is back at version 0, and the code that kept older releases (up to 0.10.1) working is removed. Older clients are refused with a clear message.

Changes

  • Versions reset to 0: all three protocols, their minimum supported versions, and every versioned object. Jobs live under v0/, and dataset collections use the v0 variant.
  • Old versions removed: older object classes and migrations, old job and dataset layouts, and the frozen release artifacts and fixtures of earlier releases. The next release freezes protocol-0.json.
  • Older releases refused clearly: a peer on an older release is reported as unsupported, and peering still completes. Logging in on an old SyftBox offers a fresh start. MIN_SUPPORTED_SYFT_VERSION is 0.10.2.
  • Other compatibility code removed: pre-hash job receipts, the old folder-wide review grant, the requests/ back-fill, '@' job names, skip_job_names and other deprecated options (full list in CHANGELOG.md).
  • Kept for future versions: the syft-migration framework, protocol negotiation and the release-fixture tooling. Fixture generators now run at each package's release tag, and docs/release.md lists that step.

Testing

  • Every unit CI suite passes. The one failure, syft-rds test_dataset_only_mock_data_uploaded, also fails on dev.
  • New tests cover refusing an unsupported peer and logging in on an old SyftBox.
  • Simulated the next release: the export freezes protocol-0.json for each package and the drift checks pass. The release-fixture tests pass against fixtures generated from this code.
  • Local runs: a stale setuptools build/ folder in a source checkout still holds the old history files and breaks local job runs. Remove it with rm -rf build.

Asana task

Every protocol (syft, syft-job, syft-dataset) and every versioned object
goes back to version 0. Older versions, migrations, layouts, release
artifacts and fixtures are removed, along with compatibility code for
releases up to 0.10.1. Older clients are refused with a clear reason,
and a login on an old SyftBox offers a fresh start.

The migration framework, protocol negotiation and the release-fixture
tooling stay, ready for the next version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The two test accounts are shared with every other run, including runs of
other releases. A SyftBox that an unsupported release wrote now stops the
login with an offer to start fresh, so the login tests remove both
accounts' SyftBoxes first, as the sync tests already do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant