Skip to content

v0.1.0 — first cut

Latest

Choose a tag to compare

@AaronDovTurkel AaronDovTurkel released this 01 May 07:11
· 42 commits to master since this release

First tagged cut of Wun, a Clojure-first server-driven UI framework
shipping web + iOS + Android clients off one wire.

What's in 0.1.0

Server-driven UI runtime

  • Pedestal-based Clojure server with SSE patch broadcasting
  • Capability negotiation with WebFrame fallback at the smallest containing subtree
  • Optimistic morphs: same :morph runs on server (authoritative) and client (predictive)
  • Per-connection screen stack with :wun/navigate / :wun/pop / :wun/replace
  • Per-screen :meta (page title, description, theme-color) — LiveView-style
  • Path configuration: :present :modal renders as a SwiftUI sheet / Compose Dialog
  • Hot-cache persistence (localStorage / UserDefaults / java.util.prefs) so reload doesn't blank
  • Server-side intent dedup (LRU 1024) makes client retries safe
  • Reconnect with exponential backoff on iOS / Android; replay-pending on SSE open

Native clients

  • SwiftUI macOS / iOS demo with WKWebView + WunBridge for in-frame intent dispatch
  • Compose Multiplatform Desktop demo with offline dimming + modal Dialog
  • reagent web client with Hotwire-style body offline class

DX

  • wun CLI (babashka): doctor, status, dev, run, add component/screen/intent, new app/pack, upgrade, migrations, release
  • wun status — per-component coverage matrix across web/iOS/Android/server-html
  • install.sh one-liner installer
  • Auto-upgrade with 24h cache + 1h decline cooldown
  • Migration scripts under migrations/ for breaking-change codemods

AI integration

  • CLAUDE.md / AGENTS.md for coding-agent orientation
  • skills/ — narrow how-to playbooks (add screen with form, wire an intent, etc.)
  • mcp/server.mjs — Model Context Protocol server exposing 5 tools to Claude Desktop / Cursor / Cline / Continue

Docs

Consume

;; deps.edn
{wun/wun-shared {:git/url "https://github.com/Holy-Coders/wun.git"
                 :git/tag "v0.1.0" :git/sha "0b1d6c96aadb39c84069a27da519aa1b7c32de16"
                 :deps/root "wun-shared"}}
// Package.swift
.package(url: "https://github.com/Holy-Coders/wun.git", from: "0.1.0")
// build.gradle.kts (with maven("https://jitpack.io") on resolvers)
implementation("com.github.Holy-Coders.wun:wun-android:v0.1.0")

Heads-up

  • Surface area is intentionally small (three macros + the wire format).
    Expect refinement, not stability, before 1.0.
  • Master is the development branch — we cut releases when something's
    worth pinning to.