Problem
A recent pull request introduced a regression in project serialization by renaming an existing action.
Action names are part of the serialized project format. Existing projects reference these names when they are loaded. Renaming an action therefore breaks deserialization of projects that were created with previous versions of ManiVault Studio.
Expected behavior
Once an action has been introduced and its name is used for serialization, it should be considered part of the serialized file format and must remain stable.
If an action needs to be renamed for display purposes, the serialized identifier should remain unchanged, or a backward-compatibility mechanism should be implemented.
Actual behavior
The pull request renamed an existing action, causing older projects to fail to deserialize correctly because the expected action name can no longer be found.
Impact
- Breaks backward compatibility with existing project files.
- Prevents older projects from being loaded correctly.
- Introduces an avoidable serialization regression.
Proposed solution
- Restore the original serialized action name.
- Document that serialized action names are part of the project file format and must not be changed without providing a migration or aliasing mechanism.
Problem
A recent pull request introduced a regression in project serialization by renaming an existing action.
Action names are part of the serialized project format. Existing projects reference these names when they are loaded. Renaming an action therefore breaks deserialization of projects that were created with previous versions of ManiVault Studio.
Expected behavior
Once an action has been introduced and its name is used for serialization, it should be considered part of the serialized file format and must remain stable.
If an action needs to be renamed for display purposes, the serialized identifier should remain unchanged, or a backward-compatibility mechanism should be implemented.
Actual behavior
The pull request renamed an existing action, causing older projects to fail to deserialize correctly because the expected action name can no longer be found.
Impact
Proposed solution