Skip to main content

v0.0.21

Summary

This release introduces numerous enhancements to the hosting features of the Satellite, making it the most powerful hosting smart contract available on the Internet Computer to date. You can explore all the new options in the documentation.

In addition, it brings several new features, including the ability to transfer cycles between your satellites, mission control, and orbiter. The release also introduces the ability to delete satellites and orbiters, rolls out the new atomic functions like setManyDocs and addresses various bug fixes.

Overview

ModuleVersionNotes
Satellite0.0.13
Mission Control0.0.8⚠️ Contains an issue. Patched in release v0.0.22.
Orbiter0.0.3⚠️ Not upgradable. Patched in release v0.0.23.
Observatory0.0.4
LibraryVersionBreaking changes
@junobuild/corev0.0.37
@junobuild/core-peerv0.0.2
@junobuild/adminv0.0.37
CLIVersionBreaking changes
@junobuild/cliv0.0.43

Changes

Here is a list of changes included in this release:

Console

The console has been improved to support new smart contract features and received various enhancements.

Features

  • Option to delete Satellites and Orbiters.
  • Transfer cycles across Satellites, Orbiters, and Mission controls.
  • Feature to start and stop Orbiters' smart contract (analytics).
  • Top-up, start, and stop segment features have been moved to a popover menu to improve UI readability.
  • A new function allows developers to delete all documents or assets within a collection.
  • The delete document or asset function has also been moved to a popover menu.
  • Chinese translations have been updated.
  • Italian support has been deprecated due to a lack of maintenance. If anyone is interested in maintaining those translations, please reach out.
  • Added the "Analytics" feature to the list of resources displayed when not signed in.
  • Reverted to a more straightforward and simplistic onboarding process when developers create Satellites. The new guides provided on the documentation website are more effective.
  • Reviewed UX to make the monitoring state "enable/disable" more comprehensive.
  • Added a dashboard to the monitor to display when the metrics were last collected and the cycle balances at that time.
  • Inverted the positions of "Analytics" and "Monitoring" in the popover menu, as "Analytics" is probably used more often.
  • Provided information about the "Top 10 pages" in the analytics.
  • Displayed mobile and desktop usages in the analytics.
  • Under a feature flag (not released), initialized some work in the console to make editing document data possible.
  • Updated and added a link to Astro in the guides section.

Fixes

  • Displayed default memory as heap in storage when the Satellite has not yet been upgraded.
  • Fixed an issue where analytics charts were off when no metrics were collected on some days.
  • Improved readability of analytics charts' x-axis when the selected period contained many dates.
  • Filtered out empty referrers in the "Top 10 referrers" section of the Analytics.
  • Displayed a wallet balance of 0 even if no transactions have been executed on ICP. The Index canister threw an exception when no transactions were collected.
  • Instead of displaying empty for a collection set as private, now displays the reason, i.e., that the collection is private.

Refactor

  • Used isNullish and nonNullish from ic-js.

Satellite

The Satellite has undergone significant improvements to enhance its hosting capabilities for the web and developers. It has been upgraded to the second version of the certification specification, enabling the implementation of various new features. Notably, you can now seamlessly set redirects, rewrites, and define HTTP headers. Additionally, once the Internet Computer's service worker is patched or deprecated, the Satellite will even have the ability to automatically rewrite unknown routes to a 404 page if such a file is provided. Discover more about these features in the documentation.

In addition, the Satellite has been enriched with a new deposit feature that supports cycle transfers across segments.

Additional checks have been introduced to prevent controllers from being set as anonymous, and the permission scheme has also been improved with the same logic. Collections set as private, managed, or controlled will no longer accept anonymous data.

Furthermore, the Satellite has been extended with new functions, enabling developers to set many documents (setManyDocs) or delete documents (deleteManyDocs) and assets (deleteManyAssets) atomically.

Additionally, a new endpoint has been added, allowing controllers to delete all documents in a collection.

Finally, two issues related to listing data when using stable memory have been patched.

Mission control

The Mission Control has been expanded with new endpoints and logic to facilitate the deletion of satellites and orbiters. It has also been enhanced with a new deposit feature to support cycle transfers across segments. Both of these features are exclusively available for controllers.

When deleting Satellites or Orbiters, any remaining cycles (minus the amount required for the deletion) will be transferred to your mission control.

Additional checks have been introduced to prevent controllers from being set as anonymous, in cases where an existing controller may inadvertently do so.

Orbiter

The Orbiter, the smart contract used for the Analytics feature, has been enhanced with similar features to those described for the Mission Control.

Observatory

The observatory has been improved to expose the statuses for Juno's console. This enhancement allows developers to access information about the last data collected.

Library

Please refer to the releases for details.

CLI

Please refer to the releases for details.