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: anode_config.tomlwritten before this release parses unchanged and keeps the trusted dealer.
- Preprocessing: Adds distributed (Cerberus) preprocessing as an alternative to the trusted dealer, enabled with
distributed_preprocessinginnode_config.toml. Generate the per-node seed once witharcium generate-cerberus-seed. Every node in a cluster must use the sameparallel_preprocessing_bundlers. See node setup. - MXE authority: Adds the
arcium set-mxe-authoritycommand, 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_weightrather 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_keygenby 24.5% andadd_together_testby 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_outputbefore consuming raw output. See Handle raw outputs. - Program IDL:
init_key_recovery_execution_part1removes its two instruction arguments; the original and backup MXE program accounts remain required.queue_key_recovery_initremoves themxe_programaccount but retains themxe_programargument for PDA derivation. - Node Operators: Update the Arx node image to
arcium/arx-node:v0.14.1.
- Local development: Adds preview support for Surfpool through
arcium test --validator surfpoolandarcium localnet --validator surfpool. The legacy validator remains the default. - Callbacks: A
callback_cu_limitof0derives the limit from simulation and retries compute-budget exhaustion with a higher limit. A non-zero value remains fixed. - TypeScript reader:
subscribeComputationsnow 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_initandtry_reclaim_expired_computation_feehelpers and uses confirmed commitment inarcium_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.
- 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.
- Arcis: Adds all six range-slicing shapes, forward
RangeFromiteration, additional unary operations, and bitwise and shift operations on integer types. See supported operations. - TypeScript: Adds
@arcium-hq/stakingwith 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.
- Arcis: Adds the
Defaulttrait 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.
- 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_part1to direct calls toarcium_client::transactions::init_mxe. - Staking CLI scripts: Pass
--amountand--new-balancevalues in whole ARX instead of base units.
- Rust client: Adds
skip_init_mxe_part1toinit_mxeso 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_limitto everyqueue_computationcall, then rebuild and redeploy. - Node Operators upgrading from v0.10: Had to add fallback RPC and computation-limit settings.
- Arcis: Adds enums and
Option<T>. See supported types. - Callbacks: Supports additional instructions.
- TypeScript: Adds computation fee getters to
@arcium-hq/reader.