Skip to content

ef92bf3: chore: prepare 0.46.0 release (#707)

Choose a tag to compare

@github-actions github-actions released this 04 Mar 19:03
· 34 commits to main since this release
ef92bf3
* feat(ic-utils): update management canister interface for ic-management-canister-types 0.7.1

- Re-export new types: CanisterLogFilter, CanisterMetadataArgs,
  CanisterMetadataResult, MemoryMetrics, RenameCanisterRecord, RenameToRecord
- Add CanisterMetadata variant to MgmtMethod enum
- Add canister_metadata() query method
- fetch_canister_logs() now takes FetchCanisterLogsArgs directly
- Snapshot methods drop the redundant canister_id parameter, deriving
  effective canister ID from the args struct
- take_canister_snapshot/load_canister_snapshot force sender_canister_version
  to None (irrelevant for agent callers)
- Add LogMemoryLimit attribute type and with_log_memory_limit/
  with_optional_log_memory_limit setters to CreateCanisterBuilder and
  UpdateCanisterBuilder
- Handle MgmtMethod::CanisterMetadata in icx effective-canister-id resolution

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor(ic-utils): remove with_optional_xxx builder methods

These methods provided no real value: the builder already starts with
None for all fields, so passing None was a no-op equivalent to not
calling the method at all. The non-None case is covered by the existing
with_xxx methods.

Inline the implementation directly into each with_xxx method and remove
the now-redundant with_optional_xxx variants. Update ref-tests to drop
the "no change" calls that relied on them.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: prepare for 0.46.0 release

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: update code for reqwest 0.13 and rand 0.10 API changes

- reqwest: replace removed `rustls-tls-webpki-roots`/`rustls-tls` features
  with `rustls` in ic-agent and icx-cert
- rand: replace removed `thread_rng()`/`OsRng` with `rand::rng()`,
  `gen()` with `random()` via `RngExt`
- ref-tests: generate k256/p256 keys from raw bytes to avoid rand_core
  version mismatch between rand 0.10 (rand_core 0.9) and k256/p256 (rand_core 0.6)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: update getrandom to 0.4 with wasm_js feature for wasm32-unknown-unknown

rand 0.10 pulls in getrandom 0.4 which requires the `wasm_js` feature
(renamed from `js` in 0.2) to support wasm32-unknown-unknown targets.
Also update the test to use the new `getrandom::fill` API.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: centralize all dependency versions in workspace Cargo.toml

Move all inline dependency versions from crate Cargo.toml files into
[workspace.dependencies] and use `workspace = true` in each crate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: upgrade der to 0.8.0 and import it via pkcs8::der in ic-agent

der 0.8.0 is incompatible with pkcs8 0.10.x (which re-exports der 0.7).
Remove der as a direct dependency from ic-agent and import it through
pkcs8::der instead, ensuring trait compatibility with PrivateKeyInfo
and SubjectPublicKeyInfo decode calls.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: bump strum to 0.28, sort Cargo.toml with cargo-sort

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: enable pem feature for ic-agent in ref-tests

After centralizing workspace dependencies with default-features = false,
ref-tests lost the pem feature needed for Secp256k1Identity::from_pem
and Prime256v1Identity::from_pem.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: cargo update

* chore: release 2026-03-04

* chore: sort Cargo.toml files and fix GenericArray deprecation warnings

- Sort Cargo.toml files with `cargo sort --workspace --grouped`
- Replace deprecated `GenericArray::from_slice` with `[u8; 32]::try_from(...).into()` in ic-agent test code
- Replace deprecated `GenericArray` type alias with `digest::Output<Sha256>` in ic-identity-hsm
- Use inline format args in icx-cert/src/pprint.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: scope needless_lifetimes allow to specific modules

Remove the workspace-level clippy lint rule and instead add
`#![allow(clippy::needless_lifetimes)]` only to the two modules that
need it. Also remove the now-unused `[lints] workspace = true` sections
from all member crates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: scope dependency features to crates that need them

Define features in workspace only when multiple crates share the exact
same feature set; otherwise declare features in individual crate
Cargo.toml files. Add a comment in workspace Cargo.toml documenting
this convention.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: cargo fmt

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>