Skip to content

build(deps): bump ic-agent from 0.47.3 to 0.49.2 - #137

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ic-agent-0.49.2
Open

build(deps): bump ic-agent from 0.47.3 to 0.49.2#137
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ic-agent-0.49.2

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps ic-agent from 0.47.3 to 0.49.2.

Changelog

Sourced from ic-agent's changelog.

[0.49.2] - 2026-07-23

  • ic-agent: The HTTP retry logic now also retries requests that fail with StatusCode::SERVICE_UNAVAILABLE (503), in addition to TOO_MANY_REQUESTS (429). This prevents non-idempotent calls from spuriously failing while polling for their status against a replica that is temporarily unhealthy (e.g. has no recent certified state, or a full ingress pool). Both status codes share the same retry bound (up to 6 retries).

[0.49.1] - 2026-07-20

  • ic-agent: Replaced the unmaintained backoff dependency with backon for the request_status polling backoff, using backon's ExponentialBackoff iterator directly. The schedule is unchanged (500ms initial delay, growing by 1.4x up to 1s, jittered). max_polling_time now bounds the cumulative backoff sleep (via backon's with_total_delay) rather than wall-clock elapsed time; in practice they differ only by per-poll request latency.

[0.49.0] - 2026-07-13

  • ic-utils: Bump ic-management-canister-types to 0.8.0.
    • Added with_snapshot_visibility setter to CreateCanisterBuilder and UpdateSettingsBuilder.
    • Added canister_metrics() to ManagementCanister.
    • Added list_canisters() method to ManagementCanister. This is a subnet-scoped, query-only management-canister method (callable only by subnet administrators); the request is routed to the subnet-scoped query endpoint via Agent::query_signed with an EffectiveId::Subnet.
    • Re-exported new types: SnapshotVisibility, CanisterIdRange, ListCanistersResult, CyclesConsumed, CanisterMetricsArgs, CanisterMetricsResult.
  • ic-utils: Added with_canister_settings(CanisterSettings) to CreateCanisterBuilder and UpdateSettingsBuilder, for callers that already hold a fully built CanisterSettings (e.g. decoded from config or forwarded from another call). It is currently mutually exclusive with the individual settings setters (with_controller, with_compute_allocation, …); building the call returns an error if the two are combined.
  • ic-utils: ManagementCanister::canister_status and canister_metrics now default to a cheap, non-replicated query call and return a QueryOrUpdateCall builder. Call .call().await for the query, or .as_update().call().await to issue a replicated update call instead (e.g. when a fully certified result is required). Query responses are replica-signed and verified by the agent unless query-signature verification is disabled. These are the only two management read methods the replica accepts as both query and update; fetch_canister_logs and list_canisters remain query-only per the interface spec.

Breaking Changes

  • ic-utils: The re-exported CanisterSettings and DefiniteCanisterSettings structs (from ic-management-canister-types 0.8.0) gained a snapshot_visibility field, controlling who may read a canister's snapshots. Neither struct is #[non_exhaustive], so code that constructs them with a struct literal must add the new field (snapshot_visibility: None on CanisterSettings, or the desired SnapshotVisibility).
  • ic-utils: ManagementCanister::canister_status no longer returns an impl AsyncCall and no longer performs a replicated update call by default. It now returns a QueryOrUpdateCall that defaults to a query call.
    • Migration: replace canister_status(&id).call_and_wait().await with canister_status(&id).call().await to accept the (cheaper) query, or canister_status(&id).as_update().call().await to preserve the previous replicated-update behavior.
  • ic-utils: The MgmtMethod enum gained CanisterMetrics and ListCanisters variants. MgmtMethod is not #[non_exhaustive], so exhaustive match expressions over it must add arms for the new variants.

[0.48.1] - 2026-07-07

  • ic-transport-types: Delegation, SignedDelegation, and DelegationPermissions now derive candid::CandidType, so they can be used directly in Candid interfaces (e.g. matching Internet Identity's Delegation/SignedDelegation types). The generated Candid maps the byte fields to blob and DelegationPermissions to variant { queries; all }; the added permissions field is opt, so the encoding stays subtype-compatible with delegation interfaces that omit it.

[0.48.0] - 2026-07-04

  • ic-transport-types / ic-agent: Added a permissions field to Delegation and a new DelegationPermissions enum (Queries | All) describing which request kinds a signed delegation authorizes, matching the IC interface-spec addition for read-only delegations. The field serializes as "queries"/"all" and is omitted when None, so existing delegations (which leave it None) hash and verify exactly as before. DelegationPermissions is re-exported from ic_agent::identity alongside Delegation and SignedDelegation.

Breaking Changes

  • ic-transport-types: Delegation gained a permissions: Option<DelegationPermissions> field. Delegation is not #[non_exhaustive], so code that constructs it with a struct literal must add permissions: None (or the desired value).
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ic-agent](https://github.com/dfinity/agent-rs) from 0.47.3 to 0.49.2.
- [Release notes](https://github.com/dfinity/agent-rs/releases)
- [Changelog](https://github.com/dfinity/agent-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dfinity/agent-rs/commits)

---
updated-dependencies:
- dependency-name: ic-agent
  dependency-version: 0.49.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Aug 1, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner August 1, 2026 01:23
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Aug 1, 2026
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