Skip to main content

v0.0.63

Summary

This release brings major changes to the Juno Console to make the developer experience simpler, clearer, and more efficient.

Mission Control and Monitoring merged

Mission Control, the developer control center for managing Satellites and Orbiters, has been merged with Monitoring.

  • A Mission Control is now created only when a developer enables Monitoring
  • Monitoring is treated as a dedicated microservice

Benefits:

  • For developers: simpler, more straightforward experience
  • For Juno: acquisition costs for new developers are cut in half

Trade-offs:

  • The Console now tracks all containers created by developers (Satellites, Orbiters, and Mission Controls)
  • When Monitoring is enabled, module metadata is duplicated in Mission Control, which could lead to inconsistencies; a future Console feature will help verify this data

Deprecate ICP, use only Cycles

ICP is now deprecated in favor of using cycles only.

  • Getting started is still free
  • When you need more resources or want to spin up additional modules, you acquire cycles
  • The primary call to action for cycles now points to cycle.express; third-party wallets like OISY remain supported as secondary options

This simplifies the developer experience and makes it easier to understand how Juno works.

Price increase

Creating new Satellites or Orbiters now costs 3 T cycles (roughly $4).
Enabling Monitoring (spinning up a Mission Control) requires the same fee.

Previously, the cost was 0.4 ICP, which effectively provided more resources than intended.

Backwards compatibility

Existing Mission Controls remain fully supported. If they hold ICP, you can still use it to create new modules at 1.5 ICP per module.

You can choose to keep ICP for Monitoring or transition fully to cycles.
A future release will update Mission Control to remove features that are no longer needed.

Fully open-source

Juno is now fully open-source.

The AGPL license has been dropped in favor of MIT — no more restrictions. 💯

Overview

ModuleVersionBreaking changes
Consolev0.3.0️⚠️ ️
Observatoryv0.3.0️⚠️ ️
CratesVersionBreaking changes
junobuild-authv0.2.0
junobuild-cdnv0.5.0
junobuild-collectionsv0.3.0
junobuild-macrosv0.2.0
junobuild-satellitev0.4.0
junobuild-sharedv0.6.0⚠️️️
junobuild-storagev0.5.0️️
junobuild-utilsv0.2.0
LibraryVersionBreaking changes
@junobuild/adminv3.3.0
@junobuild/analyticsv2.0.10
@junobuild/authv2.1.0
@junobuild/cdnv2.2.0
@junobuild/cli-toolsv0.10.0
@junobuild/configv2.9.0
@junobuild/config-loaderv0.4.7
@junobuild/corev3.4.0
@junobuild/core-standalonev3.4.0
@junobuild/did-toolsv0.3.8
@junobuild/errorsv0.2.0
@junobuild/functionsv0.5.4
@junobuild/ic-clientv7.1.0
@junobuild/storagev2.2.0
@junobuild/utilsv0.2.5
CLIVersionBreaking changes
@junobuild/cliv0.13.9
PluginsVersionBreaking changes
@junobuild/vite-pluginv4.5.1
@junobuild/nextjs-pluginv4.6.1
DockerVersionBreaking changes
@junobuild/skylabv0.4.14
@junobuild/satellitev0.4.14
@junobuild/consolev0.4.14
GitHub ActionVersionBreaking changes
junobuild/juno-actionv0.5.8

Serverless Functions

You can upgrade your Rust Serverless Functions using the following crates:

[!NOTE]
This upgrade is optional, as it contains no breaking changes that would impact your projects.
The crates have been bumped to reflect the license change.

[dependencies]
candid = "0.10.20"
ic-cdk = "0.19.0"
ic-cdk-macros = "0.19.0"
serde = "1.0.225"
serde_cbor = "0.11.2"
junobuild-satellite = "0.4.0"
junobuild-macros = "0.2.0"
junobuild-utils = "0.2.0"

What's Changed

Full Changelog: https://github.com/junobuild/juno/compare/v0.0.62...v0.0.63