Skip to content

Version Support

Toolchain floors, bump procedure, and deprecation policy.

Version Support Policy

How old can your toolchain be, and what breaks when floors move? This page is the contract.

Supported floors (v1.17.0)

Dependency Floor Why
Go 1.27 The v1.20.0 release raised every module's go directive to 1.27 (GO-2026-5972/6089/6090 fixes and the 1.27 stdlib baseline). encoding/json/v2 (via errorpage, navigation/breadcrumbs) is stable here — GOEXPERIMENT=jsonv2 is only needed on out-of-support 1.26 and older; the toolchain floor tracks the latest security release (currently 1.27.1 via the flake's go_1_27).
templ v0.3.1100 The generator version the committed *_templ.go files are built with (ships upstream ADR-0004 attribute sanitization). Older generators emit incompatible runtime calls; pair templ-components ≥ v1.27.0 with templ ≥ v0.3.1100.
Tailwind CSS v4.x (4.1+) CSS-first config, @theme, @custom-variant, @source scanning of .templ files. v3 does not support the theming model.
HTMX 2.0.10 (self-hosted, embedded) or 2.x CDN The library embeds 2.0.10 inline; HTMXVersion consumers need 2.x for response-handling defaults the components rely on.

What a floor bump looks like

  1. The floor moves only when a dependency feature or a security fix is actually required — never speculatively.
  2. The bump lands with: the go.mod/go.work change, a CHANGELOG Changed entry naming the new floor and the reason, and a note here.
  3. Consumers on older toolchains get a clear build error (missing encoding/json/v2, unknown runtime symbols) — not silent misbehavior.
  4. tc doctor reports the current floors from inside your project.

Deprecation and removal

  • A deprecated API ships a CHANGELOG Deprecated entry and stays for at least one minor release before removal in the next major (see ADR-0039 in the repository for the module-path mechanics).
  • Breaking changes accumulate in TODO_LIST's Deferred — v2.0 breaking changes section; nothing there ships in a v1 minor.
Last updated Edit this page