Releases

Every build of the framework, hosted and ready to embed. Reference a version from your project, or download it to self-host.

Fonts ship as their own bundles below. The CSS loads them from /fonts on whichever host serves the stylesheet, so a self-hosted build serves them too.

Featured

CSS and JavaScript

Stylesheet and runtime for every release

v3.x v3.2.0 4 days ago Go to Latest
v2.x v2.3.7 Mar 20 Go to v2.x
v1.x v1.2.0 Jul 28, 2025 Go to v1.x
v0.x v0.0.7 Sep 19, 2024 Go to v0.x

Font Bundles

Font families used across releases

TRMNL

last week
Families
TRMNL12, TRMNL16, TRMNL21, and Inter Variable
Weights
normal, bold

Classic

last week
Families
NicoPups, NicoClean, BlockKie, and Inter Variable
Weights
normal

Archive

Every published version, newest first, grouped by major. Each release keeps the files it shipped with and is never rebuilt, so a version you reference today serves the same bytes tomorrow.

Version 3.x

v3.2.0

Latest
Download ZIP

Framework v3.2.0

Released on 2026-07-30.

Framework 3.2 is a landmark release. It introduces themes and a JavaScript API that works like the class based system. And, most impactful of all..

Open Source

The TRMNL Framework goes open source.

Since inception it lived inside the core product, wired into everything that runs TRMNL. In 3.2 we pulled it out into a repository of its own and made it public. The design system behind every TRMNL screen is now yours to read, fork, and build on.

It is also now yours to shape. We put the pieces in place for you to contribute:

  • Tests and CI. Test suites across the stack (contract, RSpec, and Playwright runtime and visual) run in continuous integration on every pull request, so a change can be trusted before it lands.
  • Community scaffolding. CONTRIBUTING, SECURITY, and CODE_OF_CONDUCT, with issue and pull-request templates that make the first step obvious.
  • Contributor guides. New Open Source and Contributing guides that show where everything lives and how to ship a change.

We pledged to this because we believe that the TRMNL community deserves that people out there - smarter than us - build things we never would that makes all of our experiences better. That is why we opened it up: to make the most of this technology together.

New Features

Themes

Themes introduce the ability to personalize all and every TRMNL plugin out there. A theme recolors surfaces, has control over backgrounds, text, and borders, from a single stylesheet.

Under the hood, every meaningful property now maps to a named slot, and a theme simply reassigns them. That is what lets one small file restyle an entire ecosystem of plugins, keeping a coherent render across any device type.

3.2 ships three themes, Black and Yellow, White and Red, and Dark, ready to use on trmnl.com today. Dark is the dark color scheme as a plain theme, so a whole screen goes dark from one stylesheet link rather than from per-element classes. Run TRMNL yourself under BYOD and you can theme your own local plugins with the same system. Opening that up across the whole plugin library is where this is headed next.

Inverse colors

Add inverse to any element to apply the opposite color scheme to that element and its descendants while siblings keep the screen scheme. Active cards and rows now reuse the framework's reversible color scale across bit depths, limited palettes, and themes instead of maintaining separate state colors. Slot values declared on the element and theme-specific inverse rules can still override the local defaults.

TRMNLPaint, a JavaScript paint API

TRMNLPaint is the JavaScript counterpart to the framework's class system. Ask it for any framework color, border, type role, or numeric scale, and it returns exactly what the current screen resolves, with the device and every active mode already applied. Painting and numeric dimensions from JavaScript are now as device-aware as the markup around them, across TRMNL's growing catalog of devices.

Adaptive charts

Charts are the first thing built on TRMNLPaint. TRMNLCharts wraps Highcharts with the new API and ships inside the runtime, so a chart now adapts to the device, scale, bit depth, dark mode, and themes instead of carrying its own fixed paint and dimensions.

Adaptive icons

Monotone icons now adapt on their own. Add image--adaptive to a monochrome icon and the framework repaints it to match the active theme and light or dark mode, the same way it handles framework text.

Rewritten color patterns

The color pattern system, the dithered fills and tiles behind every surface, was rebuilt from the ground up. Patterns are now inline vector graphics instead of downloaded image tiles.

Three things get better. Speed: a screen that used to fetch hundreds of pattern images now fetches none. Consistency: the same pattern renders identically in every browser, instead of drifting with each engine's image handling. Quality: as vector art, the patterns stay sharp on any device, at any size.

Rebuilt border and stroke utilities

Border, Outline, Text Stroke, and Image Stroke were rebuilt from the ground up, the same way as the color patterns. Each one now adapts to the device and every mode it supports, bit depth, dark mode, and themes, instead of carrying its own fixed colors. Borders also paint from generated gradients instead of image tiles, so a screen full of them fetches no images and stays sharp at any size.

Fluid Mashups

Fluid Mashups sit alongside the fixed layouts. The mashup--3x3 layout divides the screen into a three by three grid, and dedicated mashup-cell column, row, and span modifiers create custom tilings without inline grid styles.

Every cell draws the mashup window frame and a compact title bar at any size, across 1-bit, 2-bit, and 4-bit screens, dark mode, and themes.

Complete scale modifiers

Screen scale modifiers now compose with each device's native UI density and resize framework gaps, pixel-based utilities, image presets, component geometry, radii, and strokes. The new 66% xxsmall level fits dense dynamic mashups, and TRMNLPaint.px() gives numeric JavaScript dimensions the same live scale contract. Every modifier except regular also renders typography as Inter Variable with its tuned weights, so scaled screens draw crisp vector text instead of off-grid bitmap glyphs.

Text Scale

Text Scale lets one screen modifier adjust every framework font size and pixel line height from 80% to 150%. It composes with Scale, so plugins can make the interface denser while keeping text readable and text strokes tied to the interface scale. Every factor except regular resolves to the vector face as well, while the active font bundle keeps its sizes and line heights.

Fixes and Improvements

  • Scale token functions with fallbacks. content-scaled(), ui-scaled(), and the new text-ui-scaled() accept space-separated shorthand values and emit a 1 fallback, so plugin stylesheets referencing the scale variables keep rendering against framework bundles that predate them.
  • Crisp fit values on WebKit. Fixed WebKit keeping stale flex heights after a fitted value shrinks its text: the text shrank but its container kept the pre-shrink height. The runtime now forces a layout recalculation of every screen when rendering finishes.
  • Themed mashup backdrops. The screen--backdrop mashup backdrop now adapts to themes and dark mode.
  • .hidden hides layout elements. Fixed .hidden failing to hide .flex, .grid, and .block elements.
  • Stable repeated renders. Re-rendering a screen no longer drops overflow items, sticks values at a shrunken size, or drifts column gaps.
  • Phantom label classes removed. Duplicated overflow group headers now carry the real label--base class instead of the nonexistent label--medium, and the dead label--underline-2 selectors are gone from the stylesheet.
  • Corrected TRMNL pixel fonts. The TRMNL12, TRMNL16, and TRMNL21 families are updated to v1.002, following two community reports. Every advance, outline point, and kern value now lands on the pixel grid, so TRMNL16 no longer renders random words heavier on device, and each weight carries its own name records instead of the placeholder "." style that collided in font managers. The files now also embed their SIL OFL 1.1 license terms, and the full per-change log ships as public/fonts/CHANGELOG.md.
  • Dogicapixel removed. The two Dogicapixel @font-face declarations are gone from the stylesheet and the font files no longer ship. The family rode along declared in every bundle since 0.0.2 but was never applied by a framework rule, never part of a font bundle, and never documented.
  • Distinct grayscale ramps for chromatic shades. On grayscale screens every hue now renders a monotone ramp with distinct steps while keeping its true lightness: dark blues no longer collapse into a single near-black band on 16-gray screens, and the light yellows spread across distinct grays instead of nine identical whites.
  • Orientation variants for table sizes. Table modifiers now take orientation the way every other family does, so lg:portrait:table--xlarge raises the row height only on large portrait screens. Only sm:, md:, and lg: compiled before, so an orientation prefix on a table did nothing at all.
  • Aspect Ratio out of beta. The aspect utilities ship with the full size and orientation variant set, so lg:landscape:aspect--16/9 reshapes a tile only on large landscape screens. Stacked size prefixes also resolve mobile-first now, so md:aspect--16/9 lg:aspect--4/3 lands the ratio the screen calls for instead of whichever class the stylesheet wrote last.
  • Responsive out of beta. The responsive system graduates: size, orientation, bit-depth, and dark variants compile for every family the docs list, and combined gates like md:portrait:2bit:label--filled target exactly the screens they name instead of depending on which selectors happened to emit. The Responsive and Responsive Test pages drop their beta tags.
  • Responsive visibility across breakpoints. Display classes now resolve mobile-first across size prefixes, so md:hidden lg:visible hides an element on medium screens and shows it again on large ones. The stylesheet wrote every hidden rule after every other display rule, so a narrower md:hidden beat any wider display class and the element stayed hidden.
  • Landscape variants without an explicit screen class. Compound landscape variants such as md:landscape:gap--large, and every size, bit-depth, and dark pairing, now follow the framework's landscape default the same way the bare landscape: prefix already did. They required a .screen--landscape class that nothing sets, so they never matched real markup.
  • Flex alignment through variant prefixes. md:flex--center and its eight sibling alignment modifiers now compile. Each was emitted as an escaped compound selector no markup could target, so a prefixed alignment class had no effect on any screen.
  • Label variants restored. label--inverted and label--gray-out now carry the full variant set. Each shared a stylesheet rule with a sibling modifier and only the sibling received variants, so md:label--inverted did nothing.
  • Filled labels inside Items keep their pill. label--filled, label--inverted, and the semantic color labels keep their background inside an Item on 2-bit and 4-bit screens. The Item's label dimming repainted them as plain text, so the pill vanished and the label's light text sat directly on the screen.
  • Correct type weight on bare orientation variants. portrait:value--large and landscape:content--base now render at the device weight on 2-bit and 4-bit screens. The device override reached the size and size-with-orientation forms but not the bare orientation ones, so those rendered the right size at the wrong weight.
  • Phantom rich text variants removed. sm:content and its prefixed forms no longer ship. The rich text container has no responsive variants of its own, so those classes carried a font weight and nothing else.
  • Flex, layout, and grid alignment through variant prefixes. md:flex--center, md:layout--center-y, portrait:gap--auto and their siblings now compile. Each modifier sits on a compound selector next to a direction or container class, and the whole compound was escaped into a single class name no markup could target, so a prefixed alignment class had no effect on any screen.

Upgrade Notes

Framework 3.2 is backward compatible with 3.0 and 3.1: documented classes and attributes keep their meaning. The notes below cover the corrected fonts, two deprecations, the served asset change, and a small set of fixed behaviors that render differently.

  • TRMNL16 text lays out differently. The corrected word space is exactly 6 pixels instead of 6.125, so line breaks can fall in new places and the randomly emboldened words disappear. This is the fix landing, not a regression.
  • Remove locally installed v1.000 TRMNL fonts. If you installed the original TTFs on your system, uninstall them before installing v1.002. The PostScript names changed, and a stale v1.000 install can shadow or duplicate the new fonts in Font Book or Windows Fonts.
  • Dogicapixel no longer resolves. The family was never part of a font bundle and never documented. If custom markup sets font-family: Dogicapixel, it now falls back like any unknown family.
  • Numbered border levels are deprecated. border--h-1 through border--h-7 (and the vertical forms) still render, but new markup should use the border--h-10 to border--h-75 shade-step rail. The numbered classes are scheduled for removal in 4.0.
  • table-overflow-counter is now data-table-overflow-counter. New markup should use the data- prefixed form for valid HTML. The old attribute still works.
  • Responsive variants of arbitrary gaps no longer ship. md:gap--[25px] and other prefixed arbitrary gaps compiled in 3.1 but were never documented; the Gap page always stated arbitrary gaps carry no responsive variants. The tokenized gap scale keeps every variant, and a leftover prefixed spelling now does nothing instead of zeroing the gap.
  • Compound landscape variants now apply. md:landscape:gap--large and every other pairing with landscape: required a wrapper class the platform never emits, so they never matched. They now activate whenever the screen is not portrait, matching how the portrait side always worked.
  • Invalid spacing tokens now no-op. A typo like gap--8 or p--999 used to erase the value a lower layer had set. It now leaves the container's own value in place.
  • The served bundles are the processed output. plugins.css and plugins.js now ship minified, with private implementation variables shortened and duplicate rules folded; plugins.min.css and plugins.min.js remain as byte-identical aliases, so every pinned URL keeps working. Brotli siblings ship next to the gzip files. Class names and every public, runtime, and theme variable are unchanged.

Documentation Changes

  • Added the 3.2 guide track (v3 Overview, Enhancement Guide, and Upgrade Guide) and froze the 3.0 and 3.1 guides into their own version track. 3.2 is now the default docs version.
  • Added Themes and Paint API documentation pages, and reworked the Chart, Image, Border, Outline, Text Stroke, and Image Stroke pages for the new adaptive behavior.
  • Documented Fluid Mashups on the Mashup page: a 3x3 grid, custom tilings, and title bars inside cells.
  • Updated the Scale and Screen pages with the xxsmall level and complete pixel-based scaling behavior, and added the Text Scale reference.
  • Documented the vector font fallback on the Font Family, Text Size, Text Scale, and Scale pages, and moved the Text Scale custom CSS example to the var(--text-ui-scale, 1) fallback form.
  • Regrouped the render-time documentation under a Runtime section.
  • Added a Style selector to the docs screen picker for previewing any example under a theme.
  • Added a Text Scale selector to the docs screen picker, and rebuilt the Text Scale interactive preview around a sizing slider.
  • Corrected docs that taught nonexistent modifier classes, wrong size ranges, and responsive variants that do not compile.
  • Corrected the Responsive page to describe breakpoints as the size class each device carries rather than a minimum pixel width. The published widths did not match the device map: Kindle 2024 and TRMNL OG share a resolution across two breakpoints, and reMarkable Paper 2 is narrower than several md devices while resolving to lg. The prefix table now lists which size classes each prefix applies on. Added a Table row to the component support matrix.
  • The Colors page palette grids now sit directly on the docs background in light and dark mode instead of a white screen panel, so the swatches read against the page like every other docs figure.
  • Added license terms to the Font Family page and the bundle READMEs: every font now lists its license and copyright, and each bundle download carries OFL.txt with the full license text.
Stylesheet
17.4 MB
821.3 KB
244.8 KB
13.4 MB
750.7 KB
215.6 KB
JavaScript
224.7 KB
57.6 KB
48.6 KB
80.4 KB
20.9 KB
18.6 KB
Themes
37.6 KB
2.4 KB
1.6 KB
319.4 KB
25.1 KB
9.6 KB
36.2 KB
2.3 KB
1.5 KB
Release files
3.5 MB
11.7 KB
15.9 KB

Framework v3.1.8

Released on 2026-07-23.

Framework Changes

  • Fixed inverse inside a dark-mode screen to render a light subtree across bit depths and color palettes.

Upgrade Notes

  • None.

Documentation Changes

  • Added a dedicated Inverse utility page with collection and state-transition examples.

Framework v3.1.7

Released on 2026-07-18.

Framework Changes

  • Added the inverse class: dark-mode token remapping scoped to any element's subtree (backgrounds, text, borders, and strokes follow via variable cascade; the element paints its own dark canvas). Works on any bit depth and color palette.
  • dark:-prefixed utilities still key off screen--dark-mode and do not activate inside inverse; nesting inverse inside a dark-mode screen is a no-op, not a toggle back to light.

Upgrade Notes

  • None. Purely additive; existing markup renders identically.

Documentation Changes

  • Added an "Inverse" section to the Screen docs, next to Dark Mode.

Framework v3.1.6

Released on 2026-07-17.

Framework Changes

  • Added a vector font fallback for Scale and Text Scale: any modifier other than regular now renders typography as Inter Variable with its tuned weights, while the active font bundle keeps its sizes and line heights. Pixel bundles only render correctly at their native sizes, so scaled bitmap text produced off-grid glyphs — including screen--scale-xxsmall inside mashup--3x3 layouts.
  • Added the text-ui-scaled() Sass token function alongside content-scaled() and ui-scaled(). All three now accept space-separated shorthand values and emit a 1 fallback, so plugin stylesheets referencing the scale variables keep rendering against framework bundles that predate them.
  • Fixed WebKit keeping stale flex heights after fit-value shrinks text: the text shrank but its containers kept the pre-shrink height. terminalize() now forces a layout recalculation of every .screen when it finishes.

Documentation Changes

  • Documented the vector font fallback on the Font Family, Text Size, Text Scale, and Scale pages.
  • Updated the Text Scale custom CSS example to use the var(--text-ui-scale, 1) fallback form.

Framework v3.1.5

Released on 2026-07-16.

Framework Changes

  • Added Fluid Mashup placement modifiers for the mashup--3x3 layout. Use mashup-cell--col-*, mashup-cell--col-span-*, mashup-cell--row-*, and mashup-cell--row-span-* to create custom tilings.
  • Added Text Scale modifiers for changing framework typography independently from component dimensions, gaps, and text strokes. The available levels are small (80%), regular (100%), large (125%), and xlarge (150%).

Documentation Changes

  • Documented Fluid Mashup placement classes and updated the examples to use them.
  • Added the Text Scale reference with usage guidance, an interactive preview, Scale combinations, and custom CSS guidance.

Framework v3.1.4

Released on 2026-07-15.

Framework Changes

  • Expanded explicit screen scale modifiers to cover framework gaps, pixel-based spacing and sizing utilities, image presets, flex basis utilities, and grid minimum track sizes.

No plugin changes are required. The expanded behavior applies when a screen--scale-* modifier is present.

Framework v3.1.3

Released on 2026-07-14.

Framework Changes

  • Fixed dynamic 3x3 mashup cells so every cell draws the correct surface and frame, including cells that contain a full-size view.
  • Applied compact title bars and cell-relative layout sizing to every dynamic cell across 1-bit, 2-bit, 4-bit, dark mode, and backdrop rendering.
  • Added a 66% xxsmall screen scale option.

Documentation Changes

  • Documented the 3.1 dynamic mashup grid with equal-tile, spanning-cell, and title-bar examples on the Mashup page.

Framework v3.1.2

Released on 2026-07-09.

Framework Changes

  • Introducing support for mashup 3x3 grid.

Framework v3.1.1

Released on 2026-05-01.

Framework Changes

  • Added a factorized utility engine for shared token selectors, responsive gates, orientation gates, bit-depth gates, and dark-mode gates.
  • Reworked bg--* and text--* utilities to bind CSS custom properties once per token and apply paint rules through grouped selectors.
  • Reworked spacing utilities so margin and padding token bindings are generated once across size and orientation variants.
  • Reduced generated stylesheet weight while keeping existing utility class names and variant behavior intact.
  • Updated the plugin render runtime alongside the CSS release.

Upgrade Notes

  • No markup changes are required. Existing Framework 3.1 utility classes continue to work.
  • Use this patch for the smaller generated stylesheet while keeping the Framework 3.1 TRMNL font defaults.

Documentation Changes

  • No separate documentation changes shipped with this stylesheet-size patch.

Framework v3.1.0

Released on 2026-04-29.

Framework Changes

  • Added TRMNL12, TRMNL16, and TRMNL21 as the default low-density font families for Framework 3.1.
  • Preserved the Classic font bundle as an opt-in choice through screen--fonts-classic.
  • Clarified Framework 3.1 font resolution so high-density displays continue to use Inter Variable regardless of selected pixel-font bundle.
  • Published 3.1 CSS and JavaScript assets alongside the 3.0.4 opt-in font release.

Upgrade Notes

  • Framework 3.1 changes the implicit pixel-font default from Classic to TRMNL. Add screen--fonts-classic to keep the previous Classic look.
  • High-density screens continue to use Inter Variable even when the default low-density pixel bundle changes.

Documentation Changes

  • Added public documentation for choosing between the TRMNL and Classic font bundles.
  • Added font credits, glyph browsing, text sizing guidance, and high-density font notices to the relevant typography docs.
  • Versioned the Framework docs under explicit major.minor paths so 3.1 documentation can evolve independently from 3.0 and older docs.

Framework v3.0.5

Released on 2026-05-01.

Framework Changes

  • Added the factorized utility engine used by background, text, and spacing utilities.
  • Reworked bg--* and text--* utilities to use grouped selectors and per-token CSS custom property bindings.
  • Reworked spacing utilities so margin and padding rules are generated more compactly across responsive and orientation variants.
  • Reduced generated stylesheet weight for Framework 3.0 while keeping the 3.0 public API stable.
  • Updated the plugin render runtime alongside the CSS release.

Upgrade Notes

  • No markup changes are required. Existing Framework 3.0 utility classes continue to work.
  • Use this patch when you want the smaller generated stylesheet without adopting the Framework 3.1 font defaults.

Documentation Changes

  • No separate documentation changes shipped with this stylesheet-size patch.

Framework v3.0.4

Released on 2026-04-29.

Framework Changes

  • Added TRMNL12, TRMNL16, and TRMNL21 as an opt-in low-density font bundle for Framework 3.0.
  • Kept Classic as the implicit default for Framework 3.0 screens without a font-bundle class.
  • Preserved high-density display behavior so Inter Variable remains the high-density font regardless of selected pixel-font bundle.
  • Updated font variables and screen font resolution while keeping the 3.0 public class behavior stable.

Upgrade Notes

  • No default font behavior changes for Framework 3.0. Add screen--fonts-trmnl to opt into the TRMNL bundle.
  • High-density screens continue to use Inter Variable even when a pixel-font bundle class is present.

Documentation Changes

  • Expanded typography documentation with bundle previews, font credits, glyph coverage, and high-density display guidance.
  • Added documentation for choosing between Classic and TRMNL bundles and for how components map to bundle-specific fonts.
  • Versioned Framework docs under explicit major.minor paths so 3.0 documentation remains available beside newer 3.1 docs.
  • Polished Framework docs copy and fixed Heavyweight Type company URLs in the surrounding release window.

Framework v3.0.3

Released on 2026-04-07.

Framework Changes

  • Refreshed the 3.0 asset bundle after the plugin release dot-handling fix.
  • Kept the 3.0 CSS and JavaScript archive aligned with the corrected plugin render output.

Upgrade Notes

  • No markup changes are required. Use this patch when relying on plugin release output affected by dot handling.

Documentation Changes

  • Fixed Framework docs versioning so release examples load the correct versioned assets.
  • Backfilled missing plugins.js files across partial Framework releases.
  • Updated docs example iframes so v1, v2, and v3 pages use their intended release files unless development assets are explicitly enabled.

Framework v3.0.2

Released on 2026-04-03.

Framework Changes

  • Fixed the gap utility import path so Framework 3.0 gap classes are included correctly in the generated stylesheet.
  • Refreshed the versioned 3.0.2 CSS and JavaScript assets with the gap utility fix.

Upgrade Notes

  • No markup changes are required. Existing gap utility classes should render with the corrected stylesheet.

Documentation Changes

  • No separate documentation changes shipped with this stylesheet patch.

Framework v3.0.1

Released on 2026-04-03.

Framework Changes

  • Fixed fit_value runtime behavior in the plugin renderer for the 3.0 release line.
  • Refreshed the versioned 3.0.1 CSS and JavaScript assets with the runtime fix.

Upgrade Notes

  • No markup changes are required. This is a compatibility fix for existing fit_value usage.

Documentation Changes

  • No separate documentation changes shipped with this runtime patch.

Framework v3.0.0

Released on 2026-04-01.

Framework Changes

  • Introduced Framework 3.0 as the color-capable release line, with expanded screen mode variables and generated color token support.
  • Added screen color-mode and bit-depth variables, generated color tokens, and color-aware component overrides for screen, title bar, item, progress, table, label, divider, and related primitives.
  • Added chromatic background, text, border, outline, rounded, scale, visibility, pixel-ratio, and responsive utility coverage for the v3 asset bundle.
  • Added blend palette, background pattern, border level, crisp edge, outline dot, and factorized utility mixins used by the v3 stylesheet.
  • Updated framework components and the plugin render runtime to work with the v3 color and bit-depth model.
  • Published minified CSS and JavaScript assets for the 3.0.0 bundle.

Upgrade Notes

  • Review the v3 upgrade guide before moving production markup from Framework 2.x to 3.0.
  • Re-test screens in their target bit depth and color mode because v3 changes color token resolution and screen-mode variables.
  • Replace assumptions about grayscale-only utilities with the new color token model where appropriate.
  • Use version-pinned assets if you need to keep Framework 2 behavior while adopting v3 docs incrementally.

Documentation Changes

  • Added v3 documentation for color support, tokens, color-aware utilities, responsive testing, and upgrade guidance.
  • Added new Colors, Text Color, Tokens, v3 Overview, v3 Enhancement Guide, and v3 Upgrade Guide pages.
  • Added generated markdown docs for the 3.0 documentation set.
  • Added Framework releases page support and updated navigation so v3 docs could live beside older release lines.

Version 2.x

Framework v2.3.7

Released on 2026-03-20.

Framework Changes

  • Re-released the Framework 2.3 asset bundle with corrected font asset URLs.
  • Restored a usable 2.3 patch after earlier broken 2.3.4 through 2.3.6 attempts were removed from release metadata.
  • Kept the versioned CSS and JavaScript URLs stable through the new Framework::Version release model.

Upgrade Notes

  • Use this patch instead of the removed 2.3.4, 2.3.5, or 2.3.6 builds if you need the latest Framework 2.3 assets.
  • Treat 2.3.7 as the final reliable 2.3 pin before moving to Framework 3.

Documentation Changes

  • Added Framework versioning support so docs and plugin previews can resolve release-specific CSS and JavaScript assets.
  • Updated docs example iframes to load the right release files for v1, v2, and later docs sets.
  • Added a chart height tip and localized table overflow counter copy in the surrounding 2.3 docs window.

Framework v2.3.3

Released on 2026-03-02.

Framework Changes

  • Adjusted screen text rendering to remove ligatures from Inter in Framework output.
  • Refreshed the Framework 2.3.3 CSS and JavaScript assets with the typography performance change.

Upgrade Notes

  • No markup changes are required.
  • Use this patch if text rendering performance or glyph substitution from Inter ligatures matters for your screen.

Documentation Changes

  • No separate documentation changes shipped with this typography patch.

Framework v2.3.2

Released on 2026-02-26.

Framework Changes

  • Updated the plugin render runtime for cursor and visual-editor behavior.
  • Added Progress component styles and device-specific progress handling.
  • Expanded item, grid, flex, overflow, variable, and table overflow support in the Framework 2.3 stylesheet.
  • Fixed content limiter behavior when layout--stretch is used.
  • Improved Table Overflow Counter behavior with size scaling and an optional visibility toggle.

Upgrade Notes

  • No markup changes are required for existing screens.
  • Use this patch if a stretched layout relies on Content Limiter or if a table needs scaled overflow counters.

Documentation Changes

  • Added detailed Framework docs for structure, layout methods, columns, grid, flex, screen, title bar, and runtime behavior.
  • Added documentation coverage for Progress and table overflow behavior in the 2.3 line.
  • Polished page navigation and styling across the v2 docs set.

Framework v2.3.1

Released on 2026-02-09.

Framework Changes

  • Fixed a calendar styling regression in the Framework 2.3 asset line.
  • Refreshed the versioned 2.3.1 CSS and JavaScript assets with the corrected generated output.

Upgrade Notes

  • No markup changes are required. Calendar layouts using 2.3 should move to this patch.

Documentation Changes

  • No separate documentation changes shipped with this patch.

Framework v2.3.0

Released on 2026-02-07.

Framework Changes

  • Released Framework 2.3.0 as the next stable v2 CSS and JavaScript bundle.
  • Added the TRMNL X guide and expanded the Framework docs index and example-card navigation.
  • Broadened component and utility styling across Description, Gap, Image Stroke, Item, Label, Outline, Rich Text, Rounded, Screen, Size, Text, Text Stroke, Title, Value, and related layout pages.
  • Refreshed the plugin render runtime and published /css/2.3.0/plugins.css and /js/2.3.0/plugins.js for version-pinned consumers.
  • Continued v2 responsive and device-model refinements from the 2.2 line.

Upgrade Notes

  • No markup changes are required when upgrading from the latest 2.2 release.
  • Use 2.3.0 or later when adopting the updated component styling and TRMNL X documentation patterns.

Documentation Changes

  • Added TRMNL X plugin migration guidance.
  • Added Framework example cards, layout example pages, and an expanded docs landing experience.
  • Updated many component docs with richer examples, including Gap, Rounded, Rich Text, Item, Label, Outline, and Value.

Framework v2.2.1

Released on 2026-01-16.

Framework Changes

  • Fixed strikethrough rendering on light gray title text.
  • Refreshed the Framework 2.2.1 asset bundle with the text decoration fix.

Upgrade Notes

  • No markup changes are required. Screens using strikethrough title text should prefer this patch.

Documentation Changes

  • No separate documentation changes shipped with this patch.

Framework v2.2.0

Released on 2026-01-13.

Framework Changes

  • Published the Framework 2.2.0 asset bundle with calendar week-number support included in the generated output.
  • Added full View responsiveness support across 1-bit, 2-bit, and 4-bit modes and full, quadrant, half-horizontal, and half-vertical views.
  • Added base-size styling for components and elements including Progress, Rich Text, Table, Label, Title, Value, Image Stroke, and Text Stroke.
  • Improved gap, rounded, and arbitrary size utilities for responsive sizing use cases.
  • Refreshed the versioned CSS and JavaScript archives for the 2.2 line.

Upgrade Notes

  • No markup changes are required for existing screens.
  • Re-test custom responsive View layouts because 2.2 broadens the combinations that receive generated view-specific styling.
  • Use this release when adopting base-size classes or arbitrary responsive size utilities in Framework 2 markup.

Documentation Changes

  • Added or expanded docs for base sizing across Progress, Rich Text, Table, Label, Title, Value, Image Stroke, and Text Stroke.
  • Updated Gap, Rounded, and Size documentation to cover the new responsive sizing behavior.
  • Added plugin layout example pages and Framework example navigation.

Framework v2.1.0

Released on 2025-12-30.

Framework Changes

  • Released Framework 2.1.0 as a refreshed v2 asset bundle.
  • Included clamp reliability work so dynamic content limiting waits more consistently for rendered layout state.
  • Carried forward Flex wrapping, positioning modifier, and flex-item fixes from the late 2.0 window.
  • Preserved v2 CSS and runtime compatibility while tightening layout behavior for dynamic plugin content.

Upgrade Notes

  • No markup changes are required. Existing clamp/content limiter markup should benefit from the runtime fix.
  • Prefer this release over 2.0.x when screens depend on clamping after images, fonts, or dynamic content settle.

Documentation Changes

  • No major docs restructure shipped with this release.
  • The v2 docs continued to serve as the upgrade and troubleshooting reference for clamp and layout behavior.

Framework v2.0.1

Released on 2025-11-10.

Framework Changes

  • Refreshed the Framework 2.0 asset bundle with calendar week-view text alignment fixes.
  • Kept the 2.0 JavaScript and CSS archives aligned with the corrected plugin output.

Upgrade Notes

  • No markup changes are required.
  • Calendar week-view layouts pinned to 2.0 should move to this patch for the alignment fix.

Documentation Changes

  • No separate documentation changes shipped with this asset patch.

Framework v2.0.0

Released on 2025-09-14.

Framework Changes

  • Released the Framework 2 asset line after the RC series that rebuilt responsive screen, view, orientation, and bit-depth behavior.
  • Added the v2 selector and screen mixin stack, including screen size, orientation, bit-depth, and selector-helper utilities used by generated CSS.
  • Expanded responsive utilities across Flex, Grid, Size, Scale, Aspect Ratio, Pixel Ratio, Background, Text, Visibility, and related component selectors.
  • Reworked the plugin render runtime with the v2 Overflow Engine, Clamp Engine, image-settling behavior, content limiter fixes, and generic height-budget handling.
  • Added .screen--1x preview support and corrected UI scale-factor handling so plugin previews render at predictable browser scale.
  • Polished v2 Label, View, Flex wrapping, layout stretching, table, progress, rich text, and title bar behavior before the stable asset publication.
  • Published the stable /css/2.0.0/plugins.css and /js/2.0.0/plugins.js assets after the final plugin-polish pass.

Upgrade Notes

  • Review the Framework v2 upgrade guide before moving markup from the 1.x release line.
  • Test responsive variants across screen size, orientation, and bit-depth; v2 changes how the screen and view layers coordinate those selectors.
  • Recheck custom overflow and clamp markup because v2 moved that behavior into a broader Overflow Engine and Clamp Engine runtime.
  • The old framework_v2 feature flag was removed immediately after the release window; v2 behavior became the default Framework path.

Documentation Changes

  • Added v2 overview, enhancement, troubleshooting, and upgrade guide pages.
  • Rebuilt responsive, flex, grid, overflow, clamp, scale, screen, label, progress, and table-overflow docs around the v2 behavior model.
  • Added responsive test documentation and examples for validating device, orientation, and bit-depth combinations.
  • Updated Framework navigation and sidebar structure so v2 guides and component pages were discoverable from the production docs.

Version 1.x

Framework v1.2.0

Released on 2025-07-28.

Framework Changes

  • Released Framework 1.2.0 with fixes for automatic Column and Grid gaps.
  • Refreshed the final 1.x asset line for version-pinned CSS and JavaScript consumers.
  • Published the last stable v1 bundle before the Framework 2 release-candidate series began.
  • Kept the v1 runtime available for consumers not yet ready to move to v2 responsive behavior.

Upgrade Notes

  • No markup changes are required. Use this release for the latest 1.x Column and Grid gap behavior.
  • Treat 1.2.0 as the safest v1 pin when you are not ready to adopt Framework 2 markup and runtime changes.

Documentation Changes

  • Hotfixed Framework v2 documentation during the same release window while keeping the v1 asset line intact.
  • Prepared the docs surface for the upcoming v2 release-candidate documentation without changing the v1 archive contract.

Framework v1.1.1

Released on 2025-05-20.

Framework Changes

  • Fixed a Title Bar rendering bug in the Framework 1.1 line.
  • Refreshed the 1.1.1 versioned assets with the patch.

Upgrade Notes

  • No markup changes are required. Screens using Title Bar should prefer this patch over 1.1.0.

Documentation Changes

  • Corrected minor documentation copy around the 1.1 release window.

Framework v1.1.0

Released on 2025-05-19.

Framework Changes

  • Published the Framework 1.1.0 asset bundle for the next v1 minor line.
  • Added major runtime and documentation-era improvements for Chart, Content Limiter, Image Stroke, Pixel Perfect, Rich Text, Size, and Text Stroke support.
  • Updated plugins.js alongside the 1.1 CSS assets so richer Framework examples could render in previews.
  • Kept the 1.x runtime and stylesheet assets available for version-pinned consumers.

Upgrade Notes

  • No markup changes are required when upgrading from the latest 1.0 patch.
  • Prefer 1.1.0 or later when using the expanded Chart, Rich Text, Content Limiter, Image Stroke, or Text Stroke examples.

Documentation Changes

  • Reworked the Framework docs layout with updated navigation, sidebar structure, and page headers.
  • Added or expanded Chart, Content Limiter, Image Stroke, Pixel Perfect, Rich Text, Size, and Text Stroke documentation.
  • Refreshed documentation pages across the v1 component and utility set.

Framework v1.0.5

Released on 2025-04-23.

Framework Changes

  • Updated plugin render runtime support used by plugin markup examples.
  • Refreshed the Framework 1.0.5 assets for the latest 1.0 line behavior.

Upgrade Notes

  • No markup changes are required.

Documentation Changes

  • Updated plugin markup example coverage for Framework consumers.
  • Kept the 1.0 docs aligned with the latest plugin example rendering behavior.

Framework v1.0.4

Released on 2025-02-24.

Framework Changes

  • Updated plugin layout runtime behavior in plugins.js.
  • Refreshed the Framework 1.0.4 assets for layout rendering improvements.

Upgrade Notes

  • No markup changes are required.

Documentation Changes

  • No separate documentation changes shipped with this runtime patch.

Framework v1.0.3

Released on 2025-02-06.

Framework Changes

  • Added Fit Value support to the plugin render runtime.
  • Improved format_value runtime behavior in the plugin renderer.
  • Published the 1.0.3 stylesheet and JavaScript assets with the Fit Value and Format Value updates.

Upgrade Notes

  • No markup changes are required for existing Format Value usage.
  • Use this patch when adopting Fit Value helpers in Framework 1.0 markup.

Documentation Changes

  • Added Fit Value documentation with runtime usage examples.
  • Expanded Format Value docs and added Mashup and View examples tied to the completed v1 guide set.

Framework v1.0.2

Released on 2025-02-04.

Framework Changes

  • Updated the plugin render runtime to parallelize JavaScript Framework processing.
  • Refreshed the 1.0.2 stylesheet and runtime assets for version-pinned consumers.
  • Kept the public 1.0 CSS API stable while improving runtime throughput.

Upgrade Notes

  • No markup changes are required.
  • Screens with multiple runtime helpers should benefit from the parallelized processing path.

Documentation Changes

  • No separate documentation changes shipped with this runtime-focused patch.

Framework v1.0.1

Released on 2025-01-21.

Framework Changes

  • Refreshed the Framework 1.0 asset bundle with expanded Size, Flex, Text, and Value coverage.
  • Published updated CSS assets for version-pinned 1.0 consumers.
  • Preserved existing 1.0 class names while broadening the documented utility surface.

Upgrade Notes

  • No markup changes are required when upgrading from 1.0.0.
  • Use this patch if you rely on the Size, Flex, Text, or Value utilities documented in the completed v1 guide set.

Documentation Changes

  • Added substantial docs coverage for Size, Flex, Text, and related core utilities.
  • Updated the Framework landing page to expose the expanded 1.0 utility coverage.

Framework v1.0.0

Released on 2024-11-03.

Framework Changes

  • Released the first stable 1.0 Framework asset bundle after the early 0.0.x CSS publications.
  • Established the versioned CSS baseline for production Framework consumers at /css/1.0.0/plugins.css.
  • Carried forward the early plugin render runtime work for overflow management and value formatting.
  • Stabilized the Grid and View examples used by the public Framework documentation.

Upgrade Notes

  • Pin to 1.0.0 only if you need the first stable v1 behavior rather than later 1.x patches.
  • Prefer later 1.0 patches for expanded runtime support around Format Value, Fit Value, and plugin markup examples.

Documentation Changes

  • Added the first broad public Framework documentation set covering core layout, component, and utility concepts.
  • Refined Grid, View, and code-example pages before the stable v1 publication.
  • Made the Framework docs available without authentication for public consumers.

Version 0.x

Framework v0.0.7

Released on 2024-09-19.

Framework Changes

  • Published the 0.0.7 Plugins CSS Framework asset.
  • Updated the latest early Framework CSS and JavaScript archives for version-pinned consumers.

Upgrade Notes

  • No markup changes are required when upgrading from 0.0.6.

Documentation Changes

  • No separate documentation changes shipped with this asset-only patch.

Framework v0.0.6

Released on 2024-08-18.

Framework Changes

  • Published an improved namespaced version of the early Plugins Framework stylesheet.
  • Refreshed the 0.0.6 CSS and JavaScript archives for version-pinned consumers.

Upgrade Notes

  • Review custom selectors if you depended on pre-namespaced early Framework CSS internals.

Documentation Changes

  • No separate documentation changes shipped with this asset-focused release.

Framework v0.0.5

Released on 2024-07-14.

Framework Changes

  • Expanded early Framework widget and component styling in the 0.0.x asset line.
  • Published the 0.0.5 CSS archive and associated JavaScript runtime asset.

Upgrade Notes

  • No markup changes are required when upgrading from 0.0.4.

Documentation Changes

  • No separate documentation changes shipped with this asset-only patch.

Framework v0.0.4

Released on 2024-07-11.

Framework Changes

  • Continued the early widget stylesheet expansion in the 0.0.x Framework line.
  • Published the 0.0.4 CSS archive and associated JavaScript runtime asset.

Upgrade Notes

  • No markup changes are required when upgrading from 0.0.3.

Documentation Changes

  • No separate documentation changes shipped with this asset-only patch.

Framework v0.0.3

Released on 2024-07-09.

Framework Changes

  • Expanded early widget and component stylesheet coverage in the 0.0.x line.
  • Published the 0.0.3 CSS archive and associated JavaScript runtime asset.

Upgrade Notes

  • No markup changes are required for existing early Framework screens.

Documentation Changes

  • No separate documentation changes shipped with this asset-only patch.

Framework v0.0.2

Released on 2024-06-23.

Framework Changes

  • Refreshed the early Plugins Framework stylesheet after making font assets public.
  • Published the 0.0.2 JavaScript runtime archive for version-pinned consumers.

Upgrade Notes

  • No markup changes are required when moving from 0.0.1.

Documentation Changes

  • No separate documentation changes shipped with this asset-only patch.

Framework v0.0.1

Released on 2024-06-22.

Framework Changes

  • Published the first public Plugins Framework stylesheet for API consumers.
  • Established the initial hosted CSS asset at /css/0.0.1/plugins.css.
  • Added the archived JavaScript runtime asset for the initial Framework line.

Upgrade Notes

  • This is the earliest archived Framework build; prefer a later version unless you need exact early behavior.

Documentation Changes

  • No separate documentation changes shipped with this initial asset publication.