Skip to content

fix(features): make HTTP/1 serving a required dependency - #118

Merged
Kilerd merged 2 commits into
mainfrom
fix/http1-feature-boundary
Sep 14, 2026
Merged

Kilerd merged 2 commits into
mainfrom
fix/http1-feature-boundary

Conversation

@Kilerd

@Kilerd Kilerd commented Sep 14, 2026 •

Copy link
Copy Markdown
Owner

Gotcha still exposes an optional http1 switch left over from Cloudflare Worker support. A standalone consumer with default-features = false fails inside the library at axum::serve, although HTTP serving is now a required framework capability.

Enable Axum's http1 and tokio features directly on the dependency and remove gotcha's obsolete http1 feature. All startup APIs remain unconditional, including with defaults disabled. Update the examples, feature matrix, and migration documentation to match.

Compatibility: remove "http1" from explicit gotcha feature lists. Default application behavior is unchanged; OpenAPI, metrics, CORS, static files, and tasks remain optional. gotcha_core remains available for schema-only libraries.

Validation:

  • A standalone consumer checks all four startup entry points with defaults disabled, both with and without openapi, without workspace feature unification.
  • CI runs the existing startup and lifecycle tests with defaults disabled, in addition to the existing feature matrix and derive consumers.

Local validation passed: standalone consumers, gotcha tests and doctests with defaults disabled and with all features, workspace Clippy with warnings denied, formatting, and documentation builds with warnings denied.

All 11 Rust CI checks passed on bc2838b0a5443a3484713aab6a292601cc3609ae.

Fixes #116.

@Kilerd Kilerd changed the title fix(features): gate HTTP startup on http1 fix(features): make HTTP/1 serving a required dependency Sep 14, 2026
@Kilerd
Kilerd merged commit e5335d5 into main Sep 14, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[features] Make HTTP/1 serving a required dependency

1 participant