We need to chat about this more to determine the safest way to do this; but here's a branch for it in case we decide to go forwards with it.
This removes codebase migrations from more than a year ago; primarily because they're causing a bit of a maintenance burden (any code referenced in an old migration can't be altered without also altering that old migration, and since migrations aren't actively tested, possibly breaking it).
Implementation notes
Removes old migrations from the migration map
Removes code which performs old migrations
Adds a new check which triggers for migrations too old for the current UCM to support, prints an error signalling to find an older UCM version to bridge the gap (or ask for help)
Interesting/controversial decisions
What's a reasonable end of life for old codebase versions?
Should we consider providing some separate binaries for migrating old code? Presumably the old UCM releases work just fine (but we should tag them with their supported schema version)
Test coverage
None yet, if we decide to go forward with it I'll test it out on old codebase versions to see what happens.
Overview
We need to chat about this more to determine the safest way to do this; but here's a branch for it in case we decide to go forwards with it.
This removes codebase migrations from more than a year ago; primarily because they're causing a bit of a maintenance burden (any code referenced in an old migration can't be altered without also altering that old migration, and since migrations aren't actively tested, possibly breaking it).
Implementation notes
Interesting/controversial decisions
What's a reasonable end of life for old codebase versions? Should we consider providing some separate binaries for migrating old code? Presumably the old UCM releases work just fine (but we should tag them with their supported schema version)
Test coverage
None yet, if we decide to go forward with it I'll test it out on old codebase versions to see what happens.