Skip to content

v0.7.0

Latest
Compare
Choose a tag to compare
@busser busser released this 07 Jun 09:05
· 1 commit to main since this release
7f386b4

🔥 Public Go API Available

Murmur's internals are now publicly accessible for Go library usage! All packages have been moved from internal/ to pkg/, enabling other Go programs to import and use Murmur's components directly:

import "github.com/busser/murmur/pkg/murmur"

// Use the provider system directly
providers := murmur.ProviderFactories
awsProvider, _ := providers["awssm"]()

// Access the secret resolution pipeline
secrets := map[string]string{
    "DB_PASSWORD": "awssm:my-database-secret",
}
resolved, _ := murmur.ResolveAll(secrets)

This enables powerful use cases like:

  • Configuration-based secret resolution instead of environment variables
  • Custom secret injection workflows in Go applications
  • Testing with mock providers for unit tests
  • Building custom secret management tools on top of Murmur's provider system

All providers (AWS, Azure, GCP, Scaleway), filters (JSONPath), and core resolution logic are now available for library usage.

More details here: https://github.com/busser/murmur#go-library-usage

📚 Enhanced release process

Major improvements to Murmur's release tooling and documentation:

  • Structured release notes - Organized release notes in docs/release-notes/
  • GoReleaser v2 - Updated configuration for modern release tooling
  • Release automation - New make release and make release-dry-run targets
  • Comprehensive documentation - Detailed release process in CLAUDE.md

This establishes a robust foundation for future Murmur releases with better organization and automation.

🔧 Community contributions

Special thanks to @christianking-gitlab for identifying the need for library usage and contributing the initial implementation approach. This release addresses that need comprehensively while providing maximum flexibility for Go developers.