Skip to content

Releases: github/twirp-rs

twirp-v0.9.0

31 Jul 21:33
8c42065
Compare
Choose a tag to compare

Breaking

  • Remove SERVICE_FQN to avoid upgrade confusion (#222)

Breaking: Allow custom headers and extensions for twirp clients and servers; unify traits; unify error type (#212)

  • No more Context. The same capabilities now exist via http request and response Extensions and Headers.
  • Clients and servers now share a single trait (the rpc interface).
  • It is possible to set custom headers on requests (client side) and it's possible for server handlers to read request headers and set custom response headers.
  • The same ☝🏻 is true for extensions to allow interactivity with middleware.
  • All the above is accomplished by using http::request::Request<In> and http::response::Response<Out> where In and Out are the individual rpc message types.
  • We have unifyied and simplified the error types. There is now just TwirpErrorResponse which models the twirp error response spec.

Breaking: Generate service fqn (#221)

Applications will need to remove any manual service nesting they are doing today.

In 0.8.0, server consumers of this library have to know how to properly construct the fully qualified service path by using nest on an axum Router like so:

let twirp_routes = Router::new()
        .nest(haberdash::SERVICE_FQN, haberdash::router(api_impl));

This is unnecessary in 0.9.0 (the generated router function for each service does that for you). Instead, you would write:

let twirp_routes = haberdash::router(api_impl);

It is still canonical (but not required) to then nest with a /twirp prefix (the examples show this).

Other

  • Allow mocking out requests (#220)
  • Swap twirp and twirp-build readmes. Replace the repo readme with a symlink to twirp's readme. (#215)
  • Update the content of the readme (#216)
  • Include the readme in rustdoc (#225)

twirp-build-v0.9.0

31 Jul 21:34
8c42065
Compare
Choose a tag to compare

v0.8.0

24 Apr 15:57
Compare
Choose a tag to compare

This is the first official release of twirp and twirp-build. Unofficial community releases have been done under twirp-rs and twirp-build-rs, which should be considered as independent forks from this project going forward from this date.

The v0.8.0 version number has been chosen as the next logical version number following the GitHub Blackbird team's internal version bumps that were consumed internally, but not published to crates.io.

Going forward, the plan is to rely only on publicly-published versions of this crate, which should result in smaller and more frequent releases.

The changelog below is based on the difference between the community v0.3.0 release and the current release. Dependabot PRs have been removed from the list below because there were an annoying amount of them. It is safe to assume that all dependencies were substantially upgraded.

What's Changed

New Contributors

(Omitted since this is the first official release)

Full Changelog: https://github.com/github/twirp-rs/commits/v0.8.0

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy