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 2026

DX 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 2026

Better 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 2026

README 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 2026

Initial 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/execute

Want to contribute or follow along? Surf is open source.