-
Notifications
You must be signed in to change notification settings - Fork 392
Add a skills for adding changelog entries and updating package versions #9781
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
0bcf8ed
ec23d17
1bc5f26
018f74c
7ae4307
cc13099
3ed4815
51ac779
a1c6d9b
d490532
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| --- | ||
| name: adding-changelog-entries | ||
| description: Use when documenting changes in CHANGELOG.md files for devtools_shared, devtools_app_shared, or devtools_extensions. | ||
| --- | ||
|
|
||
| # Adding Changelog Entries | ||
|
|
||
| When adding changelog entries to published packages (`devtools_shared`, `devtools_app_shared`, and `devtools_extensions`), follow these rules: | ||
|
|
||
| - **Check Publication State**: Never add an entry to an already published version (e.g. `# 12.1.0`). You MUST check which versions are published on pub.dev (e.g., at `https://pub.dev/packages/<package_name>/versions`) before determining section headers! If a version is not yet published, it should be suffixed with the next numeric `-wip` tag (e.g., `## 0.5.1-wip`) or follow the existing convention in the file, such as `(not released)`. You should also match the existing header level (H1 or H2) used for versions in that file. Avoid generic placeholder headers like `# WIP`! | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we direct the agent to
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Will address as a follow up pending @jonasfj's response. |
||
| - **New Version Headers**: If a version bump is required, you MUST first use the instructions in [updating-package-versions](../updating-package-versions/SKILL.md) to update the package version in `pubspec.yaml`, and then add a new header to the changelog file with the new version (e.g., `## 0.5.1-wip`) before adding your entries. | ||
| - **Accurately Distinguish Packages**: Ensure that the cleanups or edits applied to a specific package's changelog entries belong strictly to that package path (e.g., changes in `devtools_app` do not warrant entries in `devtools_shared`). | ||
| - **Conciseness and Accuracy**: Describe clearly what was changed and why. Avoid generic descriptions without context, such as "Fixes missing deprecation message". Indicate specifically what was added or removed. | ||
|
kenzieschmoll marked this conversation as resolved.
|
||
| - **User visible changes ONLY**: Only add entries in the changelog if the change is meaningful to consumers of the package. Do not include internal refactoring notes or other trivial changes that users do not care about. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
|
kenzieschmoll marked this conversation as resolved.
|
||
| name: updating-package-versions | ||
| description: Guides updating dependency versions in published packages to avoid mono-repo resolution failures. | ||
| --- | ||
|
|
||
| # Updating Package Versions | ||
|
|
||
| When updating dependency versions in published package `pubspec.yaml` files (`devtools_shared`, `devtools_app_shared`, and `devtools_extensions`), follow these rules to protect the local mono-repo workspace graph: | ||
|
kenzieschmoll marked this conversation as resolved.
|
||
|
|
||
| - **Version Decisions**: Decide if it should be a major, minor, or patch version based on your edits: | ||
| - **Breaking changes**: Major bump (+1 to first component, others reset to 0). E.g., removals of public constants, properties, getters/setters, or APIs. | ||
| - **New features or deprecation start**: Minor bump (+1 to second component, patch resets to 0). | ||
| - **Bug fixes and non-breaking changes**: Patch bump (+1 to third component). | ||
| - **Match Exact Versions**: Always use the **actual** version specified in the target package's `pubspec.yaml` file. | ||
| - **Suffix Preservation**: If a requested version contains a suffix like `-wip` (e.g., `13.0.0-wip`), the full string MUST be used in dependency constraints (e.g., `devtools_shared: ^13.0.0-wip`). | ||
| - **Prevent Graph Failures**: Do not drop the suffix or estimate the base version tags. Version solver operations will fail in the local workspace if dependencies point to published strings that can't be resolved in non-published repositories. | ||
| - **No Dependencies on Unpublished Packages**: Published packages (`devtools_shared`, `devtools_app_shared`, and `devtools_extensions`) MUST NOT depend on unpublished packages like `devtools_app` or `devtools_test`. | ||
| - **Resolution Testing**: After updating versions, run `flutter pub get` in the repository to ensure version solving is satisfied. If this returns errors, you should fix the errors and try again. | ||
| - **Updating devtools_app**: In `packages/devtools_app/pubspec.yaml`: | ||
| - Dependencies on published packages do not have version constraints. This is intentional; do not change this when updating versions. | ||
| - Always use the `dt update-version` tool to update the `devtools_app` version. | ||
| - This should only be updated for monthly releases and cherry pick releases, so perform this update only when explicitly asked to. | ||
Uh oh!
There was an error while loading. Please reload this page.