Tracking issue for feat/native-bindings, so the work is findable rather than sitting on a branch nobody remembers.
Status
Parked deliberately. It targets a major release rather than a patch, so it is not being folded into v0.1.20.
Branch: origin/feat/native-bindings, 9 commits, last touched 2026-08-22. Never opened as a PR.
d04105e fix: gate a newly bound package against an empty base
cfc65d2 ci: build and gate the generated bindings
b99772a feat: dogfood the binding engine on soothfast-demo
35e53f2 docs: document the binding engine
7137d43 fix: build soothfast-measure for musl
9445a52 feat: gate the exported surface in soothfast.lock
512ca3f feat: add bind gen, gate, build and publish
1368121 feat: add the soothfast-bind engine
dbcc4f2 feat: register exports with #[soothfast::export]
Scope
A new soothfast-bind engine (43 files) generating native bindings for a Rust crate, dogfooded on a new soothfast-demo crate (23 files) that emits Python, JS/wasm and C bindings.
#[soothfast::export] registers an item's exported surface, in the same linkme pattern the other registries use.
bind gen | gate | build | publish in the CLI (10 files under cargo-soothfast).
- The exported surface becomes a gated claim in
soothfast.lock, so a binding's public API cannot drift silently.
- Supporting edits to
soothfast-macros, soothfast-registry, soothfast-measure (perfcnt, runner, plus a musl build fix) and soothfast-docs (lockfile, markdown).
- A CI job building and gating the generated bindings.
Why it is a major release
It adds a workspace crate, a macro, a CLI noun, and a new gated surface in the lockfile. That is a minor-or-major shaped change, not something to slip into a patch alongside bug fixes.
Before reviving
Tracking issue for
feat/native-bindings, so the work is findable rather than sitting on a branch nobody remembers.Status
Parked deliberately. It targets a major release rather than a patch, so it is not being folded into v0.1.20.
Branch:
origin/feat/native-bindings, 9 commits, last touched 2026-08-22. Never opened as a PR.Scope
A new
soothfast-bindengine (43 files) generating native bindings for a Rust crate, dogfooded on a newsoothfast-democrate (23 files) that emits Python, JS/wasm and C bindings.#[soothfast::export]registers an item's exported surface, in the samelinkmepattern the other registries use.bind gen | gate | build | publishin the CLI (10 files undercargo-soothfast).soothfast.lock, so a binding's public API cannot drift silently.soothfast-macros,soothfast-registry,soothfast-measure(perfcnt,runner, plus a musl build fix) andsoothfast-docs(lockfile,markdown).Why it is a major release
It adds a workspace crate, a macro, a CLI noun, and a new gated surface in the lockfile. That is a minor-or-major shaped change, not something to slip into a patch alongside bug fixes.
Before reviving
soothfast-demodogfood crate ships in the workspace or stays a fixture.