tarpc-plugins
Proc macros for tarpc.
0.15.0
9.2M downloads/mo
#3254 most downloaded on crates.io
google/tarpc
What this package is like to depend on
Last release 11 days ago
12 Aug 2026
Release timing varies
gaps range from 3 weeks to 2.3 years
Some releases are documented
notes for 7 of 19 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
20 releases · first in 2017
1 release in the last 12 months
see the full history below
Release timeline
20 releases · Mar 2017 to Aug 2026Releases
latest 20-
0.15.012 Aug 2026Nothing published for this version
-
0.14.127 Mar 2025 -
0.14.027 Oct 2024 -
0.13.121 Jan 2024Release notes
Open source →Fixes
Proc macros are more hygienic, so that there will be less collisions in symbol names between generated and user code. See https://github.com/google/tarpc/pull/420 for an example of the problems that will (hopefully) no longer occur.
-
0.13.030 Dec 2023Release notes
Open source →Breaking Changes
Version 0.13 marks a significant departure from previous versions of tarpc. The API has changed significantly. The tokio-proto crate has been torn out and replaced with a homegrown rpc framework. Additionally, the crate has been modularized, so that the tarpc crate itself contains only the macro code.
New Crates
- crate rpc contains the core client/server request-response framework, as well as a transport trait.
- crate bincode-transport implements a transport that works almost exactly as tarpc works today (not to say it's wire-compatible).
- crate trace has some foundational types for tracing. This isn't really fleshed out yet, but it's useful for in-process log tracing, at least.
All crates are now at the top level. e.g. tarpc-plugins is now tarpc/plugins rather than tarpc/src/plugins. tarpc itself is now a very small code surface, as most functionality has been moved into the other more granular crates.
New Features
- deadlines: all requests specify a deadline, and a server will stop processing a response when past its deadline.
- client cancellation propagation: when a client drops a request, the client sends a message to the server informing it to cancel its response. This means cancellations can propagate across multiple server hops.
- trace context stuff as mentioned above
- more server configuration for total connection limits, per-connection request limits, etc.
Removals
- no more shutdown handle. I left it out for now because of time and not being sure what the right solution is.
- all async now, no blocking stub or server interface. This helps with maintainability, and async/await makes async code much more usable. The service trait is thusly renamed Service, and the client is renamed Client.
- no built-in transport. Tarpc is now transport agnostic (see bincode-transport for transitioning existing uses).
- going along with the previous bullet, no preferred transport means no TLS support at this time. We could make a tls transport or make bincode-transport compatible with TLS.
- a lot of examples were removed because I couldn't keep up with maintaining all of them. Hopefully the ones I kept are still illustrative.
- no more plugins!
-
0.12.022 Sep 2021Nothing published for this version
-
0.11.014 Apr 2021Nothing published for this version
-
0.10.011 Mar 2021Release notes
Open source →Breaking Changes
Fixed rustc breakage in tarpc-plugins. These changes require a recent version of rustc.
-
0.9.028 Dec 2020 -
0.8.027 Jun 2020Release notes
Open source →Breaking Changes
This release updates tarpc to use serde 1.0. As such, users must also update to use serde 1.0. The serde 1.0 release notes detail migration paths.
-
0.7.012 Dec 2019Nothing published for this version
-
0.6.121 Sep 2019Nothing published for this version
-
0.6.021 Sep 2019 withdrawnNothing published for this version
-
0.5.127 Mar 2019Nothing published for this version
-
0.5.017 Oct 2018Nothing published for this version
-
0.4.012 Jul 2018Nothing published for this version
-
0.3.010 Apr 2018Nothing published for this version
-
0.2.018 Sep 2017Nothing published for this version
-
0.1.122 Apr 2017Nothing published for this version
-
0.1.031 Mar 2017Nothing published for this version