Releases: agentstation/starport
Release list
Starport v1.1.0
Starport v1.1.0 is an OpenAI- and OpenRouter-compatible LLM
inference gateway backed by the Starmap provider and model catalog.
See the README and operator guide before deployment. Verify downloaded
archives with checksums.txt and GitHub artifact attestations.
Changelog
Features
- c159993: feat!: cut over to the single-page console (#177) (@jackspirou)
- 1e0852e: feat(api): expose catalog authors at /api/v1/authors (CP4) (#161) (@jackspirou)
- eac1414: feat(catalog): widen projections with authors, lineage, offerings, and provider policies (CP3) (#160) (@jackspirou)
- 400cc84: feat(console): CM6 keys page with CRUD, budgets, and BYOK (#151) (@jackspirou)
- 973b367: feat(console): CM7 usage page with charts (#152) (@jackspirou)
- 079fb98: feat(console): CM8 presets page with catalog-backed model picker (#153) (@jackspirou)
- 1365e6b: feat(console): CM9 settings page with save-and-test key flow (#154) (@jackspirou)
- cfe8bc4: feat(console): CP1 brand sweep — STARPORT wordmark, API Keys, TTFT, provider display names (#158) (@jackspirou)
- e67da9b: feat(console): KaTeX math and Mermaid diagrams in chat (#141) (@jackspirou)
- b7caed3: feat(console): add author pages (CP11) (#170) (@jackspirou)
- 3d65c35: feat(console): add chat comparison mode (CM12) (#163) (@jackspirou)
- 4e8fe0a: feat(console): add the global command palette (CP12) (#171) (@jackspirou)
- 550e203: feat(console): aligned id column, one id vocabulary, tint for bare marks (#274) (@jackspirou)
- 3fd6a38: feat(console): chat shell and composer with bottom-bar model picker (CM10) (#155) (@jackspirou)
- 48af849: feat(console): complete the model detail page (CP9) (#168) (@jackspirou)
- e56a589: feat(console): design review fixes across the shell, catalog, and chat (#272) (@jackspirou)
- ffc32cd: feat(console): give an operator a view of what an account stores (#235) (@jackspirou)
- e33db83: feat(console): make the models list traversable (CP10) (#169) (@jackspirou)
- 8924b97: feat(console): provider surface redesign — health rollup, credential sources, policy summary (#275) (@jackspirou)
- 9a6385b: feat(console): restore legacy chat UX details (#140) (@jackspirou)
- 421d9a1: feat(console): retool the composer for attachments (CP13) (#172) (@jackspirou)
- 4c94e7b: feat(console): revamp the providers page with identity cards (CP7) (#166) (@jackspirou)
- 07c16e7: feat(console): serve catalog identity marks with an offline fallback chain (CP5) (#162) (@jackspirou)
- 55df516: feat(console): show what a model serves and what a reranker costs (#269) (@jackspirou)
- 7e71726: feat(console): streaming message rendering with Streamdown (CM11) (#156) (@jackspirou)
- 7323e60: feat(files): FIL1, the blob seam (#227) (@jackspirou)
- b5624f4: feat(files): FIL2, the object store backend (#229) (@jackspirou)
- d4f70e8: feat(files): FIL3, the file record (#230) (@jackspirou)
- 6d1887e: feat(files): FIL4, the file routes and their scopes (#231) (@jackspirou)
- 1396097: feat(files): FIL5, retention and deletion (#232) (@jackspirou)
- 2c2f970: feat(gateway): per-request overhead timing seam + x-starport-overhead-ms header (CP14) (#173) (@jackspirou)
- c3d58d2: feat(inference): add the canonical rerank shape (#263) (@jackspirou)
- 7ba4183: feat(jobs): create the seam for work that outlives its request (#239) (@jackspirou)
- a3244b6: feat(jobs): persist a job under its tenant (#240) (@jackspirou)
- 614de91: feat(jobs): submit, poll, and cancel one provider job (#242) (@jackspirou)
- 49fb41c: feat(limits): bound the bytes one account keeps (#233) (@jackspirou)
- 3dd4e9d: feat(modalities): MOD13, one operation set over three guards (#221) (@jackspirou)
- c03ef78: feat(modalities): MOD14, the media types, routes, and scopes (#222) (@jackspirou)
- ea4d986: feat(modalities): MOD15, the console reads the media catalog (#223) (@jackspirou)
- 2ad094b: feat(modalities): MOD16, the media gate runs and the vocabulary has a home (#224) (@jackspirou)
- 4f9b924: feat(modalities): Phase B, non-text chat output end to end (#219) (@jackspirou)
- e9c7b10: feat(protocol): own every rerank wire name in two codecs (#265) (@jackspirou)
- c5579e3: feat(providers): serve the rerank operation at the connector seam (#264) (@jackspirou)
- 6c25827: feat(proxy): let a chat request name a stored file (#234) (@jackspirou)
- 78b40f9: feat(routing): refuse a rerank request to a model that serves other operations (#267) (@jackspirou)
- b72f627: feat(routing): serve the video generation operation (#241) (@jackspirou)
- 39e70e8: feat(server): serve reranking at two routes behind one scope (#266) (@jackspirou)
- c69d904: feat(videos): store a finished asset and serve it under a retention window (#244) (@jackspirou)
- 2080b4d: feat(videos): submit, poll, list, and cancel a video job over HTTP (#243) (@jackspirou)
- 1d3d438: feat: accept the local admin token as a console session grant (#210) (@jackspirou)
- 382f82a: feat: add PostgreSQL and MySQL connects to internal/sqlstore (CSH-B2) (#284) (@jackspirou)
- dd47ab6: feat: add console usage page with request log and real overview stats (#130) (@jackspirou)
- d68af6f: feat: add design tokens, self-hosted Geist, and the app shell (CM2) (#147) (@jackspirou)
- 41fd11a: feat: add internal/sqlstore relational seam with embedded SQLite (CSH-B1) (#283) (@jackspirou)
- 3c7ac77: feat: add per-key limits and budgets with 402 enforcement (#136) (@jackspirou)
- ab9fc23: feat: add the console jobs surface (AMJ8) (#246) (@jackspirou)
- d33adb1: feat: add the models catalog page (CM4) (#149) (@jackspirou)
- f934320: feat: add the overview page with live gateway stats (CM3) (#148) (@jackspirou)
- 0f3812a: feat: add the providers page (CM5) (#150) (@jackspirou)
- 6c033e8: feat: add the tenant seam and the shared limits vocabulary (AON1) (#187) (@jackspirou)
- 6956436: feat: add the usage concept repository (ORP1) (#127) (@jackspirou)
- 500dccb: feat: address a credential by its owner, not by a key (AON4) (#191) (@jackspirou)
- acd31a4: feat: address shared credentials by id on the admin routes (CSH-C2) (#286) (@jackspirou)
- 5eb0daa: feat: bill a rerank turn and bound its spend (#268) (@jackspirou)
- 4c147f1: feat: capture per-request usage records with Starmap-priced cost (#128) (@jackspirou)
- a91915e: feat: catalog freshness surface with generation diff and forced refresh (#131) (@jackspirou)
- 69c038d: feat: chat comparison mode (#138) (@jackspirou)
- e9b922e: feat: complete the provider detail page (CP8) (#167) (@jackspirou)
- 8918650: feat: console catalog freshness surface (#132) (@jackspirou)
- e9ff67b: feat: console key limits and budgets UI (#137) (@jackspirou)
- d19eca2: feat: console lists every shared credential with its access rule (CSH-C3) (#288) (@jackspirou)
- a08a4bb: feat: console presets page and chat routing preferences (ORP9) (#135) (@jackspirou)
- d11a621: feat: enforce the OpenRouter file-parser plugin (#250) (@jackspirou)
- 6e5b12c: feat: give a gateway API key an owning tenant (AON2) (#188) (@jackspirou)
- 4e3fde5: feat: give each credential idea one screen and one owner (#199) (@jackspirou)
- c187c5a: feat: give the machine a local admin token it can hand its operator (#195) (@jackspirou)
- abd1a9c: feat: govern accounts with limits the gateway enforces (#192) (@jackspirou)
- f4dbb3e: feat: let an operator change the authentication mode while the gateway runs (#194) (@jackspirou)
- d3fb6d8...
Starport v1.0.5
Starport v1.0.5 is an OpenAI- and OpenRouter-compatible LLM
inference gateway backed by the Starmap provider and model catalog.
See the README and operator guide before deployment. Verify downloaded
archives with checksums.txt and GitHub artifact attestations.
Changelog
Build and CI
- db99367: build(deps): bump Homebrew/actions/setup-homebrew (#113) (@dependabot[bot])
- 9f3888f: build(deps): bump the go-modules group with 4 updates (#114) (@dependabot[bot])
- fdbc1f3: ci: give every verifier an owner (#115) (@jackspirou)
Other changes
- 60f26a6: deps: consume Starmap Hetzner catalog (#116) (@jackspirou)
Full changelog: v1.0.4...v1.0.5
Starport v1.0.4
Starport v1.0.4 is an OpenAI- and OpenRouter-compatible LLM
inference gateway backed by the Starmap provider and model catalog.
See the README and operator guide before deployment. Verify downloaded
archives with checksums.txt and GitHub artifact attestations.
Changelog
Fixes
- 3a481e1: fix: complete v1.0.3 release readback (#103) (@jackspirou)
Other changes
- 1a6b006: deps: migrate to starmap v0.5.0 (#112) (@jackspirou)
- 49da7fa: plan: APR8 remove completed control plane (#104) (@jackspirou)
- 1243849: plan: activate package ownership refactor (#105) (@jackspirou)
- 4fbde1e: plan: remove completed package ownership control plane (#111) (@jackspirou)
Full changelog: v1.0.3...v1.0.4
Starport v1.0.3
Starport v1.0.3 is an OpenAI- and OpenRouter-compatible LLM
inference gateway backed by the Starmap provider and model catalog.
See the README and operator guide before deployment. Verify downloaded
archives with checksums.txt and GitHub artifact attestations.
Changelog
Build and CI
- 7a2c666: ci: record linked release artifacts (#92) (@jackspirou)
Other changes
- 1430261: Add authenticated provider operations (#100) (@jackspirou)
- 1c1f2c0: Add provider-neutral bootstrap and ephemeral dev mode (#96) (@jackspirou)
- 2dc2bd4: Add scoped provider runtime state (#99) (@jackspirou)
- 2621f02: Reconcile provider credentials outside inference requests (#98) (@jackspirou)
- 1ef838a: Register catalog providers without operator credentials (#97) (@jackspirou)
- e7f0840: plan: complete CDP9.1 release evidence (#93) (@jackspirou)
- f951817: plan: define automatic provider runtime campaign (#95) (@jackspirou)
- b52cd7e: plan: remove completed catalog runtime control plane (#94) (@jackspirou)
- a5d9050: release: verify automatic provider artifacts (#102) (@jackspirou)
Full changelog: v1.0.2...v1.0.3
Starport v1.0.2
Starport v1.0.2 is an OpenAI- and OpenRouter-compatible LLM
inference gateway backed by the Starmap provider and model catalog.
See the README and operator guide before deployment. Verify downloaded
archives with checksums.txt and GitHub artifact attestations.
Changelog
Other changes
- a13e47d: Drive provider runtime from the Starmap catalog (#91) (@jackspirou)
- 6730088: Harden release artifact readback (#88) (@jackspirou)
Full changelog: v1.0.1...v1.0.2
Starport v1.0.1
Starport v1.0.1 is an OpenAI- and OpenRouter-compatible LLM
inference gateway backed by the Starmap provider and model catalog.
See the README and operator guide before deployment. Verify downloaded
archives with checksums.txt and GitHub artifact attestations.
Changelog
Features
- 7561450: feat: add safe first-run initialization (#80) (@jackspirou)
Other changes
- d269c24: Add renewable cloud inference credentials (#82) (@jackspirou)
- a6687f1: Add safe configuration inspection and startup diagnosis (#81) (@jackspirou)
- 57608e7: Add verified Homebrew release distribution (#83) (@jackspirou)
- 9ccf2a4: Establish testable CLI command contracts (#79) (@jackspirou)
- d7bfae4: Make Starport setup and developer workflows reproducible (#84) (@jackspirou)
- be127ce: Make configuration pure and platform-aware (#78) (@jackspirou)
- bd81f0f: Publish the Starport CLI Homebrew cask (#87) (@jackspirou)
- 74e78de: Record the Starport developer experience completion gate (#85) (@jackspirou)
- 05f4a79: Use main as the protected default branch (#77) (@jackspirou)
- 7be7b08: plan: improve Starport developer experience (#76) (@jackspirou)
Full changelog: v1.0.0...v1.0.1
Starport v1.0.0
Starport v1.0.0 is an OpenAI- and OpenRouter-compatible LLM
inference gateway backed by the Starmap provider and model catalog.
See the README and operator guide before deployment. Verify downloaded
archives with checksums.txt and GitHub artifact attestations.
Changelog
Features
- b46286d: feat(chatui): Add max-width constraint for improved readability (@jackspirou)
- bf6b09e: feat(chatui): Transform model selector to match t3.chat design (@jackspirou)
- a600cb9: feat: Add Ollama support with improved model sorting (@jackspirou)
- ef0e2cb: feat: Enhance Makefile and reorganize developer documentation (@jackspirou)
- 417cc49: feat: add AgentStation.ai attribution and GitHub icon (@jackspirou)
- 08c0b08: feat: add ChatUI integration, UUIDKey auth, and Vertex AI multi-region support (@jackspirou)
- fcb212d: feat: add OpenRouter-compatible cache control support (@jackspirou)
- 1a0919c: feat: complete Valkey implementation with cache manager integration (@jackspirou)
- da2991e: feat: enhance ChatUI with improved UX and bug fixes (@jackspirou)
- 8d74bad: feat: enhance ChatUI with improved UX and search functionality (@jackspirou)
- 83fb6dd: feat: enhance ChatUI with improved pricing display and token counts (@jackspirou)
- cab29f5: feat: enhance chat UI with improved scroll behavior and UI fixes (@jackspirou)
- ee252ff: feat: establish the Starport v1 architecture (@jackspirou)
- 65d4386: feat: filter models from unconfigured providers and add key query param auth (@jackspirou)
- f4b925d: feat: implement caching for streaming responses (@jackspirou)
- 9b3238b: feat: implement catalog-based model data and provider name updates (@jackspirou)
- 66fe9fa: feat: implement configurable reasoning overhead for accurate duration estimates (@jackspirou)
- 2c6fb39: feat: implement dynamic model validation and invalid model tracking (@jackspirou)
- 2567af5: feat: implement streaming cache support with X-Cache headers (@jackspirou)
- bde30d6: feat: increase chat UI max-width from 768px to 896px (@jackspirou)
- 14e3911: feat: increase chat UI max-width from 896px to 1024px (@jackspirou)
- 1e880e4: feat: update catalog structure to include frontend fields (@jackspirou)
Fixes
- cb5d727: fix: Address linting issues (@jackspirou)
- 916f6d0: fix: comprehensive cache improvements and UI enhancements (@jackspirou)
- 2541993: fix: implement cache status header propagation (@jackspirou)
- 4c76be7: fix: make cache deletion immediately consistent (@jackspirou)
- ee8c34e: fix: make hot reload atomic replacement safe (@jackspirou)
- ce7bf98: fix: provider URL configs and concurrent health checks (@jackspirou)
- 77a8acc: fix: read X-Cache header for cache hit indicators in chat UI (@jackspirou)
- 221592b: fix: resolve failing benchmark tests and update performance metrics (@jackspirou)
- 9fc6c00: fix: resolve lint issues (@jackspirou)
- 7e995b5: fix: resolve lint issues in provider keys refactoring (@jackspirou)
- 8e93be6: fix: resolve padding issues at narrow viewport widths (@jackspirou)
- 2a63594: fix: resolve remaining test failures (@jackspirou)
- 9582ec5: fix: resolve test failures and linter issues (@jackspirou)
- de2321e: fix: true center alignment for attribution text (@jackspirou)
- 1b432fe: fix: update chat UI to resolve 503 error and password field warning (@jackspirou)
- de23195: fix: update tests to match current provider names (@jackspirou)
Performance
- e5b517b: perf: add honest performance metrics and benchmarks (@jackspirou)
Build and CI
- c8486f4: ci(deps): bump codecov/codecov-action from 4 to 5 (@dependabot[bot])
- 295fcf2: ci(deps): bump peter-evans/create-pull-request from 6 to 7 (@dependabot[bot])
- b49a711: ci: align release ownership and lint gates (@jackspirou)
- e87b280: ci: derive the Go toolchain from go.mod (@jackspirou)
- 2ddd2da: ci: isolate Starmap ownership source (@jackspirou)
- 4d91ff1: ci: make ownership guard runner portable (@jackspirou)
- 02cad88: ci: migrate the lint exclusion schema (@jackspirou)
- abd8844: ci: publish security scan artifacts (@jackspirou)
- 2cbb625: ci: restore SARIF upload permissions (@jackspirou)
- b4d9c96: ci: set the Starport v1 binary budget (@jackspirou)
Other changes
- 19446c5: Centralize task status tracking in COORDINATION.md (@jackspirou)
- 67e5c2f: Clean up all references to removed documentation files (@jackspirou)
- 46d8839: Complete Phase 1 task documentation and scripts (@jackspirou)
- 2409019: Consolidate status tracking into TASKS.md (@jackspirou)
- 8513d2c: Enhance spawn script based on P1-S1-1.1 learnings (@jackspirou)
- 1089655: Fix TestHotReloader_HotReload race condition (@jackspirou)
- c7cb8fa: Fix gosec false positive for randomly generated nonce (@jackspirou)
- 3cb3ca7: Fix lint issues: reduce code duplication and fix minor issues (@jackspirou)
- efb0429: Fix linting errors: Add package comments (@jackspirou)
- 1190ea3: Fix task consistency across documentation (@jackspirou)
- 2c84a82: Merge master into task/P1-S2-2.1-storage-interface (@jackspirou)
- 0adc0fb: Optimize CI workflow to reduce action minutes (@jackspirou)
- ae2a7c7: Polish agent system for clarity and best practices (@jackspirou)
- c698fc6: Refactor spawn-agent.sh to use better templating (@jackspirou)
- 09bfb42: Replace spawn-agent.sh with cleaner templated version (@jackspirou)
- cdd6e6c: Synchronize documentation and fix spawn-agent.sh (@jackspirou)
- 406b4e6: Update CLAUDE.md with best practices from P1-S2-2.1 implementation (@jackspirou)
- 87a5f00: Update CLAUDE.md with lessons learned from P1-S2-2.3 implementation (@jackspirou)
- 8a3408f: Update TASKS.md: Mark P1-S1-1.1, P1-S1-1.2, and P1-S1-1.3 as completed (@jackspirou)
- d3a8d24: Update TASKS.md: Mark P1-S1-1.3 as PR ready (@jackspirou)
- f07abf9: Update TASKS.md: Mark P1-S1-1.4 as completed with PR #4 (@jackspirou)
- 5ac46d2: Update TASKS.md: Mark P1-S2-2.1 as complete with PR #6 (@jackspirou)
- b95e57f: Update TASKS.md: Mark P1-S2-2.1 as completed with PR #6 (@jackspirou)
- 9c61670: Update TASKS.md: Mark P1-S3-3.7 as complete with PR #19 (@jackspirou)
- 941a7e3: Update documentation for P1-S3-3.7 completion (@jackspirou)
- 71f8e92: [Context Timeouts] Fix context handling and add configurable timeouts (@jackspirou)
- c125938: [Error Handling] Replace inline errors with package-level constants (@jackspirou)
- 85699d6: [P1-S1-1.1] Initialize repository with Go module structure (@jackspirou)
- c47b95a: [P1-S1-1.2] Set up project structure with CLI framework and CI/CD (@jackspirou)
- cf189a8: [P1-S1-1.3] Set up development environment with CI/CD (@jackspirou)
- 189fed4: [P1-S1-1.4] Implement HTTP server foundation with chi router (@jackspirou)
- 9588d94: [P1-S1-1.5] Implement comprehensive configuration system with hot reload (@jackspirou)
- 486a165: [P1-S2-2.1] Define storage interface abstraction (@jackspirou)
- 20bd6eb: [P1-S2-2.2] Implement Badger DB integration with full KVStore interface (@jackspirou)
- 7c6e514: [P1-S2-2.3] Implement core storage models with encryption (@jackspirou)
- 14fe03a: [P1-S3-3.1] Implement Model Connector Interface (@jackspirou)
- d6fb829: [P1-S3-3.2] Implement LLM Provider Connectors with OpenR...