Releases: hyperterse/hyperterse
v2.3.0
🎉 Full MCP Spec + SQLite
This release completes MCP specification compliance and adds SQLite as a first-class connector. Hyperterse servers can now expose tools, resources, and prompts in one place — the three pillars of the MCP protocol. Add SQLite (local or Turso/libSQL) for lightweight backends, side‑project demos, or edge-deployed AI apps.
What you can build now: AI agents that read release notes, summarize incidents, or query SQLite — with prompt templates and static context discovered automatically. Zero extra setup beyond config.
Backward compatible — no migration required. Existing configs work as-is; add app/prompts/ and app/resources/ when you're ready.
✨ Features
MCP Resources & Prompts (Full Spec Compliance)
Hyperterse now implements the complete MCP resource and prompt surface. AI clients can discover and consume static context alongside callable tools.
- Resources — Expose read-only content via
resources/list,resources/read, andresources/templates/list. Support concrete resources (fixed URI) and resource templates (parameterizeduri_templatewith{{ id }}placeholders). Content can be inline (text,text_template) or file-backed (file,file_template). - Prompts — Define reusable prompt templates in
app/prompts/**/*.tersewith argument interpolation, completion hints, and multi-message scaffolding. Exposed throughprompts/listandprompts/get; clients get rendered messages with{{ argument }}replaced. - Completion API —
completion/completesupports both prompts and resource templates, so clients get typeahead and validation for template arguments when you declarecompletionvalues. - Subscriptions & notifications —
resources/subscribe/resources/unsubscribe;notifications/resources/updated,notifications/prompts/list_changedfor live updates after model reload. - Discovery conventions — Config in
app/prompts/andapp/resources/; declarative YAML with MIME types, descriptions, and optional argument schemas.
SQLite Connector
A new database connector for SQLite: local files, in-memory, or remote libSQL/Turso.
- Local —
file:./app.db,:memory:, or absolute paths for embedded and dev workloads. - Remote (libSQL / Turso) —
libsql://orhttps://for hosted Turso;http://for self-hosted libSQL. Auth viaauthToken,auth_token, orjwtquery params; TLS control via?tls=0|1. - Adapter config — Uses
app/adapters/*.terselike PostgreSQL and MySQL; same patterns for connection strings, env substitution, and options. - Execution — Parameterized queries, transaction handling, OpenTelemetry tracing, and observability metrics. Compatible with the existing tool executor and framework.
Full Changelog: v2.2.1...v2.3.0
v2.2.1
Bug fixes
- Init command directory path — Fixed directory references from
.agentto.agentswhen scaffolding for Hyperterse integration with AI agents
🔧 Improvements
- Agent skills documentation — Updated the documentation link in SKILL.md to point to the correct resource
- Init output messaging — Revised the output message for running the Hyperterse command after scaffolding
Full Changelog: v2.2.0...v2.2.1
v2.2.0
✨ Features
- Smarter MCP search relevance ranking — Search scoring now adapts to the metadata each tool actually has, improving hit quality across SQL-backed and handler-only tools
🔧 Improvements
- Handler-only tool relevance — Handler-only tools no longer receive statement-based relevance from potential synthetic placeholder statements
- Conversational query matching — Token scoring now applies a soft miss penalty so intent-heavy natural language prompts rank more accurately
- Search ranking test coverage — Added targeted tests for handler-only scoring, conversational queries, and active-weight normalization
Bug fixes
- Search payload shape update — MCP search results no longer include
statement; clients should rely onname,description,relevance_score, andinputs
Full Changelog: v2.1.0...v2.2.0
v2.1.0
✨ Features
- Init command folder support —
hyperterse initnow accepts an optional folder name as argument; scaffolds into<folder>/.hyperterseby default - Script-backed tool scaffolding — Init command generates script-backed tool structure instead of adapter-based config; includes greeting handler example
- Agent skills documentation — New agent skills directory with documentation for Hyperterse integration with AI agents
🔧 Improvements
- Init output path logic — Output file defaults to
<folder>/.hypertersewhen folder is specified; prompts for folder name when not provided - Documentation updates — Revised quickstart and CLI reference to reflect script-backed tools and new project structure
Full Changelog: v2.0.0...v2.1.0
v2.0.0
🎉 Hyperterse v2.0.0 — Tool-First MCP Framework
Hyperterse v2 is a breaking redesign. The framework shifts from a single-file query gateway to a compiled, filesystem-based MCP framework. Define tools in declarative config, add optional TypeScript handlers, and serve them as a standards-compliant MCP server over Streamable HTTP.
✨ Features
- Filesystem-based tool discovery — Each directory under
app/tools/maps to one MCP tool; no manual registration - Declarative tool config — Root config +
app/adapters/*.terse+app/tools/*/config.tersefor clear separation of concerns - Embedded scripting — TypeScript handlers and input/output transforms for logic that config alone cannot express; scripts bundled at compile time
- Per-tool authentication — Pluggable auth per tool:
allow_all,api_key, or custom plugins - Build and serve pipeline —
hyperterse buildcompiles config and scripts into a deployable artifact;hyperterse serveruns from the artifact - Search tool — Built-in MCP search tool with configurable result limit and statement support for tool discovery
- Graceful shutdown — BaseContext-based shutdown for in-flight handlers to complete before exit
🔧 Improvements
- MCP-only transport — Tools exposed exclusively via MCP Streamable HTTP (
/mcp);/query/{name}removed - Per-tool caching — Global cache config plus per-tool override for TTL and behavior
- OpenTelemetry observability — Distributed tracing, metrics, and structured logging out of the box
- CLI commands —
start(with optional--watch),build,serve,validate,init;runreplaced bystart - Project convention —
.hyperterseroot config;hyperterse startfor development
⚠️ Breaking Changes
| Change | Impact | Action |
|---|---|---|
Inline adapters removed |
Config will not parse | Extract to app/adapters/*.terse |
Inline queries removed |
Config will not parse | Extract to app/tools/*/config.terse |
/query/{name} removed |
HTTP clients break | Migrate to MCP tools/call |
| Auth now per-tool | Tools unauthenticated by default | Add auth blocks |
| DSL parser deprecated | Text-format blocks unsupported | Convert to YAML |
| Build step introduced | Direct interpretation replaced | Add build + serve to pipeline |
See the v1 to v2 migration guide for step-by-step migration instructions.
Full Changelog: v1.4.0...v2.0.0
v2.0.0-rc.1
This release turns Hyperterse into a very slim MCP which takes fewer tokens. It only exposes two tools - search & execute. This drastically reduces tool surface and makes it easier to use in smaller context windows.
✨ Features
- Search tool functionality — Added search tool support with configurable result limits for safer, more controllable query responses
- Condensed tool execution — Tools can now only be executed through a unified
executetool by passing their named identified and the required inputs
This is a release candidate of Hyperterse. We welcome feedback and contributions!
Full Changelog: v2.0.0-rc.0...v2.0.0-rc.1
v2.0.0-rc.0
🚨 Hyperterse v2 — Tool-First Rewrite (Breaking)
Hyperterse v2 is a major architectural release that moves the platform from a route/query-centric model to a tool-centric runtime.
This unlocks a cleaner execution model for APIs + MCP, but it also introduces intentional breaking changes for v1 users.
Important: This is a release candidate with large migration impact. If you’re on v1.x, plan and test migration before production rollout.
Why this release matters
- Hyperterse now treats tools as the primary unit of execution.
- Runtime behavior and configuration conventions have been aligned around this model.
- CLI and validation workflows were updated to support the new architecture end-to-end.
- Documentation was restructured to reflect the new mental model and usage patterns.
⚠️ Breaking changes
- Architecture change: route/query-based flows were refactored into a tool-based architecture.
- Config convention updates: project conventions now use .hyperterse-style workflows.
- CLI behavior updates: command surface and runtime expectations were adjusted to match the new model.
- Legacy docs/references removed: deprecated references and outdated docs were cleaned up.
✨ What’s new in v2.0.0-rc.0
- Added build and serve commands to improve operational workflows.
- Improved execution-mode validation for tools.
- Strengthened runtime error handling and diagnostics.
- Enhanced validate command behavior.
- Updated MCP integration and schema support.
- Distribution manifests updated for the v2 RC line.
Migration at a Glance (v1.x → v2)
- Review updated docs and README for the new tool-based model.
- Migrate route/query-style definitions to tool-style definitions.
- Update project/config conventions to current .hyperterse expectations.
- Run validation and regression checks for API + MCP behavior.
- Test release workflows if you rely on prerelease tagging/version automation.
This is a beta release of Hyperterse. We welcome feedback and contributions!
v2 docs: https://hyperterse.mintlify.app
Full Changelog: v1.4.0...v2.0.0-rc.0
v1.4.0
✨ Features
- Query execution caching — Added executor-level query caching to reduce repeated work and improve runtime performance
- Config validation command — Added a dedicated CLI command to validate
.terseconfiguration files before runtime
🔧 Improvements
- CLI error handling and logging — Improved command-level error handling and log output for clearer diagnostics
Full Changelog: v1.3.0...v1.4.0
v1.3.0
✨ Features
- MongoDB connector — New database connector for MongoDB, including BSON-to-JSON parsing and support for MongoDB connection strings and queries
🐛 Bug Fixes
- MySQL connection strings — Fixed URL-to-DSN conversion for MySQL connection strings
- MongoDB JSON responses — Simplified and corrected JSON serialization of MongoDB query results
🔧 Improvements
.envloading — Environment files are now loaded earlier and more reliably during startup
⚠️ Schema Changes
- Configuration schema updated to support
mongodbas a connector type in adapters
Full Changelog: v1.2.1...v1.3.0
v1.2.1
🐛 Bug Fixes
- NPM distribution — Fixed npm-installed CLI not forwarding command-line arguments to the binary; commands will now work correctly when installed via NPM.
This completely went under the radar, and should have been addressed from v1 itself. Apologies from the team!
Full Changelog: v1.2.0...v1.2.1