release: prepare 0.5.0 - #87
Conversation
Closes the [Unreleased] section as [0.5.0] and cuts the matching docs snapshot. 0.5 earns a snapshot rather than markers because it changes documented behaviour rather than only adding to it: `insert-without-columns` now fires on every row-inserting keyword and its message changed with it, `sqlguard explain --allow-dml` admits `REPLACE` and `UPSERT` where it previously refused them as unrecognized statements, and a query on MySQL is analyzed once per execution rather than once per attempt, which halves nothing in the N+1 counter any more. `/docs/` has to keep describing 0.4 for anyone still on it, and versions.json is now 0.5, 0.4, 0.3, 0.2 — exactly the four maxLiveVersions builds. Only the changelog and the snapshot are here. Per CONTRIBUTING the root tag comes first and the satellites are pinned to it afterwards, so the eight go.mod files still require v0.4.0 and are updated once v0.5.0 exists.
|
Skipping CodeAnt AI review — this PR is a back-merge between long-lived branches ( If you want to analyze this anyway (e.g. you resolved conflicts with new logic), comment |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: KARTIKrocks/sqlguard/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🏁 CodeAnt Quality Gate ResultsCommit: ✅ Overall Status: PASSEDQuality Gate Details
|
First of the two release PRs, per
CONTRIBUTING:
the root tag comes first, the satellites are pinned to it afterwards. The eight
go.modfiles still requirev0.4.0here and are updated oncev0.5.0exists.
What's in 0.5.0
Everything that accumulated under
[Unreleased]since 0.4.0 — four bug fixesin the insert-without-columns family (#68), the once-per-execution analysis fix
(#67), the parser parity test, and two behaviour changes.
Why this one gets a docs snapshot
VERSIONING.md rule 1: snapshot when a release changes documented behaviour, not
on every release. 0.5 changes it in three places, which is what the three
_Changed in 0.5._markers inwebsite/docs/record:insert-without-columnsfires on every row-inserting keyword now —REPLACE,UPSERT, theINTO-less forms — and its message changed with it.sqlguard explain --allow-dmladmitsREPLACEandUPSERT, which itpreviously refused as unrecognized statements.
so a configured N+1 threshold is no longer effectively halved.
/docs/has to keep describing 0.4 for anyone still on it.versions.jsonisnow
0.5, 0.4, 0.3, 0.2— exactly the fourmaxLiveVersionsbuilds, sonothing drops out of the window.
Verification
make cigreen (fmt-check, vet, lint, vuln, test-race, lint-docs across allnine modules).
GOWORK=off make testgreen — the run that resolves the satellites againstthe published v0.4.0 core rather than this tree, which is what a consumer
builds.
cd website && npm run checkgreen with the new snapshot in place (that iswhat the Docs workflow runs, and
onBrokenLinks: 'throw'means a badinternal link in the snapshot would fail it).
After this merges
git tag v0.5.0 && git push origin v0.5.0v0.5.0, verified withGOWORK=off.<mod>/v0.5.0tags.