Skip to content

release: v0.3.0#87

Merged
joaoh82 merged 1 commit intomainfrom
release/v0.3.0
May 4, 2026
Merged

release: v0.3.0#87
joaoh82 merged 1 commit intomainfrom
release/v0.3.0

Conversation

@joaoh82
Copy link
Copy Markdown
Owner

@joaoh82 joaoh82 commented May 4, 2026

Summary

Bumps every product manifest from 0.2.0 → 0.3.0 and refreshes Cargo.lock.

Headline change: #86 (SQLR-2) added the DEFAULT clause on CREATE TABLE columns, DROP TABLE / DROP INDEX with IF EXISTS, and ALTER TABLE with the four SQLite-style sub-operations (RENAME TO, RENAME COLUMN, ADD COLUMN, DROP COLUMN). Minor bump (new SQL surface, no breaking changes).

Files touched

  • 11 manifest files via scripts/bump-version.sh 0.3.0
  • 3 inter-workspace dependency pins patched manually (script gap — see below)
  • Cargo.lock refreshed

Note on the release workflow

The release-pr.yml workflow failed at the cargo build step:

error: failed to select a version for the requirement \`sqlrite-ask = "^0.2"\`
candidate versions found which didn't match: 0.3.0

scripts/bump-version.sh updates the package-level version = "X.Y.Z" field in every manifest, but doesn't update the inter-workspace dependency version specs that other workspace members declare on each other:

  • Cargo.toml:141sqlrite-ask = { version = "0.2", ... }
  • sqlrite-mcp/Cargo.toml:55sqlrite-engine = { version = "0.2", ... }
  • sdk/wasm/Cargo.toml:49sqlrite-ask = { version = "0.2", ... }

These were patched manually for this release. Filing a follow-up to fix the script so the next release goes through the workflow cleanly.

Test plan

  • `cargo build --workspace --exclude sqlrite-desktop --exclude sqlrite-python --exclude sqlrite-nodejs --all-targets`
  • `cargo test --workspace --exclude sqlrite-desktop --exclude sqlrite-python --exclude sqlrite-nodejs` — 421 passing, 1 ignored
  • CI green
  • On merge: tag `v0.3.0` cut by `release-publish.yml`; crates.io publish runs in the documented order (sqlrite-ask → sqlrite-engine → sqlrite-ffi → sqlrite-mcp → SDK crates)

🤖 Generated with Claude Code

Bumps every product manifest from 0.2.0 → 0.3.0 (engine, sqlrite-ask,
sqlrite-ffi, sqlrite-mcp, four SDK crates, desktop, Tauri config) and
the three inter-workspace dependency pins that `bump-version.sh`
currently misses (engine→sqlrite-ask, sqlrite-mcp→engine, wasm
SDK→sqlrite-ask). Refreshes Cargo.lock.

Headline change: PR #86 (SQLR-2) added DEFAULT clause on CREATE TABLE
columns, DROP TABLE / DROP INDEX with IF EXISTS, and ALTER TABLE with
the four SQLite-style sub-operations (RENAME TO, RENAME COLUMN, ADD
COLUMN, DROP COLUMN).

Note: the release-pr.yml workflow's bump step failed with
`failed to select a version for the requirement \`sqlrite-ask = "^0.2"\``
because bump-version.sh doesn't update inter-workspace path-dep
version specs. Filing a follow-up to fix the script; for this release
the three pins were patched manually.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@joaoh82 joaoh82 merged commit be871bc into main May 4, 2026
15 checks passed
joaoh82 added a commit that referenced this pull request May 4, 2026
…-9) (#88)

* fix(release): bump-version.sh rewrites inter-workspace dep pins (SQLR-9)

The release-pr.yml dispatch for v0.3.0 failed at `cargo build` with
`failed to select a version for the requirement sqlrite-ask = "^0.2"`
because bump-version.sh updated the package-level `version = "X.Y.Z"`
field in 11 manifests but ignored the three `version = "..."` pins
that workspace crates declare on each other (engine→sqlrite-ask,
sqlrite-mcp→engine, wasm SDK→sqlrite-ask). PR #87 patched those by
hand; this change makes the script handle them automatically.

Approach: detect any TOML line containing both `version = "..."`
and `path = "..."`, rewrite the version to the full bumped semver.
This is unambiguous in the repo (no false positives) and handles
both inline-table orderings. Future workspace crates added with the
same path+version shape get rewritten with no script changes.

The rewrite uses the full X.Y.Z[-pre][+build] form (e.g. "0.3.0",
not "0.3"), which catches drift inside a minor and works with the
prerelease-dispatch path. Visible effect on the next release PR:
the three pins flip from "0.3" to "0.3.0".

Also extends the verify loop to flag any surviving same-line
`path = ... version = ...` pin not at the bumped version, so a
future refactor that changes pin shape (e.g. multi-line deps) fails
loudly instead of silently producing a broken release branch.

Verification:
- bump-version.sh 9.9.9-test rewrites all three pins (both
  inline-table orderings).
- Re-running with the same arg is byte-exact idempotent.
- `cargo build --workspace --exclude sqlrite-desktop ...` resolves
  cleanly — the original SQLR-9 failure mode no longer reproduces.
- Verify-loop logic confirmed against a staled-pin fixture.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(release): fix off-by-one file counts in bump-version.sh banner

The header docstring said "eight Cargo.toml / pyproject.toml files,
plus three JSON manifests — eleven files total" and the footer said
"the ten-file bump". TOML_FILES has nine entries (root engine, ffi,
ask, mcp, python ×2, nodejs, wasm, desktop) plus three JSON manifests
= twelve total.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant