TriFrost

TriFrost News

A running log of what’s new in TriFrost — from releases to behind-the-scenes thoughts

TriFrost 0.45.3

release

TriFrost 0.45.2

release

TriFrost 0.45.1

release

TriFrost 0.45.0

release

TriFrost 0.44.3

release

TriFrost 0.44.2

release

TriFrost 0.44.1

release

TriFrost 0.44.0

This release adds lean, deterministic ARC-style lifecycle behavior to the scripting engine. It cuts down your per-fragment script size dramatically while enabling automatic DOM removal of hydrated scripts and data when no longer necessary.

release

TriFrost 0.43.3

release

TriFrost 0.43.2

release

TriFrost 0.43.1

release

TriFrost 0.43.0 - Crystal

The Crystal release refines TriFrost’s styling core with expressive animation support, dynamic composition, and smoother ergonomics across the board.

release

TriFrost 0.42.6

release

TriFrost 0.42.5

release

TriFrost 0.42.4

release

How Atomic is TriFrost Atomic?

A blazing-fast, CSP-safe scripting runtime that does more with less, no compilers, no bundlers, just pure atomic power.

blog

TriFrost 0.42.3

release

TriFrost 0.42.2

release

TriFrost 0.42.1

release

TriFrost 0.42.0

This release further evolves the internals of the TriFrost style engine , focusing on performance, DX simplicity, and hydration resilience.

release

TriFrost 0.41.3

release

TriFrost 0.41.2

release

TriFrost 0.41.1

This release refines Atomic’s DOM tooling for broader compatibility and better developer experience

release

TriFrost 0.41.0

This release brings refinement to the Atomic layer, improving ergonomics, performance, and type safety. The new destructured Script API makes logic blocks cleaner to write and easier to extend, while internals like atomicMinify and $fetch util receive notable upgrades. A small breaking change for a frostier future.

release

TriFrost 0.40.0 - Cobalt Pulse

This release cracks open a leaner, meaner era for the Atomic layer. We’ve surgically extracted node-bound behavior and reassembled it into a centralized $ utility namespace, smaller boot footprints, faster VMs, and crystal-clear ergonomics. The new $.fetch ? One helper to parse them all. The updated data.$bind ? Reactive sugar with zero overhead. This is DX that moves like lightning.

release

TriFrost 0.39.0

This release brings long-awaited built-in support for JWT authentication, a critical step in the journey to 1.0. We're introducing runtime-agnostic jwtSign , jwtVerify and jwtDecode utilities along with a suite of purpose-built JWT error classes.

release

TriFrost 0.38.1

release

TriFrost 0.38.0

This release introduces powerful improvements to ctx.file() , allowing direct, streaming responses from native, Node, and cloud storage sources — alongside foundational work to unify stream behavior and remove legacy friction.

release

TriFrost 0.37.3

release

TriFrost 0.37.2

release

TriFrost 0.37.1

release

TriFrost 0.37.0 - Atomic Reactor

This release unveils TriFrost Atomic Data Reactor , a minimal yet powerful reactive data layer built for inline <Script> blocks. Designed to bring form state, interactivity, and SSR reactivity together, without sacrificing type safety or control .

release

TriFrost 0.36.5

release

TriFrost 0.36.4

release

TriFrost 0.36.3

release

Atomic: Zero-Cost Abstractions for the Modern Web

Atomic is fast, invisible, and predictable — doing the hard parts behind the scenes so your HTML stays lean and your runtime stays sharp.

blog

TriFrost 0.36.2

release

TriFrost 0.36.1

release

TriFrost 0.36.0

This release builds directly on TriFrost’s Atomic foundation, delivering leaner pages, smarter SSR defaults, and internal render polish — all without breaking a sweat.

release

TriFrost 0.35.5

release

TriFrost 0.35.4

release

TriFrost 0.35.3

release

TriFrost 0.35.2

release

TriFrost 0.35.1

release

TriFrost 0.35.0 - Atomic

release

Open Sourcing the TriFrost Website

TriFrost.dev is now fully open source, same code, same deploys, same streaming, markdown, and telemetry setup. See how TriFrost works in the real world.

blog

TriFrost 0.34.2

release

TriFrost 0.34.1

release

TriFrost 0.34.0

This release continues on the <Script> foundation introduced in TriFrost 0.33.0 and brings a powerful under-the-hood upgrade. A Script Engine , focused on ergonomic interactivity, seamless deduplication, and zero-config data inlining as well as some new utils for easier dx.

release

Goodbye HTMX, Hello <Script>

TriFrost just got a little leaner, a little cleaner — and a lot more native.

blog

TriFrost 0.33.3

This release brings additional polish to the new <Script> component introduced in 0.33.0 , focused on ergonomic inlining and dynamic parent binding.

release

TriFrost 0.33.2

This release brings additional polish to the new <Script> component introduced in 0.33.0 , focused on ergonomic inlining and dynamic parent binding.

release

TriFrost 0.33.1

release

TriFrost 0.33.0

This release brings an upgrade to TriFrost’s SSR and client-side scripting experience with a powerful new <Script> component.

release

June 2025 Progress Update

Docs, coverage, real users — TriFrost is taking shape and picking up steam.

blog

TriFrost 0.32.0

This release further streamlines how app identity and debug state are defined across all runtimes, moving away from config-based declarations to standardized environment-driven metadata .

release

TriFrost 0.31.0

release

TriFrost 0.30.0

This release brings new capabilities to TriFrost’s body parsing system, ensuring consistent, cross-runtime handling of JSON, text, form, and multipart payloads — now with fine-grained control and powerful normalization.

release

TriFrost 0.29.0

I've known the founders of Aikido for a long time, so when I was exploring ways to expand TriFrost’s automated security testing (we already used GitHub CodeQL , but there’s always room for more), I reached out to them.

release

TriFrost 0.28.0

Building on the groundwork laid in 0.27.0 , this release supercharges TriFrost’s redaction and log sanitization pipeline with a powerful new internal scrambler engine , enabling fast, recursive, and pattern-aware field scrubbing across all exporters.

release

TriFrost 0.27.1

release

TriFrost 0.27.0

Ever leaked a token ... or forgot to scrub a password from a log? While most observability platforms can scrub sensitive data on ingest, that rarely helps with console or file-based logs — better to nip it at the bud.

release

TriFrost 0.26.0

This release brings deeper composition and sharper ergonomics to the css engine. css.mix and css.use now apply a union-style deep merge , preserving media queries and nested overrides across layers — perfect for atom/molecule composition in JSX .

release

Hello, World. Hello, Speed.

We benchmarked TriFrost against Elysia, Hono, Koa, and Express in a head-to-head hello world shootout. The results? Frosty.

blog

TriFrost 0.25.0

From smarter exporter behavior to cleaner 404 fallbacks and a simple isDevMode() helper, this release removes noise and adds clarity, making development smoother, logs more readable, and defaults feel just right.

release

TriFrost 0.24.0

This release brings a focused round of enhancements aimed at improving developer control, and strengthening TriFrost’s logging system.

release

TriFrost 0.23.0

This release further sharpens TriFrost’s internals, making the createCss system more flexible for external libraries by respecting --prefixed variables and tuning the JSX engine for even faster prop rendering.

release

Wax On, Wax Off: Sharpening TriFrost

There’s something deeply satisfying about refinement — the slow, careful polishing of a tool you already trust. That’s exactly where TriFrost is right now. ...

blog

TriFrost 0.22.0

This release strengthens the ApiKeyAuth middleware by adding explicit credential configuration and support for dual credential validation (API key + client ID).

release

TriFrost 0.21.0

This release brings a set of carefully crafted improvements born directly out of working on the TriFrost documentation.

release

TriFrost 0.20.4

release

TriFrost 0.20.3

This release brings an approximate 2x throughput improvement in performance for the new TrieRouter when dealing with Hot paths thanks to an improved LRU design in the Valkyrie Utils (sidenote: Valkyrie Utils is another package maintained by the creator of TriFrost and is heavily used within TriFrost).

release

TriFrost 0.20.2

release

TriFrost 0.20.1

release

TriFrost 0.20.0 - Glacier

This isn’t just another release — it’s a massive routing overhaul . We’re introducing the new TrieRouter under the hood, delivering blistering-fast match speeds, smarter fallback handling, and precise middleware chains.

release

TriFrost 0.19.1

release

TriFrost 0.19.0 - Velvet Edge

This release further sharpens TriFrost’s styling system with custom breakpoints, ergonomic attribute helpers, and expanded selector coverage — giving you more precision and control without added complexity. Most of these improvements/additions came directly from working on the TriFrost website and as such solve some real-world ergonomic issues .

release

Auth, Signed Cookies, and What’s Next

TriFrost 0.18.0 (FrostBite) is here, bringing production-ready authentication into the framework. This release adds: ...

blog

TriFrost 0.18.0 - FrostBite

This update brings subtle but powerful improvements across TriFrost’s core — from smarter, cross-runtime environment handling to brand-new HMAC cookie signing, verification, and robust, production-ready authentication middleware.

release

TriFrost 0.17.0 - Slipstream

This patch introduces first-class animation support into the TriFrost styling engine. You can now define, register, and reuse @keyframes using the same ergonomic API as css() — with full support for SSR, media queries, deduplication, and cross-engine reuse via LRU.

release

TriFrost 0.16.0 - Phantom Weave

This release sharpens the edge of TriFrost's JSX engine and style system. Expect better render performance, faster style injection, and smarter cross-request reuse — with no increase in memory footprint.

release

TriFrost 0.15.1

release

TriFrost 0.15.0

This release brings further resilience , structure , and flexibility to TriFrost’s storage layer — turning what was already powerful into something even more durable (pun intended).

release

Two Days, One Rewrite

I rewrote the entire TriFrost website’s styling in a day. No SCSS pipeline. No cascade overrides. No build steps. Just createCss(), use(), mix(), and a bit of media logic ...

blog

TriFrost 0.14.0

You can now safely use css.use() and css.root() inside root-level JSX components — even before calling ctx.html(). For example, the following code now works as expected:

release

TriFrost 0.13.0

This release puts a bow on the new createCss() system — bringing ergonomics, utility, and a bit of sugar to an already powerful API.

release

TriFrost 0.12.0

This release improves how you work with CSS in TriFrost.

release

TriFrost 0.11.0

TriFrost now includes a powerful, zero-runtime CSS engine — fully integrated with the core JSX renderer.

release

TriFrost 0.10.0

TriFrost always came with a body parser — it handled JSON, plain text, and buffers just fine. But real-world backends need more. Forms. File uploads. Multilingual characters. Legacy formats. Inconsistent charsets. It adds up fast.

release

TriFrost 0.9.0

release

TriFrost 0.8.0

TriFrost now ships with a caching system that’s not only powerful — but invisible . 🪄

release

TriFrost 0.7.0

TriFrost traces middleware and route handlers out of the box — but what about everything else? In any real backend, there’s a whole ecosystem beyond routing: services, utilities, classes with methods that get reused across flows. Can we take our tracing a level deeper, without cluttering the code?

release

Road to 1.0

TriFrost has been evolving quickly — modular routing, runtime flexibility, solid developer ergonomics. But a 1.0 release sets a higher bar: stability, confidence, and a contract with its users ...

blog

TriFrost 0.6.0

release

TriFrost 0.5.0

release

TriFrost 0.4.0

release

TriFrost 0.3.0

release

TriFrost 0.2.0

release

Why TriFrost exists?

TriFrost started with a simple question: why are most backend frameworks either too rigid, too leaky, or locked to a single runtime? ...

blog