NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1188 most downloaded on crates.io
Serialization and deserialization derive macro for Parity SCALE Codec
Last release 1 years ago
20 May 2025
Release timing varies
gaps range from 9 days to 6 months
Most releases are documented
notes for 21 of 33 stable releases
8 versions withdrawn
withdrawn after publishing
7 years old
45 releases · first in 2019
chore: max MaxEncodedLen derivation as automatically_derived by @saiintbrisson in #703
on_before_alloc_mem() for CountedInput by @serban300 in #716DecodeWithMemTracking bounds for Cow by @bkchr in #735Full Changelog: v3.7.4...v3.7.5
One column per quarter.
Fix breaking change: Do not enforce discriminant to be a literal + don't expect usize. by @gui1117 in #695
parity-scale-codec-derive version with =x.y.z. by @gui1117 in #696Full Changelog: v.3.7.3...v3.7.4
Release 3.7.3
Release 3.7.3 (#690)
Nothing published for this version
Nothing published for this version
Bump trybuild from 1.0.83 to 1.0.84 by @dependabot in #519
proc-macro-crate to 2.0.0 by @ascjones in #535MAX_PREALLOCATION consistently by @serban300 in #605MaxEncodedLen derive macro for enum with skipped variant by @gui1117 in #622CountedInput. a wrapper which counts the number of bytes successfully read by @gui1117 in #630Full Changelog: v3.6.8...v3.7.0
CountedInput, an wrapper on Input that counts the bytes read. (630)syn to 2. (#640).Full Changelog : v3.6.11...v3.6.12
Full Changelog: v3.6.11...v3.6.12
Full Changelog : v3.6.10...v3.6.11
Full Changelog: v3.6.10...v3.6.11
chore(docs): Restore missing doc for codec- crate attribute by @gshep in #576
crate attribute by @gshep in #576proc-macro-crate to v3.1.0 in 3.6.x branch by @tdimitrov in #590Full Changelog: v3.6.9...v3.6.10
Revert breaking changes, bump version to 3.6.9 by @ascjones in #545
proc-macro-crate to 2.0.0 by @ascjones in #5353.6.9 by @ascjones in #545Full Changelog: v3.6.8...v3.6.9
impl compact<()> for MaxEncodedLen by @pgherveou in #516
Full Changelog: v3.6.7...v3.6.8
Nothing published for this version
Update MaxEncodedLen derive macro by @pgherveou in #512
Full Changelog: v.3.6.6...v3.6.7
Nothing published for this version
Nothing published for this version
Now #[derive(Encode)] implements the size_hint() method for structures and enumerations. This improves the performance of the encode() method by pre-a
#[derive(Encode)] implements the size_hint() method for structures and enumerations.
This improves the performance of the encode() method by pre-allocating memory.Provide full path to elements from ::core in Decode derivation (caused compilation error when no-implicit-prelude was used).
::core in Decode derivation (caused compilation error when
no-implicit-prelude was used).Trying to deserialize a boxed newtype containing a big array won't overflow the stack anymore.
Deriving Decode will not trigger clippy warnings anymore
Decode will not trigger clippy warnings anymoreAdded Decode::decode_into to allow deserializing into unitialized memory.
Decode::decode_into to allow deserializing into unitialized memory.DecodeFinished type to be used with Decode::decode_into.Box<[u8; 1024 * 1024 * 1024]>) won't overflow the stack anymore.derive feature is enabled,
as opposed to how it was previously where enabling parity-scale-codec-derive would suffice.max-encoded-len feature won't automatically enable the derive macros nor pull in the
parity-scale-codec-derive dependency.Nothing published for this version
Impl MaxEncodedLen for Box . #349
BREAKING CHANGE: DecodeLimit and DecodeAll extensions now advance input by @wigy-opensource-developer. #314
Be aware that version 3.0.0. up to 3.1.1 contained some bugs in the BitVec encoder that could lead to an invalid encoding. Thus, we yanked these crate version and it is advised to upgrade to 3.1.2. Any release before 3.0.0 wasn't affected by this bug.
Decode::decode for [T; N] by @xgreenx. #299CompactRef public by @andrenth. #321:: by @bkchr. #328Nothing published for this version
Optimised the Decode::decode for [T; N] #299
Improve macro hygiene of Encode and Decode proc. macro expansions. (#291, #293)
decode_and_advance_with_depth_limit to the DecodeLimit trait. This allows advancing the cursor while decoding the input. PR #286
decode_and_advance_with_depth_limit to the DecodeLimit trait. This allows advancing the cursor while decoding the input. PR #286Add support for custom where bounds codec(mel_bound(T: MaxEncodedLen)) when deriving the traits. PR #279
codec(mel_bound(T: MaxEncodedLen)) when deriving the traits. PR #279MaxEncodedLen trait for items that have a statically known maximum encoded size. (#268)#[codec(crate = <path>)] top-level attribute to be used with the new MaxEncodedLen
trait, which allows to specify a different path to the crate that contains the MaxEncodedLen trait.
Useful when using generating a type through a macro and this type should implement MaxEncodedLen and the final crate doesn't have parity-scale-codec as dependency.Nothing published for this version
Nothing published for this version
Nothing published for this version
Lint attributes now pass through to the derived impls of Encode, Decode and CompactAs. PR #272
Encode, Decode and CompactAs. PR #272Add support for custom where bounds codec(encode_bound(T: Encode)) and codec(decode_bound(T: Decode)) when deriving the traits. Pr #262
codec(encode_bound(T: Encode)) and codec(decode_bound(T: Decode)) when
deriving the traits. Pr #262Fix type inference issue in Decode derive macro. Pr #254
Decode derive macro. Pr #254Decode::skip allows to skip some encoded types. Pr #243
Decode::skip allows to skip some encoded types. Pr #243Decode::encoded_fixed_size allows to get the fixed encoded size of a type. PR #243Error now contains a chain of causes. This full error description can also be activated on
no std using the feature chain-error. PR #242Encode::encoded_size allows to get the encoded size of a type more efficiently. PR #245CompactAs::decode_from now returns result. This allow for decoding to fail from their compact
form.#[codec(index = 15)] instead of #[codec(index = "15")]bitvec and generic-array is updated.Encode::encode_to now bounds the generic W: Output + ?Sized instead of W: Output.Output can now be used as a trait object.EncodeAppend::append is removed in favor of EncodeAppend::append_or_new.Output::push is removed in favor of Encode::encode_to.HasCompact::Type are removed.Error::what is removed in favor of Error::to_string (implemented through trait Display).Error::description is removed in favor of Error::to_string (implemented through trait Display).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 →