Skip to content

fix(storage): respect MIN_RECORDING_VERSION in replay manifests#79

Merged
DriftN2Forty merged 3 commits into
JustinDevB:devfrom
DriftN2Forty:fix/min-recording-version-manifest
Jun 23, 2026
Merged

fix(storage): respect MIN_RECORDING_VERSION in replay manifests#79
DriftN2Forty merged 3 commits into
JustinDevB:devfrom
DriftN2Forty:fix/min-recording-version-manifest

Conversation

@DriftN2Forty

Copy link
Copy Markdown
Collaborator

Summary

  • stamp binary replay manifests with VersionUtil.MIN_RECORDING_VERSION instead of copying the exact writer version into minimumViewerVersion
  • keep recordedWithVersion as the exact plugin build that wrote the replay
  • bump the maintained compatibility floor to 1.5.0-alpha.1 and update tests to use MIN_RECORDING_VERSION for current-version roundtrips
  • document in AGENTS.md that replay-format or playback-breaking changes must bump VersionUtil.MIN_RECORDING_VERSION, including the manual Modrinth alpha lookup step when needed

Problem

Alpha-created recordings could be finalized with an overly strict manifest requirement because the archive finalizer wrote the current plugin version into both recordedWithVersion and minimumViewerVersion.

That made recordings created or recovered on prerelease lines look like they required an unrelated stable release, and once prerelease-aware version comparison was fixed, those replays were correctly rejected.

Fix

  • write recordedWithVersion = pluginVersion
  • write minimumViewerVersion = VersionUtil.MIN_RECORDING_VERSION
  • keep incompatibility tests explicit by mutating the manifest or envelope requirement when a test actually wants a mismatch
  • switch normal storage/export/codec tests away from hard-coded 1.4.0 runtime assumptions so they continue to reflect the maintained compatibility floor

Testing

  • mvn test

@DriftN2Forty DriftN2Forty merged commit b55f555 into JustinDevB:dev Jun 23, 2026
1 check passed
@DriftN2Forty DriftN2Forty deleted the fix/min-recording-version-manifest branch June 23, 2026 23:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant