Release 0.2.0 - #22
Merged
Merged
Conversation
Bumps the manifest and turns the Unreleased notes into a dated 0.2.0 section, following the "Publish a later version" steps in RELEASING.md. Cargo.lock is not committed, so nothing else carries the version. The changelog section is rewritten rather than just retitled: the notes written during the extension-receiver review covered that change and the umbrella's model changes, but omitted several user-visible ones. Added now — the `WriteKotlinError::Validation` variant, which breaks an exhaustive match; `KtClass::ctor_params()` becoming a method; the builder panics; and a Fixed section covering the dropped banner override, the `class Foo` / `val Foo` false positive, duplicate detection reaching into class bodies, all-diagnostics-at-once, and Raw deduplication. Running the release checks in full turned up a broken doc link that has been on main since the umbrella: `KtFile::validate` linked to `[module docs](self)`, but `validate` is a private module, so `RUSTDOCFLAGS="-D warnings" cargo doc` failed and docs.rs would have rendered a dangling link. Replaced with the substance — what is and is not covered, pointing at `Check`, which is public.
Contributor
There was a problem hiding this comment.
Pull request overview
Prepares the kotlin-codegen crate for the 0.2.0 release by bumping the manifest version, updating release notes, and fixing a rustdoc warning that would fail the documented release checks (RUSTDOCFLAGS="-D warnings").
Changes:
- Bump crate version to
0.2.0inCargo.toml. - Replace the prior “Unreleased” notes with a dated
0.2.0changelog section summarizing breaking changes, additions, and fixes. - Update
KtFile::validaterustdoc to avoid linking to a private module item and to more explicitly state validation scope/limits.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/validate.rs |
Fixes public rustdoc on KtFile::validate to avoid -D warnings failures and clarifies what validation does/doesn’t cover. |
CHANGELOG.md |
Adds the 0.2.0 - 2026-08-06 release section with detailed Added/Changed/Fixed entries. |
Cargo.toml |
Updates the crate version to 0.2.0 for the release. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release-preparation PR, following the "Publish a later version" steps in
RELEASING.md.
Cargo.toml→0.2.0CHANGELOG.mdgains a dated## 0.2.0sectionCargo.lockis not committed, so nothing else carries the version.Why 0.2.0
Three PRs have landed since
v0.1.0— #6, #20 and #21 — and the first and thirdchange the public model. Under SemVer a
0.xcrate signals incompatibility byraising the minor.
The changelog section is rewritten, not just retitled
The
Unreleasednotes written during the #21 review covered that change and theumbrella's model changes, but omitted several things a consumer would hit:
WriteKotlinErrorgained aValidationvariant — it is not#[non_exhaustive],so an exhaustive
matchon it stops compiling.KtClass::ctor_paramsbecame a method when the field moved into the kind.for anyone who was (unknowingly) constructing them.
dropped
banneroverride, theclass Foo/val Foofalse positive,duplicate detection not reaching into class bodies, merging reporting only the
first problem, and identical
Rawblocks being emitted twice.One fix included
Running the release checks in full turned up a broken doc link that has been on
mainsince the umbrella:validateis a private module, soRUSTDOCFLAGS="-D warnings" cargo doc— oneof the documented release checks, and what docs.rs effectively runs — failed.
Replaced with the substance of what is and is not covered, pointing at
Check,which is public. Worth noting it only surfaced because the release checklist
includes a check my earlier rounds had not been running.
Release checks
All of the commands in RELEASING.md, on a clean tree:
cargo fmt --all -- --check --config …cargo clippy --all-targets --all-features -- -D warningsRUSTDOCFLAGS="-D warnings" cargo doc --no-depscargo test --all-targets --all-featurescargo test --doccargo package--all-targetsexcludes doctests, socargo test --docis listed separately.After merging
Actions → Publish to crates.io → run from
mainwith version0.2.0(novprefix). A
dry_runrehearsal first is cheap. That workflow creates the tag andGitHub release; per RELEASING.md they should not be made locally.