You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As suggested in #310 (comment), it would be great if we could communicate breaking changes to users in a safe way.
My idea for implementing this would be as follows:
Add a disko.stateVersion option, together with a warning that the user should set it, and that not having it set will become an error in the next major version
Add an assertion that will make sure that the internal disko.__currentVersion option has the same major version as disko.stateVersion. If it isn't, just print an error that explains what to set disko.stateVersion to.
Add this option to all documentation as well
Update the release script to update the versions in the documentation on every release
Set the list of allowed versions to [ "1.9" ]
Release the next minor version (v1.9.0)
This will introduce the option without disrupting anything, and will give users time to add the new option to their configuration.
We can still add new options in a backwards-compatible way during minor releases by using config.warnings or mkRenamedOptionModule.
Now, when we want to release breaking changes, we only need to change disko.__currentVersion and modify the error message. We can either link to an upgrade guide or explain which changes need to be made directly in the error, depending on the complexity.
At this point, evaluating a disko config with an incompatible version of disko will always fail, which is the safest thing to happen.
The text was updated successfully, but these errors were encountered:
As suggested in #310 (comment), it would be great if we could communicate breaking changes to users in a safe way.
My idea for implementing this would be as follows:
disko.stateVersion
option, together with a warning that the user should set it, and that not having it set will become an error in the next major versiondisko.__currentVersion
option has the same major version asdisko.stateVersion
. If it isn't, just print an error that explains what to setdisko.stateVersion
to.[ "1.9" ]
This will introduce the option without disrupting anything, and will give users time to add the new option to their configuration.
We can still add new options in a backwards-compatible way during minor releases by using
config.warnings
ormkRenamedOptionModule
.Now, when we want to release breaking changes, we only need to change
disko.__currentVersion
and modify the error message. We can either link to an upgrade guide or explain which changes need to be made directly in the error, depending on the complexity.At this point, evaluating a disko config with an incompatible version of disko will always fail, which is the safest thing to happen.
The text was updated successfully, but these errors were encountered: