Skip to main content
Arcium releases coordinate the CLI, Rust crates, TypeScript packages, and Arx node image. Start with versioning and compatibility to choose an upgrade path. For every upgrade, synchronize all Arcium components, then rebuild and test: each entry below lists additional release-specific actions.
September 14, 2026
Upgrade impact
  • Existing applications: No Arcis source changes from v0.14.1. Generated typed callbacks and Anchor programs require no source changes. Synchronize all Arcium dependencies, rebuild, and test.
  • TypeScript applications: No source changes from v0.14.1.
  • Node Operators: Update the Arx node image to arcium/arx-node:v0.15.0. Distributed preprocessing is opt-in: a node_config.toml written before this release parses unchanged and keeps the trusted dealer.
Changes
  • Preprocessing: Adds distributed (Cerberus) preprocessing as an alternative to the trusted dealer, enabled with distributed_preprocessing in node_config.toml. Generate the per-node seed once with arcium generate-cerberus-seed. Every node in a cluster must use the same parallel_preprocessing_bundlers. See node setup.
  • MXE authority: Adds the arcium set-mxe-authority command, and the instruction behind it, for transferring an MXE to a new authority such as a multisig vault. See deployment.
  • Computation definitions: Accepts a computation definition when cu_amount >= circuit_weight rather than only on exact equality, so a circuit can get cheaper without invalidating definitions already registered on chain. A value below the circuit weight is still rejected.
  • Arcis: Adds sort_by_cached_key, and fixes .. patterns in slices, div_ceil, each_mut, and a family of empty-array and empty-iterator cases. See supported operations.
  • Performance: Reduces mxe_keygen by 24.5% and add_together_test by 11.5%, with smaller gains across most circuits.
  • Reliability: Adds a timeout to protocol initialization so a stuck peer no longer blocks the execution pool, makes a failure after the first MXE initialization transaction resumable, and snapshots per-peer stake so fee splits no longer drift after a membership change.
July 29, 2026
Upgrade impact
  • Existing applications: Generated typed callbacks require no source changes. Synchronize all Arcium dependencies, rebuild, and test.
  • Callback integrations: The first callback instruction must target the owning MXE, callback accounts cannot be signers, and custom accounts cannot reuse the node callback authority or Arx account.
  • Raw callbacks: Call RawComputationOutputs::verify_output before consuming raw output. See Handle raw outputs.
  • Program IDL: init_key_recovery_execution_part1 removes its two instruction arguments; the original and backup MXE program accounts remain required. queue_key_recovery_init removes the mxe_program account but retains the mxe_program argument for PDA derivation.
  • Node Operators: Update the Arx node image to arcium/arx-node:v0.14.1.
Changes
  • Local development: Adds preview support for Surfpool through arcium test --validator surfpool and arcium localnet --validator surfpool. The legacy validator remains the default.
  • Callbacks: A callback_cu_limit of 0 derives the limit from simulation and retries compute-budget exhaustion with a higher limit. A non-zero value remains fixed.
  • TypeScript reader: subscribeComputations now resolves after the RPC server acknowledges the log subscription. The timeout defaults to 10 seconds and supports { ackTimeoutMs }.
  • Rust client: Adds fallible try_queue_key_recovery_init and try_reclaim_expired_computation_fee helpers and uses confirmed commitment in arcium_program_client.
  • Security and reliability: Tightens callback, computation, migration, key-recovery, and raw-output validation; redacts shared Rescue keys from logs; and routes deterministic callback failures through failure claims.
July 15, 2026
Upgrade impact
  • Existing applications: No source changes from v0.13.1. Existing initialized MXEs are unaffected.
  • New MXE deployments: Sign initialization with the deployed program’s upgrade authority. Immutable programs cannot initialize a new MXE.
  • Node Operators: Update the Arx node image.
Changes
  • Deployment: Checks the program upgrade authority before queuing MXE initialization. See the deployment guide.
  • Arx node: Reconnects stale subscriptions, applies the RPC slot buffer to computation-account fetches, tightens minimum-context checks, and supports local circuit loading.
  • Node services: Prevents the rewards server from persisting states that cannot be anchored.
July 10, 2026
Upgrade impact
  • Existing applications: No source changes from v0.12.x.
Changes
  • Arcis: Adds all six range-slicing shapes, forward RangeFrom iteration, additional unary operations, and bitwise and shift operations on integer types. See supported operations.
  • TypeScript: Adds @arcium-hq/staking with staking account readers, PDA helpers, and instruction builders.
  • Performance: Caches Rescue cipher keys between operations.
  • Circuit sources: Reserves local circuit sources for internal MXE workflows.
July 3, 2026
Upgrade impact
  • Existing applications: No source changes from v0.11.x.
Changes
  • Arcis: Adds the Default trait and qualified self paths such as <T as Trait>::item. See supported operations.
June 25, 2026
Upgrade impact
  • Existing applications: No source changes from v0.11.1.
Changes
  • Arcis: Optimizes AES circuits with a Boyar-Peralta S-box implementation.
  • MXE initialization: Validates recovery peers before submission, rejects duplicate peers in the TypeScript client, and initializes recovery-stake state with initMxePart2.
  • Program: Corrects the program epoch duration.
June 24, 2026
Upgrade impact
  • Protocol and accounts: Existing state remains compatible.
  • Existing applications: Add skip_init_mxe_part1 to direct calls to arcium_client::transactions::init_mxe.
  • Staking CLI scripts: Pass --amount and --new-balance values in whole ARX instead of base units.
Changes
  • Rust client: Adds skip_init_mxe_part1 to init_mxe so initialization can resume without repeating the first transaction.
  • CLI: Converts staking amount inputs from whole ARX to base units and corrects the ARX token mint.
  • Staking: Adds primary-stake modification and minimum-stake checks for execution pools.
June 22, 2026
Upgrade impact
  • Baseline: v0.11 is the oldest release covered by the maintained compatibility guidance. Existing MXE, Cluster, and computation-definition accounts remained compatible when upgrading from v0.10. Projects still on v0.10 or older should request a project-specific path in Arcium Discord.
  • Applications upgrading from v0.10: Had to add callback_cu_limit to every queue_computation call, then rebuild and redeploy.
  • Node Operators upgrading from v0.10: Had to add fallback RPC and computation-limit settings.
Changes
  • Arcis: Adds enums and Option<T>. See supported types.
  • Callbacks: Supports additional instructions.
  • TypeScript: Adds computation fee getters to @arcium-hq/reader.