Skip to content

v0.3.0

Choose a tag to compare

@Kilerd Kilerd released this 22 Jul 08:42
· 46 commits to main since this release
e874e10

Breaking release. Published to crates.io: gotcha, gotcha_core, gotcha_macro all at 0.3.0.

Highlights

gotcha_core — lightweight Schematic

The Schematic trait, EnhancedSchema, and all data-type impls now live in a new gotcha_core crate whose default dependency tree has no axum/tokio/tower. A crate can now derive and use Schematic without pulling in the whole web framework. gotcha re-exports everything, so use gotcha::Schematic; keeps working.

ParameterProvider and Responsible also live in gotcha_core (behind an optional, off-by-default axum feature that gotcha enables) — their blanket impls over Schematic are only coherent in the crate that defines Schematic.

Removed Cloudflare Worker support

The cloudflare_worker feature, the worker dependency, all worker-specific code paths, the example, and the CF worker CI jobs are gone.

⚠️ Migration

Any crate that derives Schematic must add gotcha_core to its own Cargo.toml:

gotcha_core = "0.3"

The Schematic derive expands to absolute ::gotcha_core:: paths, and Rust's extern prelude only sees direct dependencies. This is one line and no code change (use gotcha::Schematic; still works). Without it you'll get error[E0433]: cannot find gotcha_core in the crate root.

The cloudflare_worker feature no longer exists — remove it from your feature lists.

🤖 Generated with Claude Code