Overview
Restish 2.2.0 adds TOON output for compact, model-friendly structured data, makes local OpenAPI spec startup faster and fresher, and smooths a few upgrade paths around OAuth token caches and PKCS#11 TLS signer setup. It also includes docs updates for the new output format and a small homepage/blog CTA polish pass.
TOON output format
Restish now supports -o toon anywhere rendered response bodies can use an output format. TOON is designed to keep tabular and nested JSON-like data readable while using fewer tokens than pretty JSON or YAML, which is handy when piping API responses into LLM workflows.
The formatter includes dedicated scalar, object, list, tabular-array, delimiter, key-folding, whitespace, and official fixture coverage. toon is also wired into help, completions, filtering, generated command output, and the output-format docs.
Faster local spec startup
Registered APIs that use local spec_files now avoid more unnecessary startup work while still noticing file changes before generated commands run. Local spec cache metadata now tracks nanosecond mtimes when available, falls back safely for older cache entries, and refreshes stale generated metadata before dispatching the selected operation.
Cold starts with missing generated operation caches now point users toward restish api sync, which should make stale or incomplete local cache states easier to recover from.
OAuth and PKCS#11 upgrade polish
Restish now migrates legacy OAuth token cache entries on first use after upgrade. If a token is still cached under the old apiName:profileName key, Restish falls back to it, writes it under the newer OAuth cache key, and removes the old entry without requiring the user to sign in again.
Legacy PKCS#11 TLS config migration also now tells users that restish-pkcs11 must be installed separately in v2, and missing pkcs11 TLS signer errors include the same install hint instead of a generic plugin-not-found message.
Docs and site polish
The docs now cover TOON output, including when tabular encoding applies and how it compares to other response formats. The homepage and blog CTAs also got a small presentation pass.
Changelog
- 9a17d90 Merge pull request #371 from rest-sh/fix/local-spec-startup-cache
- 6797472 Merge pull request #369 from omer-amar/feat/toon-output-format
- f78dcbd Merge pull request #367 from natalie-o-perret/fix/migrate-oauth-token-cache-key
- c6dbac3 Merge pull request #366 from rest-sh/docs/homepage-cta-polish
- b34aac3 test: verify local spec mtime cache precision
- 6d5ed07 fix: speed up local spec startup
- ba610fd docs(output): clarify TOON tabular eligibility
- 8431d00 fix(output): harden TOON formatter conformance
- 1e35277 tests: fix misleading comment
- c51621b test(auth): cover legacy oauth cache migration
- d255eba test(output): cover TOON scalar and list edge cases
- 6aa9790 refactor(output): collapse TOON integer encoding cases
- d3d9d57 docs(output): document TOON format with cross-format benchmarks
- 94e9870 feat(output): add TOON output format
- d9b8039 fix(pkcs11): warn on migration and improve missing plugin error
- 9ccc0d9 fix(cli): hint api sync when spec cache is empty on cold start
- 87e14de fix(auth): migrate legacy token cache keys on first use after upgrade
- 4eb84bf0378fed7dc71191572fcff929f8fb28a4 docs: polish homepage and blog CTAs
Full Changelog: v2.1.2...v2.2.0