Any change that needs to be published in order to take effect must update the version in pubspec.yaml. There are very few exceptions:
- PRs that only affect tests.
- PRs that only affect example apps.
- PRs that only affect local development (e.g., changes to ignored lints).
- PRs that only make symbolic changes to the docs (e.g. typo).
And the new version must follow the pub versioning philosophy.
All version changes must have an accompanying CHANGELOG update. Even version-exempt changes should usually update CHANGELOG by adding a special NEXT
entry at the top of CHANGELOG.md
(unless they only affect development of the package, such as test-only changes):
## NEXT
* Description of the change.
## 1.0.2
...
This policy exists because some changes (e.g., updates to examples) that do not need to be published may still be of interest to clients of a package.
For consistency, all CHANGELOG entries should follow a common style:
- Use
##
for the version line. A version line should have a blank line before and after it. - Use
-
for individual items. - Entries should use present tense indicative for verbs, with "this version" as an implied subject. For example, "Adds cool new feature.", not "Add" or "Added".
- Entries should end with a
.
. - Breaking changes should be introduced with BREAKING CHANGE:, or BREAKING CHANGES: if there is a sub-list of changes.
## 2.0.0
- Adds the ability to fetch data from the future.
- **BREAKING CHANGES**:
- Removes the deprecated `neverCallThis` method.
- URLs parameters are now `Uri`s rather than `String`s.
## 1.0.3
- Fixes a crash when the device teleports during a network operation.
If you are adding a version change to a CHANGELOG that starts with NEXT
, and your change also doesn't require a version update, just add a description to the existing NEXT
list:
## NEXT
* Description of your new change.
* Existing entry.
## 1.0.2
...
If your change does require a version change, do the same, but then replace NEXT
with the new version. For example:
## 1.0.3
* Description of your new change.
* Existing entry.
## 1.0.2
...