NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3560 most downloaded on crates.io
Shared utilities between Diplomat macros and code generation
Last release 1 months ago
20 Aug 2026
Ships fairly regularly
a new release about every 2 months
Rarely documented
notes for 3 of 25 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
25 releases · first in 2021
One column per quarter.
Per discussion in #1235 , we now have a dedicated Zulip chat for contributors, maintainers, and anyone curious about Diplomat: https://diplomat.zulipc
Per discussion in #1235, we now have a dedicated Zulip chat for contributors, maintainers, and anyone curious about Diplomat: https://diplomat.zulipchat.com. Anyone interested in Diplomat is welcome, and no account is needed to browse the channels1.
The Diplomat runtime is moving towards stabilization, so we're implementing a few changes in how we release the diplomat-runtime crate while we move towards diplomat-runtime 1.0.0.
Our goal is to reduce churn for users using multiple diplomat crates in one build. Because diplomat-runtime exposes no_mangle functions, you can only have one copy at a time linked in to a binary. Once we have diplomat-runtime 1.0.0 we will not have these issues at all, but until then, we are going to limit the number of new 0.x.0 releases of diplomat-runtime we make.
Previously, diplomat 0.x.0 would always be accompanied by diplomat-runtime 0.x.0 to make it easy to match dependencies, since there is no formal dependency between diplomat and diplomat-runtime. Now, when using diplomat 0.x.0, please use the latest 0.y.z version of diplomat-runtime where y ≤ x. Once we release diplomat-runtime 1.0.0, this will be simpler, just use 1.0.
generating_struct_fields has been renamed to generate_definition_includes, since this is now used for structs and traits (e75e064)Error and Exception to classes/enums which are used as errors and exceptions (#1220) (Contributed by mosuem and Robert Bastian)You will have to make an account to chat, however. ↩
We've upgraded to syn v3 to stay up to date with newer minor releases of syn
syn v3We've upgraded to syn v3 to stay up to date with newer minor releases of syn (#1228)
Diplomat used to have a .NET backend with the old AST representation. This was removed since we transitioned to the HIR representation, and existing users have been on an old fork of the AST-based backend. Thankfully, first-time contributor irvingoujAtDevolution has been hard at work implementing the new HIR-based .NET backend:
#1164 (co-authored with Claude Code), #1180, #1186, #1191, #1189, #1194, #1195, #1193 (co-authored with Claude Sonnet 4.6), #1201, #1216, #1214, #1213, #1215, #1226, #1225, #1230, #1231
Diplomat Core's MSRV is now 1.88, which enables support for procedural macro locations, which are used in new AST error reports. These new reports highlight line/file information instead of panicking with minimal context. There's a pretty printer that uses annotate-snippets (enabled by default in the tool, enabled elsewhere with the feature flag "pretty-print"), and an ugly printer (uses no extra dependencies, enabled by default in the macro).
This was accomplished in two steps: first, we added proc_macro2::Span information to AST. Subsequently, we made five PRs to replace existing panic!, .expect, and assert! calls in the AST parser with these more detailed reports:
#1172, #1177, #1183, #1206, #1208
#[diplomat::include] for including macro definitions from other files (#917)IndexErrorable indexing operationsdiplomat::result (Contributed by Mark Molinaro and Claude Opus 4.6)Update Diplomat to 0.15.0
Update Diplomat to 0.15.0 (#1095)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →