PackageTrack
Sign in Get early access

parity-scale-codec-derive

Serialization and deserialization derive macro for Parity SCALE Codec

3.7.5 55M downloads/mo #1161 most downloaded on crates.io paritytech/parity-scale-codec

What this package is like to depend on

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

0 releases in the last 12 months

see the full history below

Release timeline

45 releases · Jul 2019 to May 2025
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 45
  1. 3.7.5 20 May 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v3.7.4...v3.7.5

    Open source →
  2. 3.7.4 07 Feb 2025
    Release notes

    What's Changed

    Full Changelog: v.3.7.3...v3.7.4

    Open source →
  3. 3.7.3 30 Jan 2025 withdrawn
    Release notes

    Release 3.7.3 (#690)

    Open source →
  4. 3.7.2 28 Jan 2025 withdrawn

    Nothing published for this version

  5. 3.7.1 27 Jan 2025 withdrawn

    Nothing published for this version

  6. 3.7.0 18 Nov 2024 withdrawn
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v3.6.8...v3.7.0

    Open source →
    Release notes

    Added

    • Allow decoding with a memory limit. (616)
    • Introduce CountedInput, an wrapper on Input that counts the bytes read. (630)

    Changed

    • This release bumps some dependencies, primarily bumping syn to 2. (#640).

    Fixed

    • Fix MaxEncodedLen derive macro for enum with skipped variant (#622)
    • Use MAX_PREALLOCATION consistently #605
    Open source →
  7. 3.6.12 08 May 2024
    Release notes

    Full Changelog: v3.6.11...v3.6.12

    Open source →
  8. 3.6.11 08 May 2024
    Release notes

    Full Changelog: v3.6.10...v3.6.11

    Open source →
  9. 3.6.10 08 May 2024
    Release notes

    What's Changed

    • chore(docs): Restore missing doc for codec-crate attribute by @gshep in #576
    • Bump proc-macro-crate to v3.1.0 in 3.6.x branch by @tdimitrov in #590

    New Contributors

    Full Changelog: v3.6.9...v3.6.10

    Open source →
  10. 3.6.9 29 Nov 2023
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v3.6.8...v3.6.9

    Open source →
  11. 3.6.8 11 Sep 2023 withdrawn
    Release notes

    What's Changed

    Full Changelog: v3.6.7...v3.6.8

    Open source →
  12. 3.6.8-alpha.1 10 Sep 2023 pre-release

    Nothing published for this version

  13. 3.6.7 08 Sep 2023 withdrawn
    Release notes

    What's Changed

    Full Changelog: v.3.6.6...v3.6.7

    Open source →
  14. 3.6.6 06 Sep 2023 withdrawn

    Nothing published for this version

  15. 3.6.5 29 Aug 2023

    Nothing published for this version

  16. 3.6.4 18 Jul 2023
    Release notes

    Added

    • Now #[derive(Encode)] implements the size_hint() method for structures and enumerations. This improves the performance of the encode() method by pre-allocating memory.
    Open source →
  17. 3.6.3 03 Jul 2023
    Release notes

    Fixed

    • Provide full path to elements from ::core in Decode derivation (caused compilation error when no-implicit-prelude was used).
    Open source →
  18. 3.6.2 30 Jun 2023
    Release notes

    Fixed

    • Trying to deserialize a boxed newtype containing a big array won't overflow the stack anymore.
    Open source →
  19. 3.6.1 19 Jun 2023
    Release notes

    Fixed

    • Deriving Decode will not trigger clippy warnings anymore
    Open source →
  20. 3.6.0 15 Jun 2023
    Release notes

    Added

    • Added Decode::decode_into to allow deserializing into unitialized memory.
    • Added a DecodeFinished type to be used with Decode::decode_into.

    Fixed

    • Trying to deserialize a big boxed array (e.g. Box<[u8; 1024 * 1024 * 1024]>) won't overflow the stack anymore.
    • Trying to deserialize big nested enums with many variants won't overflow the stack anymore.
    • Elements of partially read arrays will now be properly dropped if the whole array wasn't decoded.

    Changed

    • The derive macros will now be reexported only when the derive feature is enabled, as opposed to how it was previously where enabling parity-scale-codec-derive would suffice.
    • The max-encoded-len feature won't automatically enable the derive macros nor pull in the parity-scale-codec-derive dependency.
    Open source →
  21. 3.1.4 18 Jan 2023

    Nothing published for this version

  22. 3.1.3 10 Jun 2022
    Release notes

    Changed

    • Impl MaxEncodedLen for Box<T>. #349
    • Add decode_from_bytes. #342
    Open source →
  23. 3.1.2 17 Mar 2022
    Release notes

    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.

    Changed

    • Optimised the Decode::decode for [T; N] by @xgreenx. #299
    • Add some doc for the derive macro by @thiolliere. #301
    • Add bytes::Bytes implementation by @vorot93. #309
    • Upgrade to BitVec 1.0 by @bkchr. #311
    • BREAKING CHANGE: DecodeLimit and DecodeAll extensions now advance input by @wigy-opensource-developer. #314
    • Make CompactRef public by @andrenth. #321
    • Add ability to re-export parity-scale-codec crate by @gshep. #325
    • BitVec: Improve the encoding and consolidate the implementations by @bkchr. #327
    • Fix crate access by putting a leading :: by @bkchr. #328
    Open source →
  24. 3.1.0 12 Mar 2022

    Nothing published for this version

  25. 3.0.0 03 Feb 2022
    Release notes

    Fix

    • Optimised the Decode::decode for [T; N] #299

    Changed

    • Migrated to 2021 edition, enforcing MSRV of 1.56.1. #298
    • Upgrade to BitVec 1.0 #311
    • DecodeLimit and DecodeAll extensions now advance input #314

    Added

    • Add bytes::Bytes implementation #309
    Open source →
  26. 2.3.1 28 Sep 2021
    Release notes

    Fix

    • Improve macro hygiene of Encode and Decode proc. macro expansions. (#291, #293)
    Open source →
  27. 2.3.0 11 Sep 2021
    Release notes

    Added

    • decode_and_advance_with_depth_limit to the DecodeLimit trait. This allows advancing the cursor while decoding the input. PR #286
    Open source →
  28. 2.2.0 02 Jul 2021
    Release notes

    Added

    • Add support for custom where bounds codec(mel_bound(T: MaxEncodedLen)) when deriving the traits. PR #279
    • MaxEncodedLen 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.
    Open source →
  29. 2.2.0-rc.3 25 Jun 2021 pre-release

    Nothing published for this version

  30. 2.2.0-rc.2 24 Jun 2021 pre-release

    Nothing published for this version

  31. 2.2.0-rc.1 23 Jun 2021 pre-release

    Nothing published for this version

  32. 2.1.3 15 Jun 2021
    Release notes

    Changed

    • Lint attributes now pass through to the derived impls of Encode, Decode and CompactAs. PR #272
    Open source →
  33. 2.1.0 06 Apr 2021
    Release notes

    Fix

    • Add support for custom where bounds codec(encode_bound(T: Encode)) and codec(decode_bound(T: Decode)) when deriving the traits. Pr #262
    • Switch to const generics for array implementations. Pr #261
    Open source →
  34. 2.0.1 26 Feb 2021
    Release notes

    Fix

    • Fix type inference issue in Decode derive macro. Pr #254
    Open source →
  35. 2.0.0 26 Jan 2021
    Release notes

    Added

    • Decode::skip allows to skip some encoded types. Pr #243
    • Decode::encoded_fixed_size allows to get the fixed encoded size of a type. PR #243
    • Error now contains a chain of causes. This full error description can also be activated on no std using the feature chain-error. PR #242
    • Encode::encoded_size allows to get the encoded size of a type more efficiently. PR #245

    Changed

    • CompactAs::decode_from now returns result. This allow for decoding to fail from their compact form.
    • derive macro use literal index e.g. #[codec(index = 15)] instead of #[codec(index = "15")]
    • Version of crates 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.

    Removed

    • EncodeAppend::append is removed in favor of EncodeAppend::append_or_new.
    • Output::push is removed in favor of Encode::encode_to.
    • Some bounds on 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).
    Open source →
  36. 1.2.3 26 Feb 2021

    Nothing published for this version

  37. 1.2.2 07 Sep 2020

    Nothing published for this version

  38. 1.2.1 28 Jul 2020

    Nothing published for this version

  39. 1.2.0 03 Mar 2020

    Nothing published for this version

  40. 1.1.1 20 Dec 2019

    Nothing published for this version

  41. 1.1.0 13 Nov 2019

    Nothing published for this version

  42. 1.0.3 27 Sep 2019

    Nothing published for this version

  43. 1.0.2 29 Jul 2019

    Nothing published for this version

  44. 1.0.1 29 Jul 2019

    Nothing published for this version

  45. 1.0.0 17 Jul 2019 withdrawn

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive