Skip to main content



This release of Juno introduces several significant improvements, particularly in the Console, as we prepare for potential decentralization.

Key updates include a shift to a single canister architecture, the implementation of stable memory, and a new proposal mechanism for changes.


ModuleVersionBreaking changes
Mission Control0.0.11
CratesVersionBreaking changes
LibraryVersionBreaking changes
CLIVersionBreaking changes
PluginsVersionBreaking changes
DockerVersionBreaking changes


Here is a list of changes included in this release:

Console (Backend)

The Console received the major changes of the release, which are the following:

Single Canister Architecture

Previously, the Console was deployed using two smart contracts: a backend (cokmz-oiaaa-aaaal-aby6q-cai) and a frontend (xxt4w-7iaaa-aaaak-ad7rq-cai). However, there is no inherent need to separate the frontend assets into a distinct smart contract. Consolidating to a single architecture simplifies maintenance and administration, particularly if it becomes governed by a governance.

As a result, the frontend canister (xxt4w-7iaaa-aaaak-ad7rq-cai) will be deprecated. Moving forward, the backend canister (cokmz-oiaaa-aaaal-aby6q-cai) will handle both data and asset provision, serving the administration console on the web.

Stable Memory

Given Juno's ownership model, which grants developers full control, the Console maintains minimal data, primarily a list of Mission Control IDs matched to User IDs. This list is used to connect developers with their realms upon logging into the dApp.

Adopting stable memory is recommended, especially as extending the Console with HTTP capabilities involves storing frontend assets in heap memory. Migrating the list of IDs to stable memory not only aligns with best practices but also supports future scalability.


To prepare for a potential decentralization, both processes of uploading new assets and releasing WASM (of the Satellite, Mission Control, and Orbiter) have been implemented with a proposal mechanism.

This means that changes won't be applied directly but will first be uploaded to the stable memory, and for each change, a proposal will be generated. This proposal can then potentially be proposed to governance, and if accepted, the changes will only be applied once approved.

Collections and Storage Crates

The Console will inherit the same storage and web capabilities as Satellites. On one hand, these are currently the most powerful asset solutions on the Internet Computer. On the other hand, it makes sense to use the same technology for both, as this allows one to inherit the improvements made for the other.

That is why these related features have been extracted to two new crates, junobuild-collections and junobuild-storage.

Wasm Memory Limit

Based on our experience and developer feedback, we have observed that canisters cannot be upgraded once their heap memory exceeds 1 GB. Consequently, both the CLI and Console UI issue warnings when this threshold is approached. To enforce this limit, any new Mission Control, Satellite, or Orbiter (analytics) will now be created with a 1 GB Wasm memory limit.

Console (Frontend)

The console UI/UX has been improved as follows:


  • Detach Orbiter and Satellite, i.e., remove those segments from the list of managed projects in your Mission Control.
  • Upload assets in the Storage, which is useful to update or edit assets manually.
  • New Chinese translations thanks to @bytesun.
  • Redo the classic rounded spinner.
  • Make the call to action to clear collections more comprehensive.


  • Fix glitchy title appearance.
  • Remove the illustration on the dashboard.


  • Logo in navigation always points to home.


The Satellites have been updated as follows:


  • Prevent using reserved system keywords when creating new collections.
  • Storage and collections features extracted to new crates junobuild-collections and junobuild-storage.


  • Storage asset owner should not be updated on asset overwrite.


  • Bump DFINITY Rust libraries.

Mission Control

The Mission Control have been updated as follows:


  • Add set_satellite and unset_satellite to support features to attach or detach Satellites.
  • Implement unset_orbiter to allow developers to detach Orbiter (note that attaching was already available).


  • Bump DFINITY Rust libraries.


No changes.


No changes.


Please refer to the releases for details.


Please refer to the releases for details.


Please refer to the releases for details.

GitHub Action

Please refer to the releases for details.


Please refer to the releases for details.