Release Notes
Introduction
This page documents each release of ReeWeb. For a timeline view of project milestones, see the Changelog.
ReeWeb uses calendar versioning, Ubuntu-style. A release is YY.MM.N - two-digit year, two-digit month, and the release number within that month. 26.07.1 is the first release shipped in July 2026. The version tells you when a release shipped, not what kind of change it carries. The shape:
- Month releases - the first release of a new month is a feature release. It may carry a breaking change, always documented in this entry. Read it before upgrading across months.
- Point releases - later releases within the same month are bug fixes and documentation only. Always safe to upgrade in place.
26.07 - Current
The first release of ReeWeb under calendar versioning.
Included
.reetemplate engine - custom template engine with output tags ({= },{~ }), control flow ({#if},{#each},{#with}), layouts ({#layout}), includes ({#include}), and components via ReeTags. Translation-lookup tags{_ }/{- }/{@ }read from translation namespaces ({@ }renders the value through markdown).- Multi-language support - per-language translation files with cross-language fallback, language-prefixed URLs, hreflang links
- Localized routes - translate URL paths per language via
route_namein translation JSON, with Unicode slugification - Markdown rendering - server-side rendering via
Bun.markdown.html()with frontmatter, syntax highlighting (highlight.js), auto-generated heading IDs, Tailwind class injection - Tailwind CSS v4 - standalone CLI with
@themecustomisation, watch mode for development - Static site generation -
scripts/ssg.tsrenders templates + markdown to static HTML with redirect support - Dev server -
scripts/dev.tswith live reload via WebSocket, file watching, multi-language routing - Redirect system - schema-validated redirects from
config/redirects.ts, emitted as_redirects(Cloudflare format) + HTML stubs - Sitemap & RSS -
scripts/generate_sitemap.tsandscripts/generate_rss.tsfor SEO and blog feeds - Component system - custom HTML element auto-discovery resolves
<my-component>tocomponents/my-component.ree - Content collections -
lib/collect_records.tsfor collecting, filtering, sorting, and paginating markdown records by route. Optional Zod schema validation via_schema.tsfiles. - Pagination -
config/pagination.tswith configurable routes, markdown/loader-backed record sources, window-based page navigation, and<full-pagination>/<simple-pagination>components. - Content visibility -
lib/content_visibility.tswith a five-channel visibility model (render,list,feed,sitemap,index). Draft or unpublished-at-date pages are generated but hidden from every aggregation and markednoindex. - Project hooks -
lib/hooks.tswith typedProjectHooksfor extending scripts without modifying them: helper functions, page data extras, SEO localization, markdown layout resolution, and content visibility. - Data loading - sibling
.tsfiles exportload_template_data()for injecting dynamic data during static site generation - Props convention - all template data accessed via
props.xxx, ReeTag attributes grouped underprops.attributes,...restspread shorthand - Zero runtime dependencies - only dev dependencies (Tailwind CSS v4,
tailwind-merge,@types/bun)
Known limitations
- Search is not yet implemented (search modal is a placeholder)
- No plugin system - template engine extensions require editing source files directly
- No visual editor - templates are hand-authored