Skip to main content

3 posts tagged with "performance"

View All Tags

Faster Deploys & Precompression

· One min read

Hi 👋

A new release is out — v0.0.54 🚀

Here are a few highlights:

⚡️ Faster deploys with proposals batching
📦 Smarter precompression (optional Brotli + replace mode)
🔀 Redirects fixed
✨ Shinier experience when deploying in your terminal

Checkout the release notes for details 👉 Release v0.0.54 · junobuild/juno

Example of the new configuration option precompress:

export default defineConfig({
satellite: {
ids: {
production: "qsgjb-riaaa-aaaaa-aaaga-cai"
},
source: "dist",
precompress: {
algorithm: "brotli",
pattern: "**/*.+(css|js|mjs|html)",
mode: "replace"
}
}
});

Freezing, Gzip, & Console Enhancements

· 2 min read

Hi 👋

A new release is out — v0.0.52 🚀

Here are a few highlights:
🧊 Longer default freezing thresholds
✅ Gzipped HTML
🔐 Allowed Callers
🛠 CLI Improvements
🖥 Polished Console UI

Checkout the release notes for details 👉 Release v0.0.52 · junobuild/juno

Let me know if anything looks fishy — and happy coding! 👨‍🔧


🖥️ Two screenshots from the Console new features

The new “Notifications” component:

Notifications UI

The overall look: collapsible menu, redesigned tabs, more prominent actions, and more.

Console UI Update


As a side note on this release: aside from the custom domain feature, I think it’s now possible to configure your entire project — including authentication, data, storage, and emulator — directly within the Juno config file. Plus with type safety as the cherry on top.

This is especially handy for maintainability or if your project can be forked.

Here’s an example config that shows where and how the project is deployed, which headers to apply to assets, defines the structure of that data, and which image to use when running the emulator with Podman:

import { defineConfig } from "@junobuild/config";

/** @type {import('@junobuild/config').JunoConfig} */
export default defineConfig({
satellite: {
ids: {
development: "jx5yt-yyaaa-aaaal-abzbq-cai",
production: "fmkjf-bqaaa-aaaal-acpza-cai"
},
source: "build",
predeploy: ["npm run build"],
storage: {
headers: [
{
source: "**/*.png",
headers: [["Cache-Control", "max-age=2592000"]]
}
]
},
collections: {
datastore: [
{
collection: "notes",
read: "managed",
write: "managed",
memory: "stable"
}
]
}
},
emulator: {
runner: {
type: "podman"
},
satellite: {}
}
});

Documentation 👉 https://juno.build/docs/reference/configuration

Lighter Analytics Client

· One min read

This new release brings a major upgrade to Juno Analytics — now powered by native HTTP requests with no more web workers or IndexedDB.

The JS client is now over 90% (🔥) smaller (just 3KB gzipped!), and the dashboard supports paginated views, top time zones, and OS metrics.

There are a few breaking changes (‼️), so check the notes if you’re using analytics — and make sure to upgrade your Orbiter and JS libraries at the same time ⚠️.

Reach out if you have questions, happy to help!

New Juno Analytics Dashboard UI