@@ -111,6 +111,30 @@ pull request.
111111Open an issue at < https://github.com/firechip/cobs_codec/issues > with a minimal
112112reproduction: the input bytes, what you expected, and what you got.
113113
114+ ## Releasing
115+
116+ Publishing to pub.dev is automated from a signed ` v* ` tag, but the ** GitHub
117+ Release is created by hand — don't skip it.** The full checklist:
118+
119+ 1 . Bump ` version ` in [ ` pubspec.yaml ` ] ( pubspec.yaml ) and add a ` ## X.Y.Z ` section
120+ to [ ` CHANGELOG.md ` ] ( CHANGELOG.md ) . Validate with ` dart pub publish --dry-run ` .
121+ 2 . Commit (` chore: release X.Y.Z ` ) and tag it ** signed** :
122+ ` git tag -s vX.Y.Z -m "cobs_codec X.Y.Z" ` ; push ` main ` and the tag.
123+ 3 . The tag triggers [ ` publish.yml ` ] ( .github/workflows/publish.yml ) , which
124+ publishes to ** pub.dev** via automated publishing (OIDC) — no credentials.
125+ 4 . Create the ** GitHub Release** and attach the exact published archive:
126+
127+ ``` console
128+ curl -fsSL https://pub.dev/api/archives/cobs_codec-X.Y.Z.tar.gz \
129+ -o cobs_codec-X.Y.Z.tar.gz
130+ gh release create vX.Y.Z --verify-tag --title "cobs_codec X.Y.Z" \
131+ --notes-file notes.md cobs_codec-X.Y.Z.tar.gz
132+ ```
133+
134+ The description should mirror the pub.dev release: the ` CHANGELOG.md `
135+ highlights, an install snippet, and the
136+ ` pub.dev/packages/cobs_codec/versions/X.Y.Z ` link.
137+
114138## License
115139
116140By contributing, you agree that your contributions are licensed under the
0 commit comments