Thoughts on Wagoe, Clojure full-stack development and FC/IS architecture.
2026-09-07
Release: v1.0.0-beta-8 — what bb setup switches on, it now ships
bb setup could enable an AI provider or a SQL database the generated project did not depend on, and (go) threw. This release ships those libraries, closes setup with what the chosen provider needs, gives bb repl a prompt, and corrects two versions the docs got wrong.
Release: v1.0.0-beta-7 — the version pins a generated project actually gets
beta-6 fixed bb scaffold and then handed it a release-old CLI. This release gates the pins it injects, tells a GitHub rate limit apart from a broken connection, lets bb setup configure Replicate, and runs the smoke against the published tag every night.
Release: v1.0.0-beta-6 — a generated project works end to end
The first commands a new project told you to run did not work. Forty-two fixes on that path, a JWT authentication bypass closed, and two breaking changes — Reitit route data, and web routes under /web.
Release: v1.0.0-beta-5 — running as more than one process
Modules can now run in separate processes and talk over HTTP or an event bus, with a shared circuit breaker — plus twenty-one adapter divergences found by holding cache and jobs to one contract.
Release: v1.0.0-beta-3 — the documented first run now works
A fix release that makes the advertised install path true — install.sh failed three ways on clean Linux, and a new project could not complete its own quickstart. New projects now default to SQLite.
The framework is renamed from Boundary to Wagoe and enters beta — a broad Framework Quality pass with security hardening, observability, storage and email adapters, durable jobs, deployment packaging, and a large performance and architecture cleanup.
Two correctness fixes — the interceptor enter phase now halts on a :response (so auth guards actually reject requests), and tenant-scoped blocks preserve the domain error type instead of masking every failure as a 500.
A framework-wide performance pass — three tiers of benchmarked hot-path fixes — plus a new 'boundary agents update' command and several correctness fixes.
Multi-tenant background jobs — run work once per tenant schema with search_path pinned — plus an idempotent schema-sync path for adding tenant-scoped tables.
A new boundary-mcp server exposes the framework to coding agents over the Model Context Protocol, realtime gains Redis-backed pub/sub for horizontal scaling, AGENTS.md is generated from a single knowledge source — plus a critical Redis cache fix.
Payments hardening — idempotent off-session charges, fail-fast credential checks, and webhook correlation — plus a hexagonal boundary gate, a ports-convention project template, and a new scaling guide.
The Stripe adapter lands — implementing the extended IPaymentProvider port from alpha-30 — plus CI fixes that make tagged alpha releases installable, and a dependency refresh.
The IPaymentProvider port grows off-session payments, checkout expiry and mandate-aware checkout sessions — groundwork for the Stripe PaymentIntents adapter and the boundary-license billing engine.
A Ring wrap-csrf middleware for handlers that bypass the interceptor stack, and a reliable, guarded Clojars publish pipeline — re-shipping CSRF deltas the stale alpha-28 artifact never carried.
Real CSRF protection and security headers for web routes, smarter admin list-view columns, a Redis cache serialization fix, and a unified error-code catalogue.
DX Vision: a 6-phase developer experience overhaul with dev dashboard, REPL power tools, error pipeline, and AI integration. Plus an LRU cache fix and dependency updates.