Skip to content

build(deps): bump candid from 0.10.29 to 0.10.34 - #129

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/candid-0.10.31
Open

build(deps): bump candid from 0.10.29 to 0.10.34#129
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/candid-0.10.31

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 1, 2026

Copy link
Copy Markdown
Contributor

Bumps candid from 0.10.29 to 0.10.34.

Changelog

Sourced from candid's changelog.

Candid 0.10.34

  • Bug fixes:
    • Fix decoding a vec of fixed-width primitives into newtype elements (e.g. struct EventIndex(u32)), which failed with a spurious subtyping error since 0.10.27. The bulk decode fast path fed each element through serde's value deserializers, which do not implement deserialize_newtype_struct; they now go through a wrapper that forwards it, as the main deserializer does. Nested newtypes are unwrapped recursively.
    • Fix is_human_readable() reporting true for elements of a vec of fixed-width primitives, also since 0.10.27. The bulk decode fast path inherited serde's default from the same value deserializers, so a Deserialize impl that branches on it took its human-readable path inside a vec while taking the binary path everywhere else, silently decoding to a different value with no error. It now reports false for the whole decoder, as candid is a binary format.

Candid 0.10.33

  • Breaking changes:

    • Migrated from the deprecated binread crate to its successor binrw. The types in the candid::binary_parser module (Header, PrincipalBytes, Len, BoolValue) now implement binrw::BinRead instead of binread::BinRead, and From<binread::Error> for candid::Error is replaced by From<binrw::Error>.

      Released as a patch rather than a minor bump because the affected surface is limited to those trait impls. binary_parser is an internal wire-format parsing module that is pub only incidentally — it is used nowhere outside candid's own deserializer, and it is now #[doc(hidden)] to say so. Code is affected only if it depends on binread directly and names these impls; the wire format, decoder error messages, byte offsets, type layouts, and all function signatures are unchanged, so the worst case is a compile error rather than a behaviour change.

  • Non-breaking changes:

    • Decoding is faster as a side effect of the binrw migration, which drops binread's debug_template codegen: up to 37% fewer instructions on variant-heavy payloads (multi_arg −36.6%, result_variant −10.3%, large_variant −9.5%, subtype_decode −8.0%, double_option −7.0%), with no regressions.
    • Dropped the duplicate syn 1.x dependency tree that binread_derive pinned (along with rustversion).
    • A future unrecognized binrw::Error variant now degrades to a label-less error instead of panicking, since binrw::Error is #[non_exhaustive] and decoding runs on untrusted input.

2026-07-06

Candid 0.10.32

  • Non-breaking changes:
    • A service reference now decodes where a principal is expected: service <actortype> is a subtype of principal (spec addition: service <: principal, modelled analogously to nat <: int). The subtype checker and the deserializer accept a service reference at type principal; the two share an identical wire encoding, so the coercion is the identity on the reference. The reverse (a principal at a service type) remains rejected.

2026-07-03

ic_principal 0.1.5

  • Non-breaking changes:
    • Make Principal::as_slice(), Principal::len() and Principal::as_fixed_bytes() const functions.

2026-07-02

ic_principal 0.1.4

  • Non-breaking changes:
    • Add Principal::as_fixed_bytes(), returning a reference to the underlying fixed-size [u8; MAX_LENGTH_IN_BYTES] backing array. Bytes at index len() and beyond are always zero.
    • Add Principal::len(), returning the number of significant bytes in the Principal (equivalent to as_slice().len()).

2026-06-25

Candid 0.10.31

  • Non-breaking changes:
    • Encode and decode large Nat/Int values in linear time. Values beyond the u64/i64 fast path were previously processed one LEB128/SLEB128 group at a time, shifting the whole bignum on every byte (O(n²) in the encoded length); they now build the value in a single O(n) pass.

didc 0.6.2

  • Non-breaking changes:

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 1, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner July 1, 2026 01:23
@dependabot dependabot Bot added the rust Pull requests that update rust code label Jul 1, 2026
Bumps [candid](https://github.com/dfinity/candid) from 0.10.29 to 0.10.34.
- [Release notes](https://github.com/dfinity/candid/releases)
- [Changelog](https://github.com/dfinity/candid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dfinity/candid/commits)

---
updated-dependencies:
- dependency-name: candid
  dependency-version: 0.10.31
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title build(deps): bump candid from 0.10.29 to 0.10.31 build(deps): bump candid from 0.10.29 to 0.10.34 Jul 28, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/candid-0.10.31 branch from 1165541 to 967b8fa Compare July 28, 2026 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants