release: 0.3.0 - #17
Merged
Merged
Conversation
Bumps __version__ and dates the changelog section. The changelog section is rewritten rather than merely retitled. It had accumulated across five development batches and was written as a diff against unreleased intermediate states: bullets said "ADV001 *now* requires…" and "ADV003 *no longer* proposes…", which is meaningless to someone meeting `advise` for the first time in this release, and the whole `### Fixed` section described bugs in code that has never shipped — implying users experienced them. Four of its entries were not fixes at all but features (`--dry-run`, connection resolution, the extras, cursor and COPY unwrapping), and two were internal test infrastructure. So: `Fixed` is gone, with a one-line note saying why, since a first release of a command has no previously-released behaviour to fix. Its features moved to `Added`. The two shipped behaviours worth keeping from it — the `--ddl` line-boundary guarantee and ADV004's coverage disclosure — are stated as properties of what ships rather than as repairs. A `Known limitations` section now carries the thing a user most needs at install time: Redshift's introspection SQL has never run against a live cluster, what *is* verified, and the invitation to check it with `--dry-run`. Two accuracy fixes while there: the reconciliation bullet said "the eight rules" when there are now sixteen across three families, and it described only Postgres's prefix collapse — Redshift's strategy collapse (DISTSTYLE ALL withholding DISTKEY) was undocumented. And the `co_occurring_fingerprints` evidence key, a public `--json` field, was only mentioned in a bullet whose delta framing I dropped, so it is now stated on its own terms. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Cuts 0.3.0 — the release that makes
adviseavailable. 182 commits and five developmentbatches have landed on
mainsincev0.2.0, all of it invisible to anyone whopip installsthe package.
__version__→0.3.0## [Unreleased]→## [0.3.0] - 2026-08-03The changelog section is rewritten, not just retitled. It had accumulated across five
batches and read as a diff against unreleased intermediate states — "ADV001 now requires…",
"ADV003 no longer proposes…" — which says nothing to someone meeting
advisefor the firsttime here. More importantly the whole
### Fixedsection described bugs in code that has nevershipped, which implies users hit them. Four of its ten entries weren't fixes at all but features
(
--dry-run, connection resolution, the optional extras, cursor/COPYunwrapping), and two wereinternal test infrastructure that belongs in git history.
Fixedis therefore gone, with a one-line note explaining that a first release has nopreviously-released behaviour to fix. Its features moved to
Added, and the two shippedbehaviours worth keeping — the
--ddlline-boundary guarantee and ADV004's coverage disclosure —are now stated as properties of what ships rather than as repairs.
A
Known limitationssection carries what a user most needs at install time: Redshift'sintrospection SQL has never been executed against a live cluster, precisely what is verified
(connection path against a real server, every statement syntax-checked and proven bindable), and
the invitation to check it with
--dry-runbefore pointing it at production.Two accuracy fixes found while editing: the reconciliation bullet said "the eight rules" when
there are now sixteen across three families, and described only Postgres's prefix collapse —
Redshift's strategy collapse (
DISTSTYLE ALLwithholdingDISTKEY, so an operator doesn't runone hours-long rewrite and then a second undoing it) was undocumented. And
co_occurring_fingerprints, a public--jsonfield, survived only inside a bullet whose deltaframing I dropped, so it is now stated on its own terms.
Version choice: minor, not major.
adviseis a new command; the existingcomplexity,lint,perfandchecksurfaces are unchanged.After merge I'll push the bare-semver tag
0.3.0— notv0.3.0— which triggersrelease.ymlto build, publish to PyPI via trusted publishing, and create the GitHub release.
Verification
980 passed, 23 deselected— zero skips23 passedintegration against livepostgres:16ruff check,ruff format --check,mypy src/sqlqualitycleansqlquality --versionreports0.3.0