Skip to content

Update 8.0.x with rust-server from master and remove support for rust-server-deprecated#23582

Draft
dsteeley wants to merge 1 commit intoOpenAPITools:8.0.xfrom
dsteeley:remove_rust-server-deprecated
Draft

Update 8.0.x with rust-server from master and remove support for rust-server-deprecated#23582
dsteeley wants to merge 1 commit intoOpenAPITools:8.0.xfrom
dsteeley:remove_rust-server-deprecated

Conversation

@dsteeley
Copy link
Copy Markdown
Contributor

@dsteeley dsteeley commented Apr 17, 2026

@wing328 I noticed you had the 4th of May on the 8.0.0 release milestone so I'm starting this as a PR to remove the rust-server-deprecated generator in that release.

I think this is as simple as a catchup with master and then removing all references to rust-server-deprecated. If that's something you want in a separate PR (i.e. here) please say. I've not yet been part of a major release of openapi-generator and keen to help get that in however you prefer.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package || exit
    ./bin/generate-samples.sh ./bin/configs/*.yaml || exit
    ./bin/utils/export_docs_generators.sh || exit
    
    (For Windows users, please run the script in WSL)
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • File the PR against the correct branch: master (upcoming 7.x.0 minor release - breaking changes with fallbacks), 8.0.x (breaking changes without fallbacks)
  • If your PR solves a reported issue, reference it using GitHub's linking syntax (e.g., having "fixes #123" present in the PR description)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

Summary by cubic

Syncs 8.0.x with the latest rust-server from master and removes the rust-server-deprecated generator. Modernizes the Rust server/client templates with better multipart support, a new CLI, TLS defaults, and hyper 1 updates.

  • New Features

    • Adds a generated CLI (bin/cli.rs), runnable with cargo run --bin cli --features=cli.
    • Enables TLS by default via a new client-tls feature (uses hyper-tls or hyper-openssl based on target).
    • Improves multipart handling (form and multipart/related) with new request/response templates.
    • Optional request/response validation (feature = "validate") using serde_valid/validator.
    • Updates runtime stack to hyper 1 with hyper-util, http_body_util::BoxBody, and TokioIo; refreshes examples and samples.
    • Adds a CI workflow to build rust-server samples.
  • Migration

    • Replace rust-server-deprecated with rust-server and regenerate.
    • Update auth imports: use headers::authorization::{Basic, Bearer} and swagger::auth::Authorization.
    • Adjust custom code to hyper 1 types (Incoming, http_body_util::BoxBody, hyper_util::rt::TokioIo, hyper::server::conn::http1).
    • Keep TLS by enabling client-tls if you customize features.
    • Use the new CLI with --features=cli; enable validate if you need runtime validation.

Written for commit 2a25cd5. Summary will update on new commits.

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.

1 participant