Skip to content

v0.3.0

Choose a tag to compare

@ChrisJBurns ChrisJBurns released this 26 Nov 16:21
· 19 commits to main since this release
46abc89

🚀 Toolhive Registry Server v0.3.0 is live!

This release represents a major architectural step forward with database-backed storage, comprehensive authentication, and a more streamlined API surface.

Architecture & Storage
• Database-backed registry implementation replaces in-memory storage for better persistence and scalability
• Automatic database migrations run on startup—no manual intervention needed
• Added prime-db command for quick database initialization and testing
• Storage backend is now fully configurable

Authentication & Security
• Multi-provider authentication middleware supports various auth methods
• RFC 9728 protected resource metadata endpoint for standards-compliant auth discovery
• Authentication integration tests and comprehensive documentation added
• Auth package surface reduced for clearer, more maintainable API

Registry & API
• New managed registry type with full CRUD support (including DELETE endpoint)
• Publish endpoint implemented for managed registries
• Enhanced queries to list packages, remotes, and retrieve specific server versions
• Removed legacy v0 APIs and Toolhive format converters for a cleaner codebase

Developer Experience
• Shell scripts replaced with proper Go tests for better reliability
• Improved sync coordinator with decoupled status persistence
• Better type handling for UUIDs, timestamps, and text fields via sqlc
• Implementation structs made private to enforce proper API boundaries

Infrastructure & Dependencies
• Updated actions/checkout (v6), golangci-lint-action (v9.1.0)
• Added Claude Code automation with sub-agents for documentation and PR workflows
• Various dependency bumps including go-git (v5.16.4), smithy-go (v1.23.2)

👋 Welcome to our newest contributor @jonburdo! 🥳

🔗 Full changelog: v0.2.0...v0.3.0

  • Remove ToToolHive converters by @dmartinol in #139
  • Add queries to list packages and remotes by @blkt in #138
  • Update actions/setup-go digest to 4dc6199 by @renovate[bot] in #142
  • Move in-memory service implementation by @blkt in #143
  • Updating test to create UpstreamRegistry by @dmartinol in #144
  • Remove API handler for Toolhive format by @dmartinol in #146
  • Removing v0 APIs by @dmartinol in #149
  • Override sqlc types for UUID, timestamps, and text by @blkt in #148
  • Update module github.com/aws/smithy-go to v1.23.2 by @renovate[bot] in #152
  • Make implementation structs private by @jonburdo in #141
  • Replace shell script with go tests by @blkt in #153
  • Update actions/checkout action to v6 by @renovate[bot] in #150
  • Add query to retrieve a single version of a server by @blkt in #158
  • Update golangci/golangci-lint-action action to v9.1.0 by @renovate[bot] in #159
  • Modify RegistryService interface by @blkt in #160
  • adds sub-agents for claude and entry in main .md to use them by @ChrisJBurns in #163
  • enables claude action by @ChrisJBurns in #164
  • Update anthropics/claude-code-action digest to 6902c22 by @renovate[bot] in #166
  • Update actions/checkout action to v6 by @renovate[bot] in #168
  • Update anthropics/claude-code-action digest to 798cf09 by @renovate[bot] in #167
  • Update index.docker.io/library/golang Docker digest to 6981837 by @renovate[bot] in #169
  • Update module github.com/go-git/go-git/v5 to v5.16.4 by @renovate[bot] in #170
  • Add storage backend configuration to config file by @dmjb in #151
  • Add db-backed implementation of RegistryService by @blkt in #161
  • Add authentication configuration types by @jhrozek in #171
  • Update github/codeql-action digest to fdbfb4d by @renovate[bot] in #173
  • Review model by @rdimitrov in #174
  • Add the managed registry type by @rdimitrov in #176
  • Add multi-provider authentication middleware by @jhrozek in #175
  • Wire API layer and Service layer by @blkt in #177
  • Add database service support to app by @blkt in #179
  • Update anthropics/claude-code-action digest to a7e4c51 by @renovate[bot] in #186
  • Implement a DELETE endpoint for managed registries by @rdimitrov in #182
  • Add RFC 9728 protected resource metadata endpoint by @jhrozek in #183
  • Improve ShouldSync return type by @jonburdo in #172
  • Decouple sync co-ordinator from status persistence by @dmjb in #178
  • Add an authentication middleware factory by @jhrozek in #187
  • Run migrations automatically on app startup by @dmjb in #145
  • Fix config tests by @blkt in #189
  • Integrate auth middleware into app builder and router by @jhrozek in #192
  • Add integration tests for auth middleware by @jhrozek in #195
  • Add prime-db subcommand by @blkt in #190
  • Add authentication documentation to README by @jhrozek in #197
  • Reduce auth package surface by @jhrozek in #196
  • Implement the publish endpoint by @rdimitrov in #188

New Contributors

Full Changelog: v0.2.0...v0.3.0