AkurAI Build
Menu

Public repository / ee7487eee78cd52cdafdcb22b6ff4bf57093d6e9

AkurAI-Framework / site/content/changelog.md

Latest change f977d6331fe5192e19cc1bd3bd3d79ba02bc2361 - release: v0.8.2 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

## 0.8.2 - 2026-06-27

### Added
- **Literal template raw blocks** — the template engine now supports
  `{% raw %}...{% endraw %}` so docs and examples can show `{{ }}` / `{% %}`
  syntax without the parser trying to execute it.
- **Bearer-auth embeddings** — `akurai-vector` now has `embed_with_bearer` and
  `embed_many_with_bearer`, and generated collection APIs read
  `AKURAI_EMBED_API_KEY` so protected OpenAI-compatible routers can power
  semantic search.
- **Animated 3D hero background** — the home-page hero now has a lightweight live
  Three.js gradient (Stripe-style mesh gradient, GPU-only), replacing the static
  illustration. Self-hosted Three.js, no CDN; CSS-gradient fallback and respects
  reduced-motion.

## 0.8.1 - 2026-06-26

### Changed
- Refreshed the default **AkurAI** dark theme to a deeper navy palette with a
  blue→mint accent — matching the AkurAI Drive look.

### Docs
- New **Themes** page under Design System documenting all 17 themes and how to
  use, adopt, and extend them.

## 0.8.0 - 2026-06-26

### Added
- **Named themes** — pick from 17 colour themes (Nord, Claude Code, Catppuccin,
  Solarized, Gruvbox, Tokyo Night, Rosé Pine, Dracula, AkurAI) in light and dark,
  generated by the Rust theme engine and served at `/themes.css`. Switch with the
  header picker; your choice is remembered and the OS light/dark setting is the
  default. Any app on the framework gets the same themes for free.

### Docs
- Added an AkurAI-RustAgent agent OS UI contract for channel-aware timelines,
  confirmations, questions, edit previews, artifacts, and typed receipts.

## 0.7.0 - 2026-06-26

### Added
- **A built-in AI chat UI and tool-result component library** — a streaming chat
  (`/chat`) backed by a new `/api/assistant` endpoint that talks to any
  OpenAI-compatible model, plus **27 tool-result components** (charts, tables, forms,
  approvals, media, social cards, maps, and more) that turn a model's tool output
  into interactive UI. Explore the live gallery at `/ai-components`. It's a 1:1 port
  of assistant-ui + tool-ui into the framework's no-build native-ESM frontend — no
  React. Also added a root `/llms.txt` so LLMs can read the framework's map.

## 0.6.0 - 2026-06-26

### Added
- **SQL aggregates** — `COUNT`, `SUM`, `AVG`, `MIN`, `MAX` and `GROUP BY` are now supported in `SELECT`, so apps can compute dashboard stats directly in a query.
- **Passwordless email sign-in** — sign in with a one-time 6-digit code sent to
  your email (`/login/otp`), in addition to username + password. Codes expire
  after 10 minutes and lock out after 5 wrong tries. The framework hands the code
  to a pluggable sender (logged by default), so you wire in your own email.
- **User roles** — accounts are now `user` or `admin`, so apps can gate
  admin-only pages. The built-in demo user is an admin.

## 0.5.0 - 2026-06-26

### Added
- **Static generation (SSG/ISR)** — mark a route as prerendered and it's rendered
  once and served from cache, with optional timed revalidation. Try `/welcome`.
- **Internationalisation** — translate your pages: per-locale message files, a
  `{{ t "key" }}` template helper, and automatic language negotiation from the
  browser's `Accept-Language`.
- **Error & loading boundaries** — a navigation progress bar and a small helper
  that shows a loading state, then your content, or a retryable error. See
  `/boundaries-demo`.

## 0.4.0 - 2026-06-26

### Added
- **Relations** — link collections together: a `relation` field points at another
  collection, and `?expand=` inlines the referenced record on read.
- **File uploads** — upload files straight to a collection record (multipart), with
  a content-addressed blob store and a download URL per file field.
- **Typed client SDK** — a generated JavaScript client (`createClient()`) with
  per-collection CRUD methods, built from your API at runtime. Demo at `/client-demo`.

### Changed
- **Refreshed landing page** — a two-column hero with a custom illustration and
  gradient feature icons, all hand-authored SVG (no images, no external requests).

## 0.3.0 - 2026-06-26

### Added
- **Admin UI** — a built-in admin at `/admin` to browse, create, edit, search, and
  delete records in any collection, generated from your schema. No build step.
- **SQL `UPDATE` and `DELETE`** — the embedded database now updates and deletes
  rows (with `WHERE`), on top of create/insert/select.
- **CSS engine, now automatic** — `akurai serve`/`dev` scans your markup and serves
  a `utilities.css` of just the classes you use, regenerated live as you edit.
- **Faster static assets** — files are minified and content-hashed with long-cache
  immutable headers out of the box.

## 0.2.0 - 2026-06-26

### Added
- **Auto-generated REST API** — declare your data in `backend/collections.toml`
  and the framework serves CRUD endpoints for it automatically: list, create, read,
  update, and delete records under `/api/collections/<name>/records`, with
  validation and a self-describing `/api/_meta` — no handler code. Three new
  from-scratch crates power it (a TOML parser, a collections engine, and a vector
  library), all pure `std`, zero dependencies.
- **Semantic search** — add `?search=` to a collection and it ranks records by
  meaning, using any OpenAI-compatible embeddings endpoint; with no endpoint
  configured it falls back to plain substring search.

### Docs
- A new **breaking-changes & migration guide** under Docs → Reference, and a policy
  that every breaking change is documented there and in the changelog.
- The contributor guide (`AGENTS.md`) is now split into focused per-domain files.

## 0.1.0 - 2026-06-26

### Added
- **SQL executor** — the embedded database now *runs* queries: `CREATE TABLE`,
  `INSERT`, and `SELECT` (with `WHERE`, `ORDER BY`, and `LIMIT`) execute over the
  B+tree storage engine, and your tables and rows survive a restart.
- **Auth & sessions** — built-in cookie-based login: a `/login` form, a protected
  `/account` page, and `/logout`, all backed by the storage engine. Try the demo
  user `demo` / `akurai`.
- **Islands & hydration** — server-rendered pages can now become interactive in
  just the regions you mark, with no flicker and no virtual DOM. See the
  `/islands` demo.
- **Live component previews** — the component catalog under Docs now shows each
  component *rendered live* next to its copyable markup, instead of just code.
- **One-line install** — the home page has a copyable `curl … | sh` install
  command, and `akurai update` self-updates the CLI to the latest release.
- **SQL engine (parser)** — a from-scratch SQL lexer + parser (SELECT / INSERT /
  CREATE TABLE, with WHERE/ORDER BY/LIMIT) — the first half of the embedded
  database's query layer. Execution comes next.
- **Data loaders** — a route can name a JSON `data` file that's loaded into the
  page, so data-driven pages need no code. See the `/team` demo.
- **SPA router** — optional client-side navigation that fetches and swaps page
  content with smooth View Transitions, while plain links still work without it.
  See the `/spa` demo.
- **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.