Releases: junobuild/juno
v0.0.70
Summary
This release focuses on Console UX improvements. Configuration and recent deployments are now persisted in IndexedDB (cleared on logout), allowing the interface to render information faster on subsequent visits.
It also introduces a new card on the Satellite overview showing the last three deployments. If automation has not been set up yet, the card displays a call to action to get started, which could be particularly helpful for new developers on the platform.
Tip
This release has no functional impact on your development or projects.
What's Changed
- feat(frontend): add id-token permission to GitHub Actions templates by @peterpeterparker in #2624
- feat(frontend): accept undefined for certified flag by @peterpeterparker in #2627
- feat(frontend): cache config by @peterpeterparker in #2626
- feat(frontend): split satellite overview by @peterpeterparker in #2629
- feat(frontend): show last workflow in satellite overview by @peterpeterparker in #2628
- feat(frontend): use a cron worker for fetching workflows by @peterpeterparker in #2630
- feat(frontend): slice last three deployments and fix undefined GitHub data by @peterpeterparker in #2632
- fix(frontend): remove incorrect slice on workflow actor by @peterpeterparker in #2631
Full Changelog: v0.0.69...v0.0.70
v0.0.69
Summary
This release brings two major additions to the GitHub integration and a set of general improvements.
Automation
This release shifts the recommended approach for allowing GitHub Actions to deploy your frontend or publish serverless functions by removing the need to store a JUNO_TOKEN in your GitHub secrets.
The new method uses OpenID Connect (OIDC) to establish a relationship between GitHub and your Satellite, so each workflow run gets short-lived credentials (access keys) automatically.
No tokens to rotate, no secrets to manage, and therefore more secure.
In addition, a new Deployments screen in the Console UI lets you specify which repositories are authorized to deploy and provides an overview of past deployments.
The same configuration can of course also be applied using the CLI which has also been upgraded to support this new feature.
Authentication
This release also adds support for GitHub authentication, letting you add GitHub sign-in to your application.
Note that unlike other authentication methods, this requires deploying and running a self-hosted API.
Various Improvements
On top of that, several improvements come with this release. While not yet available in the Console, this includes support for access keys with expiration times (applicable to the Submitter and Editor roles, but not Admin), which was developed for the new automation flow (for security reasons).
Overview
| Module | Version | Breaking changes |
|---|---|---|
| Console | v0.4.1 | ️ |
| Observatory | v0.5.1 | ️ |
| Satellite | v0.2.0 | |
| Sputnik | v0.2.0 |
Note
Satellite and Sputnik are tagged as "breaking changes" but contain no fundamental API changes. Their versions were primarily bumped for traceability reasons only.
| Crates | Version | Breaking changes |
|---|---|---|
junobuild-auth |
0.3.1 | |
junobuild-cdn |
0.6.0 | |
junobuild-collections |
0.4.0 | |
junobuild-satellite |
0.5.0 | |
junobuild-shared |
0.7.0 | |
junobuild-storage |
0.6.0 |
| Library | Version | Breaking changes |
|---|---|---|
@junobuild/admin |
v4.1.0 | |
@junobuild/analytics |
v0.2.11 | |
@junobuild/auth |
v4.0.0 | |
@junobuild/cdn |
v2.3.0 | |
@junobuild/cli-tools |
v0.10.2 | |
@junobuild/config |
v2.11.0 | |
@junobuild/config-loader |
v0.4.8 | |
@junobuild/core |
v5.2.0 | |
@junobuild/core-standalone |
v5.2.0 | |
@junobuild/did-tools |
v0.3.9 | |
@junobuild/errors |
v0.2.3 | |
@junobuild/functions |
v0.5.6 | |
@junobuild/ic-client |
v8.0.0 | ️ |
@junobuild/storage |
v2.3.0 | |
@junobuild/utils |
v0.2.6 |
| CLI | Version | Breaking changes |
|---|---|---|
@junobuild/cli |
v0.13.12 |
| Plugins | Version | Breaking changes |
|---|---|---|
@junobuild/vite-plugin |
v4.7.0 | |
@junobuild/nextjs-plugin |
v4.7.0 |
| Docker | Version | Breaking changes |
|---|---|---|
@junobuild/skylab |
v0.5.2 | |
@junobuild/satellite |
v0.5.2 | |
@junobuild/console |
v0.5.2 |
| GitHub Action | Version | Breaking changes |
|---|---|---|
junobuild/juno-action |
v0.6.3 |
Serverless Functions
You can upgrade your Rust Serverless Functions using the following crates:
[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.5.0"
junobuild-macros = "0.2.0"
junobuild-utils = "0.2.0"What's Changed
- feat(storage): support HEAD requests by @peterpeterparker in #2564
- feat(shared): optional controller kind by @peterpeterparker in #2566
- feat(frontend): access key type display and kind emulator by @peterpeterparker in #2567
- feat(shared)!: rename is_controller to is_valid_controller by @peterpeterparker in #2569
- test(shared): controllers with cargo mock by @peterpeterparker in #2570
- refactor(satellite): rename guard is_controller with valid keyword by @peterpeterparker in #2571
- feat(shared): ephemeral access keys - assertion on expires_at by @peterpeterparker in #2572
- feat(core): assert set controller expires_at by @peterpeterparker in #2573
- feat(shared)!: limit access keys submit and editors to 20 by @peterpeterparker in #2574
- feat(auth): rename assert_custom by @peterpeterparker in #2575
- refactor(auth)!: rename set_config into set_authentication_config by @peterpeterparker in #2576
- feat(frontend): remove Internet Identity for local dev by @peterpeterparker in #2577
- test(e2e): remove Internet Identity by @peterpeterparker in #2578
- feat(frontend): animated welcome test by @peterpeterparker in #2579
- feat(frontend): use user name for greetings by @peterpeterparker in #2580
- feat(frontend): derive provider data by @peterpeterparker in #2581
- feat(frontend): hide sign-in methods not dev for skylab by @peterpeterparker in #2582
- refactor(frontend): split animated text loader by @peterpeterparker in #2583
- feat(auth): delegate nonce check to openid implementation by @peterpeterparker in #2584
- feat(auth): add GitHub Actions to the OpenId provider list by @peterpeterparker in #2585
- feat(observatory): fetch github actions openid certificate by @peterpeterparker in #2586
- feat(auth,satellite): automation configuration by @peterpeterparker in #2588
- feat(auth): use a standardized trait to read nonce instead of passing function by @peterpeterparker in #2589
- feat(auth): authenticate automation by @peterpeterparker in #2539
- build(backend): Update Rust version by @github-actions[bot] in #2590
- feat(satellite): del_controller_self to remove automation key by @peterpeterparker in #2591
- feat(auth): use refs instead of branches in automation config by @peterpeterparker in #2592
- feat(satellite): more workflow metadata by @peterpeterparker in #2593
- refactor(frontend): move auth config services to satellite by @peterpeterparker in #2595
- feat(frontend): init new "Deployments" page by @peterpeterparker in https://github.com/junobuild/juno/p...
v0.0.61-patch.1
Summary
This patch release addresses an issue affecting sign-in with Internet Identity when using delegation origin with custom domains.
Important
Note: This patch addresses a specific edge case (custom domain derivation origins for Internet Identity). Since most users are unaffected, the update is not auto-propagated. If you're experiencing this issue, you can apply the patch manually using the Juno CLI.
The root cause of the issue is unclear - something has changed but no one knows what. The issue happens likely because satellites did not support HEAD requests, though it has always been like that. Support was planned but just not yet delivered. This patch allows HEAD request to satellites, basically just adding a condition to an if statement that accepted GET only.
// Was:
pub fn http_request(
HttpRequest {
method,
}: HttpRequest,
storage_state: &impl StorageStateStrategy,
certificate: &impl StorageCertificateStrategy,
) -> HttpResponse {
if method != "GET" {
return error_response(RESPONSE_STATUS_CODE_405, "Method Not Allowed.".to_string());
}
// Patch:
pub fn http_request(
HttpRequest {
method,
}: HttpRequest,
storage_state: &impl StorageStateStrategy,
certificate: &impl StorageCertificateStrategy,
) -> HttpResponse {
if method != "GET" && method != "HEAD" {
return error_response(RESPONSE_STATUS_CODE_405, "Method Not Allowed.".to_string());
}
Note
Patch was tested manually. Effective implementation and tests in #2564
Overview
| Module | Version | Breaking changes |
|---|---|---|
| Satellite | v0.1.7 | ️ |
| Sputnik | v0.1.8 | ️ ️ |
| Crates | Version | Breaking changes |
|---|---|---|
junobuild-cdn |
0.4.1-patch.2 | |
junobuild-satellite |
0.3.1-patch.1 | ️ |
junobuild-storage |
0.4.1-patch.1 | ️️ |
v0.0.68
Summary
As I learned yesterday, using the new domain id.ai for sign-in with Internet Identity is not recommended just for cosmetic reasons, but also to prevent edge case issues. Therefore, it makes sense to use it going forward.
This release switches the Console to use this domain and set the JS library @junobuild/core to use it as new default for its related sign-in method (this is a JS API breaking change but all domains use the same UI/UX and derive the same identities).
Overview
| Library | Version | Breaking changes |
|---|---|---|
@junobuild/core |
v5.0.0 |
What's Changed
- feat(observatory,console): remove one time upgrade for OpenIdProvider.GitHub by @peterpeterparker in #2545
- build(backend): Update Rust version by @github-actions[bot] in #2552
- refactor(auth): redo name unsafe_find_jwt_provider by @peterpeterparker in #2554
- feat(auth)!: rename get_providers to get_auth_providers by @peterpeterparker in #2555
- feat(auth): rename openid credential structs by @peterpeterparker in #2556
- feat(shared): ic api for wasm32 test by @peterpeterparker in #2558
- feat(auth): make verify_openid_jwt generic by @peterpeterparker in #2557
- feat(auth): used shared time and cargo test for openid impls by @peterpeterparker in #2560
- feat(auth): make unsafe_find_jwt_provider generic by @peterpeterparker in #2559
- feat(frontend): use id.ai instead of internetcomputer.org for identity sign-in by @peterpeterparker in #2561
- test(e2e): update internet-identity playwright plugin for new ui/ux by @peterpeterparker in #2562
Full Changelog: v0.0.67...v0.0.68
v0.0.67
Summary
This release separates OpenID provider types to support further GitHub integrations (like GitHub Actions) by renaming GitHub to GitHubAuth in the provider enum and introducing a new OpenIdDelegationProvider enum that explicitly defines which providers can authenticate users.
This is a breaking change and therefore required the Console and Observatory state to be patched. Given the support for GitHub was introduced last week (in release v66) and is not yet rolled out in the ecosystem - in the Satellites - it felt like this was the appropriate time to introduce this cleaner architetucal separation.
Note
This release has migration purposes for the Console and Observatory and does not impact your projects.
Overview
| Module | Version | Breaking changes |
|---|---|---|
| Console | v0.4.0 | ️ |
| Observatory | v0.5.0 | ️ |
What's Changed
- feat(frontend): add type safety to cmp guards by passing result by @peterpeterparker in #2541
- refactor(frontend): extract auth loaders components by @peterpeterparker in #2542
- feat(frontend): extract app loader and load idb data after sign-in by @peterpeterparker in #2543
- feat(frontend)!: rename OpenIdProvider.GitHub to OpenIdProvider.GitHubAuth by @peterpeterparker in #2544
- refactor(auth): move verify to openid/delegation module by @peterpeterparker in #2546
- refactor(auth): move openidcredentials to delegation sub-module by @peterpeterparker in #2547
- refactor(auth): use keyword Auth for OpenIdProvider struct related to authentication by @peterpeterparker in #2548
- refactor(auth): rename delegation related function and remove unused impl by @peterpeterparker in #2549
- refactor(auth): move delegation to sub-module credentials by @peterpeterparker in #2550
- refactor(auth): move OpenIdDelegationProvider back to openid root by @peterpeterparker in #2551
- chore(console,observatory): clippy suggestions by @peterpeterparker in #2553
Full Changelog: v0.0.66...v0.0.67
v0.0.66
Summary
This release introduces support for authentication with GitHub on the Juno Console.
Context
GitHub authentication in Juno uses an OpenID Connect-like flow that requires a proxy server to securely handle OAuth credentials. Unlike traditional OAuth implementations where the client secret must remain confidential, Juno's architecture necessitates a backend service to:
- Store and manage GitHub OAuth sensitive credentials (client ID and secret)
- Exchange authorization codes for access tokens without exposing secrets to the browser
- Generate JWT tokens for integration with Juno's authentication system
The Juno API serves as this proxy, providing secure OAuth token exchange and JWT generation. This new API is open-source and can be self-hosted, which you'll need if you implement the same flow in your Satellite in the future. The Juno Console uses a hosted instance at api.juno.build.
Note
Support for GitHub authentication within Satellites will follow in a future release.
Overview
| Module | Version | Breaking changes |
|---|---|---|
| Console | v0.3.2 | ️ |
| Observatory | v0.4.0 | ️ |
| Library | Version | Breaking changes |
|---|---|---|
@junobuild/admin |
v4.0.1 | |
@junobuild/auth |
v3.0.1 | |
@junobuild/core |
v4.0.0 | |
@junobuild/config |
v2.10.0 | |
@junobuild/errors |
v0.2.1 |
What's Changed
- feat(frontend): display TCycles instead of T Cycles in wizard by @peterpeterparker in #2519
- test(e2e): adapt T Cycles -> TCycles by @peterpeterparker in #2517
- build(frontend): bump Svelte CVEs by @peterpeterparker in #2515
- build(core): bump ic-wasm v0.9.10 by @peterpeterparker in #2516
- style(frontend): circle background for internet computer logo by @peterpeterparker in #2520
- fix(frontend): filter documents race condition by @peterpeterparker in #2521
- feat(observatory): add open id provider as parameter to start and stop monitoring by @peterpeterparker in #2523
- build(backend): Update Rust version by @github-actions[bot] in #2363
- feat(auth): add support for preferred_username in open id data by @peterpeterparker in #2524
- feat(auth): support multi providers in authenticate / register by @peterpeterparker in #2528
- feat(auth): authenticate with GitHub by @peterpeterparker in #2527
- feat(frontend): bump Juno JS libs with authenticate breaking change in args by @peterpeterparker in #2530
- feat(core): GitHub authentication configuration by @peterpeterparker in #2531
- feat(frontend): inject env github client ID by @peterpeterparker in #2532
- feat(frontend): inject env github Juno API url by @peterpeterparker in #2533
- feat(observatory): restart github monitoring by @peterpeterparker in #2529
- feat(frontend): authenticate with GitHub by @peterpeterparker in #2518
- feat(frontend): allow api.juno.build in CSP connect-src by @peterpeterparker in #2536
- feat(frontend): allow avatars.githubusercontent.com in CSP img-src by @peterpeterparker in #2535
- feat(auth): use GitHub Apps by @peterpeterparker in #2537
Full Changelog: v0.0.65...v0.0.66
v0.0.65
Summary
Tip
This release has no functional impact on your development or projects.
This release is a follow-up to last week's release v0.0.63.
Now that we've simplified the developer experience by making the Console the hub for managing your modules (Satellites, Orbiters, Mission Control), the next step is enabling existing developers to migrate their module IDs and metadata (e.g., module names) to the Console.
That's why, when you sign in, you may notice a new warning notification prompting you to reconcile your Satellites and Orbiters. Following the process allows to synchronize information between your Mission Control and the Console automatically, ensuring both are aware of the same list of modules. This is particularly useful for developers who never used Mission Control or never activated Monitoring but, generally speaking to prevent issues in the future.
Note
The notification is displayed as an alert to catch your attention but is not a call to action that requires immediate action.
The release also patches a minor issue with the upgrade WASM process that could occur when Mission Control and your modules lived on different subnets. The issue had no functional impact, it only triggered within a pre-assertion check.
Additionally, the wallet page has been moved from the main menu to the user popover. Since the navigation bar already provides quick access to all wallet features, this reduces redundancy and improves interface readability. The popover for switching Satellites has also been deprecated—it duplicated the Spotlight search feature introduced a few months ago and contained a minor bug. No component, no bug 😄.
Overview
| Module | Version | Breaking changes |
|---|---|---|
| Console | v0.3.1 | ️ |
| Library | Version | Breaking changes |
|---|---|---|
@junobuild/admin |
v4.0.0 |
| CLI | Version | Breaking changes |
|---|---|---|
@junobuild/cli |
v0.13.10 |
| Docker | Version | Breaking changes |
|---|---|---|
@junobuild/skylab |
v0.4.16 | |
@junobuild/satellite |
v0.4.16 | |
@junobuild/console |
v0.4.16 |
What's Changed
- feat(frontend): add token toggle to OISY receive by @peterpeterparker in #2496
- feat(console): remove one time rates and fees upgrade by @peterpeterparker in #2497
- refactor(frontend): remove usage of Store keyword in derived by @peterpeterparker in #2500
- refactor(frontend): move isBusy to derived by @peterpeterparker in #2501
- fix(frontend): remove usage of Mission Control as chunk store in upgrade by @peterpeterparker in #2503
- feat(console): set and unset many segments at once by @peterpeterparker in #2504
- feat(frontend): reconcile divergent list of segments by @peterpeterparker in #2499
- feat(frontend): move wallet full page to standalone by @peterpeterparker in #2498
- feat(frontend): remove Satellites switcher by @peterpeterparker in #2507
- chore(scripts): print ledger cycles balance of the console by @peterpeterparker in #2508
- feat(frontend): modules T Cycles display consistency by @peterpeterparker in #2509
- feat(frontend): wallet TCycles display consistency by @peterpeterparker in #2510
- feat(frontend): load segments once at boot time by @peterpeterparker in #2511
- fix(frontend): loading with certified new account stuck on launchpad by @peterpeterparker in #2513
- feat(frontend): display progress on reconcile sync by @peterpeterparker in #2512
- feat(frontend): set mission control controler on out of sync attach by @peterpeterparker in #2514
Full Changelog: v0.0.64...v0.0.65
v0.0.64
Summary
Tip
This release has no functional impact on your development or projects.
The Console UI version shipped in v0.0.63 required a few small patches. Additionally, since it's nowadays tricky to swap ICP for Cycles, a new "Convert" feature has been added.
What's Changed
- fix(frontend): navigation glitch after create satellite by @peterpeterparker in #2488
- fix(frontend): icp to cycles display conversion by @peterpeterparker in #2487
- feat(frontend): support for receiving cycles with OISY signer by @peterpeterparker in #2489
- fix(frontend): Use StorageCollectionType instead of DbCollectionType by @tinkerer-shubh in #2491
- chore(test): upgrade pic-js v0.17.2 which supports AgentJS v5 by @peterpeterparker in #2490
- refactor(frontend): extract reusable cmc services by @peterpeterparker in #2494
- fix(frontend): spotlight search filters, list and links by @peterpeterparker in #2495
- feat(frontend): convert icp to cycles by @peterpeterparker in #2493
Full Changelog: v0.0.63...v0.0.64
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
| Module | Version | Breaking changes |
|---|---|---|
| Console | v0.3.0 | ️ |
| Observatory | v0.3.0 | ️ |
| Crates | Version | Breaking changes |
|---|---|---|
junobuild-auth |
v0.2.0 | |
junobuild-cdn |
v0.5.0 | |
junobuild-collections |
v0.3.0 | ️ |
junobuild-macros |
v0.2.0 | ️ |
junobuild-satellite |
v0.4.0 | ️ |
junobuild-shared |
v0.6.0 | |
junobuild-storage |
v0.5.0 | ️️ |
junobuild-utils |
v0.2.0 | ️ |
| Library | Version | Breaking changes |
|---|---|---|
@junobuild/admin |
v3.3.0 | |
@junobuild/analytics |
v2.0.10 | |
@junobuild/auth |
v2.1.0 | |
@junobuild/cdn |
v2.2.0 | |
@junobuild/cli-tools |
v0.10.0 | |
@junobuild/config |
v2.9.0 | |
@junobuild/config-loader |
v0.4.7 | |
@junobuild/core |
v3.4.0 | |
@junobuild/core-standalone |
v3.4.0 | |
@junobuild/did-tools |
v0.3.8 | |
@junobuild/errors |
v0.2.0 | |
@junobuild/functions |
v0.5.4 | |
@junobuild/ic-client |
v7.1.0 | ️ |
@junobuild/storage |
v2.2.0 | |
@junobuild/utils |
v0.2.5 |
| CLI | Version | Breaking changes |
|---|---|---|
@junobuild/cli |
v0.13.9 |
| Plugins | Version | Breaking changes |
|---|---|---|
@junobuild/vite-plugin |
v4.5.1 | |
@junobuild/nextjs-plugin |
v4.6.1 |
| Docker | Version | Breaking changes |
|---|---|---|
@junobuild/skylab |
v0.4.14 | |
@junobuild/satellite |
v0.4.14 | |
@junobuild/console |
v0.4.14 |
| GitHub Action | Version | Breaking changes |
|---|---|---|
junobuild/juno-action |
v0.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
- refactor(frontend): move account store to own module by @peterpeterparker in #2341
- build(frontend): downgrade svelte by @peterpeterparker in #2342
- feat(frontend): rename derived mission control modules to account by @peterpeterparker in #2343
- feat(frontend): group stores by @peterpeterparker in #2344
- feat(frontend): group derived by @peterpeterparker in #2345
- refactor(console): generic and impl for account by @peterpeterparker in #2346
- refactor(frontend): move satellites stores related to mission control by @peterpeterparker in #2349
- refactor(console): move accounts and credits in a dedicated module by @peterpeterparker in #2347
- refactor(mctrl): rename module segments into factory for consistency by @peterpeterparker in #2348
- refactor(shared): rename ledger const into icp_ledger by @peterpeterparker in #2350
- feat(console): refund canister fee not constant by @peterpeterparker in #2351
- refactor(console): extract ledger related services to create canister by @peterpeterparker in #2352
- feat(frontend): move orbiters mission control related by @peterpeterparker in #2353
- feat(console): create orbiter args by @peterpeterparker in #2354
- feat(console): create orbiter args - did declarations by @peterpeterparker in #2355
- build(frontend): bump Juno and DFINITY libs with DID namespace by @peterpeterparker in #2357
- test(frontend): migrate to PicJS v0.17.0 and PocketIC v11 by @peterpeterparker in #2356
- build(backend): Update Rust version by @github-actions[bot] in #2358
- feat(frontend): support subaccount (even if unused for now) by @peterpeterparker in #2360
- feat(frontend): support for multiple accounts in wallet workers and stores by @peterpeterparker in #2359
- feat(frontend): replace mission control by wallet ID by @peterpeterparker in #2361
- chore(toolchain): downgrade Rust v1.91.1 by @peterpeterparker in #2362
- feat(console): trap if unexpected fee request (instead of returning none) by @peterpeterparker in #2364
- feat(console): expose get_create_fee for caller by @peterpeterparker in #2365
- feat(frontend): use new endpoint get_create_fee by @peterpeterparker in #2366
- feat(console): with_fees utils by @peterpeterparker in #2367
- feat(frontend): update Svelte and ignore reference only captures the initial value by @peterpeterparker in ...
v0.0.63-beta.1
Motivation
This repo needs a new version of the emulator to adapt the E2E tests to the breaking changes. This is notably required to get cycles.
On the contrary, the emulator requires a new version of this repo (or a patch) to release a new version because fetching the latest version and doing an npm i leads to incompatibility issues with AgentJS v5 (I should have released the latest ic-js libraries as major versions, my bad).
Long story short, one needs the other. That's why now that we are close to releasing a major version of Juno - this repo - I create a beta to in turn be able to unlock the emulator.