melos
melos copied to clipboard
Breaking changes for next major release
This issue is for collecting and discussing breaking changes for a future major release so that we can batch them and make it easier for users to migrate. We should create a migration guide when the time comes.
Features to remove
--since filter option
--diff (#323) does the same as --since but is more powerful. Having two options that have the same functionality can be confusing.
Options to enable per default
These options have been successively added and were not enabled by default to not break things. They are generally useful features that most users will want to have enabled.
- Enable
includeScopes(#341). - Enable
linkToCommits(#186), if repository is set. - Enable
workspaceChangelog(#161).
Move to dependency_overrides.yaml and Dart 2.18.0
We should consider removing support for bootstrapping with temporary packages and fully move to pubspec_overrides.yaml.
This would require moving to Dart 2.18.0 as the minimum supported version to ensure that publishing with dependency_overrides.yaml works without a workaround.
The advantages are:
- Users won't run into the issues related to temporary packages and get the improved integration with other tools.
- We don't have to maintain two mechanisms for bootstrapping.
- Between
2.12.0and2.18.0a number of useful language features were added.
Todo
Tasks that need to be completed, if we decide to move to dependency_overrides.yaml.
- [ ] Remove
usePubsecOverrides. - [ ] Remove temporary packages bootstrapping mechanism.
- [ ] Update docs to explain:
- how bootstrapping uses
dependency_overrides.yamlfiles. - that
dependency_overrides.yamlshould be ignored. - how
pub getworks in a bootstrapped workspace. - when
melos bootstrapneeds to be rerun.
- how bootstrapping uses
- [ ] Upgrade Dart version constraints.
Rework hooks
See #321.