You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rename crate to sqlrite-engine on crates.io (lib name unchanged) (#17)
The `sqlrite` crate name on crates.io was already taken by an
unrelated project (RAG-oriented SQLite wrapper), which made the
v0.1.1 canary's `cargo publish` step fail with a 403. Rename the
published package to `sqlrite-engine`, keep the [lib] name and
[[bin]] name as `sqlrite` so downstream Rust code continues to
write `use sqlrite::…` with no change.
Workspace members depend on the engine via:
sqlrite = { package = "sqlrite-engine", path = "…" }
which keeps the import alias stable across the FFI shim, the
Python / Node.js / WASM SDKs, and the Tauri desktop app.
Also updates release.yml — `cargo publish -p sqlrite-engine`, the
per-release body's crates.io URL + TOML snippet, and the umbrella
release body's crates.io link — plus docs (release-plan, roadmap,
embedding) to match.
Per the never-reuse-a-tag policy, tags sqlrite-v0.1.1 /
sqlrite-ffi-v0.1.1 / v0.1.1 (created during the failed canary)
stay on main; the retry canary cuts v0.1.2.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/embedding.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -215,7 +215,7 @@ A fix in the Rust engine propagates through one wrapper update per language rath
215
215
216
216
Phase 6 lands GitHub Actions CI + release automation:
217
217
218
-
-**crates.io** — `sqlrite` crate
218
+
-**crates.io** — `sqlrite-engine` crate (published under a different name from the `sqlrite` lib target because the short name was already taken; users `cargo add sqlrite-engine` but still write `use sqlrite::…`)
219
219
-**PyPI** — `sqlrite` wheels (manylinux x86_64/aarch64, macOS universal, Windows x86_64)
Copy file name to clipboardExpand all lines: docs/roadmap.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -387,13 +387,15 @@ Jobs wired up in Phase 6d:
387
387
388
388
1.**detect** — parse version from commit message or dispatch input. Outputs `version` + `should_release`.
389
389
2.**tag-all** — idempotent: creates `sqlrite-vX.Y.Z`, `sqlrite-ffi-vX.Y.Z`, and umbrella `vX.Y.Z`; skips any tag that already exists so "Re-run failed jobs" works cleanly after a partial-failure scenario.
390
-
3.**publish-crate** — `cargo publish -p sqlrite --no-verify` using `CRATES_IO_TOKEN` from the `release` environment (required-reviewer gate applies). Creates the per-product GitHub Release `sqlrite-vX.Y.Z`.
390
+
3.**publish-crate** — `cargo publish -p sqlrite-engine --no-verify` using `CRATES_IO_TOKEN` from the `release` environment (required-reviewer gate applies). Creates the per-product GitHub Release `sqlrite-vX.Y.Z`. The crates.io name is `sqlrite-engine` because the short `sqlrite` name was taken by an unrelated project; the `[lib] name = "sqlrite"` preserves `use sqlrite::…` at the import site.
391
391
4.**publish-ffi** — matrix build of `libsqlrite_c` on Linux x86_64 (`ubuntu-latest`), Linux aarch64 (`ubuntu-24.04-arm`), macOS aarch64 (`macos-latest`), Windows x86_64 (`windows-latest`). Packages the cdylib + staticlib + `sqlrite.h` + README stub into a tarball, uploads to the `sqlrite-ffi-vX.Y.Z` GitHub Release. macOS universal (x86_64 + aarch64 lipo'd together) is a follow-up — MVP ships aarch64-only for Mac; add `macos-13` to the matrix if x86 demand materializes.
392
392
5.**finalize** — creates the umbrella `vX.Y.Z` GitHub Release with GitHub's native auto-generated notes (`generate_release_notes: true`). Body links to every per-product release from this wave.
393
393
394
394
Products whose publish jobs land in later phases (desktop, Python, Node.js, WASM, Go) aren't tagged yet — `tag-all` only creates tags for products that have an active publish job. Cleaner than creating empty releases for products we can't actually ship.
395
395
396
-
**Verification path**: push this branch → merge → dispatch `release-pr.yml` with version `0.1.1` → review the auto-opened PR → merge → approve the `release` environment prompt → watch crates.io show `sqlrite 0.1.1` + Release page show two per-product releases + umbrella release. Once that works end-to-end, 6e lands the desktop publish, and we bump to `v0.1.2` for the next canary.
396
+
**Verification path**: push this branch → merge → dispatch `release-pr.yml` with version `0.1.1` → review the auto-opened PR → merge → approve the `release` environment prompt → watch crates.io show `sqlrite-engine 0.1.1` + Release page show two per-product releases + umbrella release. Once that works end-to-end, 6e lands the desktop publish, and we bump to `v0.1.2` for the next canary.
397
+
398
+
> **v0.1.1 canary retrospective***(2026-04-22)* — first publish attempt failed on `cargo publish` with a 403 because the `sqlrite` crate name on crates.io is owned by an unrelated RAG-SQLite project. Renamed the package to `sqlrite-engine` (lib / bin names unchanged, so `use sqlrite::…` still works for consumers). Tags `sqlrite-v0.1.1` / `sqlrite-ffi-v0.1.1` / `v0.1.1` stay on main per the never-reuse-a-tag policy; the next canary cuts `v0.1.2` under the new crate name.
0 commit comments