NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3229 most downloaded on crates.io
Cap'n Proto code generation
Last release 2 months ago
02 Aug 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
148 releases · first in 2014
prepare for v0.27.0 release
prepare for v0.27.0 release
Adjust generated code for new RawEnumSchema constructor.
One column per quarter.
Avoid unreachable_pub warnings in generated code.
Use 4-space indents in generated code.
Add version numbers in toplevel comment of generated code.
Use new GeneratedCodeArena to avoid need for unsafe in generated code.
unsafe in generated code.Add local #[allow(unsafe_code)] annotations to generated code.
#[allow(unsafe_code)] annotations to generated code.Adjust generated code to use new constructors for constants and RawStructSchema.
Adjust generated dispatch code to properly disambiguate when an 'extends' interface method conflicts with another method.
Remove async block in generated code for streaming methods.
async block in generated code for streaming methods.Use f64::INFINITY instead of ::f64::INFINITY in generated code.
f64::INFINITY instead of ::core::f64::INFINITY in generated code.Update generated code of Server trait methods to take self as Rc .
Server trait methods to take self as Rc<Self>.Update generated code of Server traits to support async fn methods. What previously was a &mut self parameter is now &self. Therefore RPC objects must
Server traits to support async fn methods.
What previously was a &mut self parameter is now &self. Therefore
RPC objects must now add their own interior mutability as needed.
Cell or RefCell should suffice in most cases.await was added).Update minimum required version of capnp base crate, to account for new usage of impl Clone for capnp:: capability::Client.
Fix code generation for non-finite float point constants.
Use new capability::DynClientHook alias to avoid warnings in generated code.
capability::DynClientHook alias to avoid warnings in generated code.Use new introspect::panic_invalid_field_index() and introspect::panic_invalid_annotation_indices() functions so that generated code can pass Clippy wh
introspect::panic_invalid_field_index() and
introspect::panic_invalid_annotation_indices() functions so that
generated code can pass Clippy while still working on Rust 2015.Follow v0.21.0 release of other capnp crates.
Elide more lifetimes in generated code to make Clippy happy.
Add support for stream keyword.
stream keyword.Include new members_by_name field of RawStructSchema.
Fix overly-restrictive lifetimes in setters of certain list fields.
Update for lazier utf-8 validation.
Add the $Rust.option annotation for declaring fields to be optional.
$Rust.option annotation for declaring fields to be optional.CompilerCommand::crate_provides(), allowing cross-crate imports.Fix setters of enum fields with defaults.
Implement Debug for all generated struct Reader types.
Debug for all generated struct Reader types.Use core::marker instead of std::marker for pointer constants, for no_std compat.
core::marker instead of std::marker for pointer constants, for no_std compat.Generate explicit Clone and Copy impls for Reader structs.
::capnp::Word in generated code.capnp --version invocation before capnp compile, for better error reporting.Generate *_has() methods for capability fields.
*_has() methods for capability fields.Avoid ambiguous associated item in TryFrom implementations.
Fix clippy warnings in generated code.
Update code generation for removal of To16, FromU16, FromStructReader, FromStructBuilder.
To16, FromU16, FromStructReader, FromStructBuilder.Apply clippy lifetime elision suggestion in set_pointer_builder() in generated code.
Lots of style fixes and linting, including for generated code.
Support trait changes in capnp::traits.
Fix Clippy warnings in generated code.
Include name of method in unimplemented error messages.
unimplemented error messages.extends chain.Canonicalize order of type parameters from the bugfix for issue 260.
Fix bug in code generation for unions that don't use all of their enclosing struct's generic params.
Fix bug in code generation for generic groups.
Check that schema files exist before attempting to invoke the schema compiler.
Include LICENSE in published crate.
Add codegen::CodeGenerationCommand and deprecate codegen::generate_code().
Get generated code to pass the elided_lifetimes_in_paths lint.
Update for SetPointerBuilder no longer having a To type parameter.
SetPointerBuilder no longer having a To type parameter.Owned structs unconstructable. They are only intented to be used as types, not values.Fix some more clippy warnings in generated code.
Remove deprecated ToClient structs from generated code.
core instead of std in generated code.ToClient structs from generated code.Add CompilerCommand.capnp_executable().
CompilerCommand.capnp_executable().RustEdition enum.Generate code for new capnp::FromServer trait.
Add parentModule annotation to allow generated code to be included in a submodule.
parentModule annotation to allow generated code to be included in a submodule.Add rust.capnp file with name annotation for renaming items in generated Rust code.
name annotation for renaming items in generated Rust code.- Remove deprecated item.
Avoid generating some superfluous parentheses.
Remove unused experimental schema module.
schema module.Include the string "@generated" generated code.
Allow CompilerCommand to work even when OUT_DIR is not set.
Deprecate edition() configuration. Apparently the code we generate for Rust 2018 also works for Rust 2015 now.
Fix bug in code generation for generic interfaces.
Add support for pointer field defaults.
Update deprecation attributes, to satisfy clippy.
Your coding agent can read these notes before it upgrades. Set up the MCP server →