Repository navigation
v0.3.0
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