Release history
Changelog
Every version of Surf, from the first commit to the stable release.
4 releases
MIT license
100% TypeScript
Legendfeatfixperfbreak
v0.1.4Minor
21 Mar 2026DX improvements: command examples in manifest, namespace descriptions, better validation errors, standard error codes.
- featCommand `examples` field — show sample request/response pairs in the manifest for dramatically better agent accuracy
- feat`about` field on config/manifest — longer context for agents about what the site does
- featNamespace `_description` — describe what a command group does (e.g. what `cart.*` covers)
- feat`NOT_FOUND` error code — distinct from UNKNOWN_COMMAND for "valid command, missing resource"
- featRate limit info exposed in manifest per command — agents can plan batch operations
- featCommand `tags` for categorization — filter by intent (e.g. read-only, content, interactive)
- fixValidation errors now include actual values — `expected number, got string ("abc")` for agent self-correction
v0.1.2Patch
21 Mar 2026Better documentation, improved CLI install guide, enhanced npm READMEs.
- featCLI README: clearer global install vs npx instructions, PATH troubleshooting
- featAll packages: npm READMEs with badges, ecosystem links, and intro copy
- featWebsite: agent prompt copy section for coding agents
- featWebsite: 4-package ecosystem grid with "when to use" guidance
- featWebsite: "What agents are saying" testimonials section
- featWebsite: Figma-like hero visualisation with switchable demo modes
- fixGitHub README links to SPEC.md and CONTRIBUTING.md now resolve
v0.1.1Patch
21 Mar 2026README improvements for npm pages with proper introductions and badges.
- featAll npm packages now have proper intro sections explaining what they do
- featAdded npm version, MIT license, and GitHub stars badges
- featCross-references between packages for ecosystem navigation
v0.1.0Minor
20 Mar 2026Initial public release. Four packages, full protocol implementation, marketing website.
- feat@surfjs/core — server-side command registry, middleware, manifest generation
- feat@surfjs/client — agent-side SDK with discover, execute, pipeline, sessions
- feat@surfjs/cli — terminal tool: inspect, test, and ping Surf endpoints
- feat@surfjs/devui — interactive browser-based dev inspector
- featProtocol spec v0.1.0 — discovery, transports, auth, error codes
- featFramework adapters: Express, Fastify, Hono, Next.js App Router
- featPipeline execution — chain commands in a single HTTP round-trip
- featSSE streaming for long-running commands
- featWebSocket transport for real-time bidirectional communication
- featSession management with server-side state
- featAuth: Bearer, API key, OAuth2 support with per-command auth levels
- featRate limiting: global and per-command, by IP/session/auth/global
import { createSurf } from '@surfjs/core'
const surf = createSurf({
name: 'My Store',
commands: {
search: {
description: 'Search products',
params: { query: { type: 'string', required: true } },
run: async ({ query }) => db.products.search(query),
},
},
})
app.use(surf.middleware())
// → /.well-known/surf.json + POST /surf/executeWant to contribute or follow along? Surf is open source.