Skip to content

v0.4.1 — ships the prepared frankensqlite change; pins the nightly that ICEs

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 25 Aug 04:26
· 189 commits to main since this release

Small release that ships work which had been prepared and then left unshipped.

The workspace version was bumped to 0.4.1 by 3b71a61 chore(release): prepare sqlmodel-frankensqlite 0.4.1 on native-only fsqlite features, but it was never tagged or published — so crates.io stayed on 0.4.0 and the change sat in the tree. This tags and publishes it.

Changed

  • sqlmodel-frankensqlite builds against native-only fsqlite features. Verified in the published artifact rather than inferred: the sqlmodel-frankensqlite 0.4.1 .crate downloaded from crates.io declares fsqlite with features = ["native", "async-api", ...].
  • Collapsed a duplicate base64 (to 0.23.1) in the lockfile.
  • MSRV cargo check excludes the nightly-only frankensqlite driver.

Build — the nightly toolchain is now pinned by date

rust-toolchain.toml previously specified a floating channel = "nightly". As of 2026-08-22 that resolves to rustc 1.100.0-nightly (c54751567), which ICEs this workspace:

error: internal compiler error: unexpected rigid alias in layout_of after normalization:
  Alias(Yes, Alias { kind: Opaque { def_id:
  DefId(0:670 ~ sqlmodel_core[6dcd]::relationship::{impl#18}::load::{opaque#0}) }, .. })

on async opaque types in sqlmodel-core's relationship lazy-load and sqlmodel-mysql's async_connection, plus asupersync's connect_timeout.

Nothing in this repository was wrong — the compiler was. But a floating channel means an upstream regression lands here with no warning and no reproducible green build, and it looks like a code failure rather than a toolchain one. The channel is now pinned to nightly-2026-08-20, which clears it completely (0 ICEs). The rationale is written into rust-toolchain.toml itself so it does not get tidied away as an unexplained pin.

The same regression hit charmed_rust, which is now pinned to the same date. Sibling repositories that already pinned by date were unaffected throughout.

Gate

cargo fmt --check                                      exit 0
cargo clippy --workspace --all-targets -- -D warnings   exit 0   (0 ICEs)
cargo test --workspace --no-fail-fast                   1960 passed, 0 failed (40 suites)

crates.io

All twelve crates published at 0.4.1, in dependency order:

sqlmodel-console · sqlmodel-core · sqlmodel-frankensqlite · sqlmodel-macros · sqlmodel-mysql · sqlmodel-pool · sqlmodel-postgres · sqlmodel-query · sqlmodel-schema · sqlmodel-session · sqlmodel-sqlite · sqlmodel

Note on artifacts

sqlmodel_rust is a library workspace with no shipped binaries. The absence of downloadable binary assets here is intentional, not a failed build. crates.io is the distribution channel and the twelve crates above are the deliverable — cargo add sqlmodel is the install path. There is no installer and nothing to curl.

(For reference, the v0.4.0 release page carries no assets either, and the changelog records 0.3.1 as a crates.io-only release with no tag or GitHub Release at all, so this project has an established pattern of publishing through the registry rather than through release assets.)