AkurAI Build
Menu

Public repository / 6452dc30cd3f5df3bc6c241143d70f89365547e9

AkurAI-Framework / site/content/changelog.md

Latest change e78f5990bad99318a00b100936b240658a81abe9 - integrate: wire reactivity route+nav, docs sidebar, changelog for 4 parallel features by Ólafur Búi Ólafsson

# Changelog

Notable changes to AkurAI/Framework. The format follows
[Keep a Changelog](https://keepachangelog.com/); the project uses
[semantic versioning](https://semver.org/).

## Unreleased

### Added
- **Reactivity** — a tiny native-JavaScript signals runtime with declarative
  directives (`data-text`, `data-model`, `data-for`, …) — client interactivity
  with no build step and no dependencies. See the `/reactivity` demo.
- **Layouts** — pages can be wrapped in a shared shell template via a `layout`
  field in `routes.json`. See the `/welcome` demo.
- **Asset pipeline** — content-hash fingerprinting and conservative CSS/JS
  minification for long-term-cacheable static assets.
- **Security headers + middleware** — every response now passes through a
  middleware chain that adds security headers (nosniff, frame-deny, referrer
  policy) and a response-time header.
- **Atomic CSS engine** — a new pure-Rust crate that scans your markup and emits
  only the utility CSS you actually use (Tailwind-style, from scratch, no build).
- **SEO** — generated `sitemap.xml` and `robots.txt`, plus per-page titles and
  descriptions for better search and social previews.
- **Durable storage** — the embedded B+tree database now backs live requests.
  The `/guestbook` persists to disk: entries survive a server restart and a
  redeploy. No separate database server — it's one file in the binary's data dir.
- **Form actions** — the server now reads POST bodies and parses HTML forms.
  Try the `/guestbook`: a plain form the server validates, stores, and redirects
  back from — works with JavaScript disabled, and entries are HTML-escaped.
- **Dynamic routes** — a declarative `backend/routes.json` maps URL patterns
  (`/posts/:id`, `/files/*path`) to templates, with captured params available in
  the page as `params`. See the live `/hello/:name` demo.
- **Dev live-reload** — `akurai dev` watches your project and reloads the
  browser on every change over SSE; no plugin, no build step. Production
  (`akurai serve`) is untouched.
- **Router core** — a pure-Rust URL pattern matcher (`/posts/:id`,
  `/files/*path`) with specificity ranking — the foundation for dynamic routes.
- **Bigger component library** — the `/components` page now covers ~30
  components across Actions, Forms, Data display, Feedback, Navigation, and
  Overlays, grouped by category with a quick index. Tabs, modals, toasts,
  dropdowns and the rest are all pure HTML/CSS with native-first behaviour.
- **Realtime — WebSocket & SSE** — bidirectional WebSockets (RFC 6455) and
  Server-Sent Events, both pure `std` with zero dependencies and standards-
  compliant, so a browser's native `WebSocket`/`EventSource` connect directly.
  Demo endpoints `/api/ws` and `/api/events`; see Docs → Realtime.
- **Design system docs** — a foundations page (design tokens) and an extensive
  component catalog (~60 components, from buttons to the admin shell) specifying
  the UI primitives the framework ships. Under Docs → Design system.
- **Roadmap & status page** — Docs → Roadmap now lays out, honestly, what the
  framework ships today versus what's in progress or still planned, measured
  against Next, Vue, and Svelte.
- **akurai-markdown** — a pure-`std` Markdown→HTML renderer (headings, lists,
  code blocks, blockquotes, inline code/bold/italic/links). Powers these docs.
- **Framework website**, served by the framework itself: an authentic landing
  page, sidebar documentation, an API reference, this changelog, and a
  categorized `/components` library.
- **akurai-template** — server-side template engine (`{{ }}`, `{% if %}`,
  `{% for %}`, `{% include %}`) rendering against a JSON context.
- **akurai-storage** — single-file pager and B+tree node encoding; the
  foundation of the embedded database.
- **akurai-json** — JSON value, parser, and serializer with exact int/float.
- **akurai-http** — hand-written HTTP/1.1 server, response builder, thread pool.
- **CLI** — `akurai new` scaffolds a project; `akurai serve` runs it.
- **Deployment** — `deploy.sh ec2` ships a static musl binary behind nginx with
  automatic TLS; live at `akurai-framework.olibuijr.com`.

### Notes
- The shipped binary has **zero runtime dependencies** — the entire stack is
  written from scratch on `std`.

## 0.0.1

Initial foundation: workspace, HTTP core, JSON, the bootstrap CLI, and the
single-binary, zero-dependency thesis proven end to end.