10 Commits
Author SHA1 Message Date
Rene Nochebuena f8334f08d1 release: v1.7.0 (coordinated lockstep bump) 2026-08-18 17:56:21 -06:00
Rene Nochebuena f0d1724d06 release: v1.6.0 (coordinated lockstep bump) 2026-08-13 23:11:46 -06:00
Rene Nochebuena 0bef8ceb83 chore(cache-valkey): framework version alignment to v1.5.0 2026-08-12 17:55:51 -06:00
Rene Nochebuena 205b2c828d chore(cache-valkey): dependency refresh; framework version alignment to v1.4.0 2026-08-12 15:28:20 -06:00
Rene Nochebuena b178b03289 chore(cache-valkey): framework version alignment to v1.3.0 2026-08-08 10:48:25 -06:00
Rene Nochebuena 6a6a951525 chore(cache-valkey): framework version alignment to v1.2.0 2026-08-08 02:24:52 -06:00
Rene Nochebuena ad4cd5ec72 chore(cache-valkey): framework version alignment to v1.1.3 2026-08-08 01:26:25 -06:00
Rene Nochebuena df462ca031 chore(cache-valkey): framework version alignment to v1.1.2 2026-08-08 00:43:17 -06:00
Rene Nochebuena 60226ecc01 docs(cache-valkey): fix wiring doc examples; align to v1.1.1 2026-08-07 23:32:17 -06:00
Rene Nochebuena 8907fed474 docs(cache-valkey): fix fictional launcher.Register/health.Register in doc examples (#2)
The package-doc examples showed a fictional launcher.Register / health.Register
API (and launcher.Append as a package func). Corrected to the real wiring:
lc.Append + web/health.NewHandler(...).ServeHTTP.
(component.go doc comment corrected too.)

Documentation-only. No code, API, or dependency changes; version stays v1.1.0
(the v1.1.0 tag is moved to include this fix). Verified by compiling the
corrected pattern against the real API.

Reviewed-on: #2
Co-authored-by: Rene Nochebuena Guerrero <rene@nochebuena.dev>
Co-committed-by: Rene Nochebuena Guerrero <rene@nochebuena.dev>
2026-08-07 22:18:54 -06:00
6 changed files with 113 additions and 32 deletions
+78
View File
@@ -4,6 +4,84 @@ All notable changes to this module are documented here.
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
This module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). This module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.7.0] — 2026-08-14
Minor — coordinated framework release (lockstep versioning). No changes to this module's own API.
### Changed
- Bumped einherjar dependencies to v1.7.0. The behavioural changes in this release are in `spa-server`
(per-file Cache-Control, a navigation-scoped SPA fallback, nosniff, and a non-root image).
## [1.6.0] — 2026-08-13
Minor — coordinated framework release (lockstep versioning). No changes to this module's own API.
### Changed
- Bumped einherjar dependencies to v1.6.0. The framework-wide change in this release is
`web`'s new `httputil.Bind` / `httputil.BindEmpty` request-binding adapters.
## [1.5.0] — 2026-08-09
Minor — coordinated framework version alignment. No code or API changes in this module.
### Changed
- Bumped `contracts`, `core` to v1.5.0.
## [1.4.0] — 2026-08-09
Minor — coordinated framework release: dependency refresh + lockstep version alignment.
### Changed
- Refreshed dependencies to their latest minor/patch where available.
- Bumped `contracts`, `core` to v1.4.0.
## [1.3.0] — 2026-08-08
Minor — coordinated framework version alignment. No code or API changes in this module.
### Changed
- Bumped `contracts`, `core` to v1.3.0.
## [1.2.0] — 2026-08-08
Minor — coordinated framework version alignment. No code or API changes in this module.
### Changed
- Bumped `contracts`, `core` to v1.2.0.
## [1.1.3] — 2026-08-08
Patch — coordinated framework version alignment.
### Changed
- Bumped einherjar dependencies (\`contracts\`, \`core\`) to v1.1.3. No code or API changes.## [1.1.2] — 2026-08-08
Patch — coordinated framework version alignment.
### Changed
- Bumped `contracts`, `core` to v1.1.2. No code or API changes.
## [1.1.1] — 2026-08-07
Patch — corrected doc examples plus framework version alignment.
### Fixed
- Package doc examples used a fictional `launcher.Register` / `health.Register` API; corrected to
`lc.Append` + `web/health.NewHandler(...).ServeHTTP`. Verified by compiling against the real API.
### Changed
- Bumped `contracts` and `core` to v1.1.1.
## [1.1.0] — 2026-08-07 ## [1.1.0] — 2026-08-07
Coordinated framework version alignment — released in lockstep at v1.1.0. Coordinated framework version alignment — released in lockstep at v1.1.0.
+6 -5
View File
@@ -1,6 +1,6 @@
# einherjar/cache-valkey # einherjar/cache-valkey
[![version](https://img.shields.io/badge/version-v1.1.0-5C4EE5?style=flat-square)](https://code.nochebuena.dev/einherjar/cache-valkey) [![version](https://img.shields.io/badge/version-v1.7.0-5C4EE5?style=flat-square)](https://code.nochebuena.dev/einherjar/cache-valkey)
[![license](https://img.shields.io/badge/license-AGPL--3.0-22863A?style=flat-square)](LICENSE) [![license](https://img.shields.io/badge/license-AGPL--3.0-22863A?style=flat-square)](LICENSE)
[![go](https://img.shields.io/badge/Go-1.26+-00ADD8?style=flat-square&logo=go&logoColor=white)](https://go.dev) [![go](https://img.shields.io/badge/Go-1.26+-00ADD8?style=flat-square&logo=go&logoColor=white)](https://go.dev)
[![health](https://img.shields.io/badge/health-degraded-E36209?style=flat-square)]() [![health](https://img.shields.io/badge/health-degraded-E36209?style=flat-square)]()
@@ -17,8 +17,9 @@ import cachevalkey "code.nochebuena.dev/einherjar/cache-valkey"
vk := cachevalkey.New(logger, cachevalkey.Config{ vk := cachevalkey.New(logger, cachevalkey.Config{
Addrs: []string{"localhost:6379"}, Addrs: []string{"localhost:6379"},
}) })
launcher.Register(vk) // OnInit → OnStart → OnStop lc.Append(vk) // OnInit → OnStart → OnStop
health.Register(vk) // PING-based health check, LevelDegraded // vk is observability.Checkable (PING-based, LevelDegraded):
srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
``` ```
## Connecting to other modules ## Connecting to other modules
@@ -30,8 +31,8 @@ them directly to the consuming modules:
```go ```go
// --- 1. Create the component (lifecycle + health + Provider) --- // --- 1. Create the component (lifecycle + health + Provider) ---
vk := cachevalkey.New(logger, cfg) vk := cachevalkey.New(logger, cfg)
launcher.Register(vk) lc.Append(vk)
health.Register(vk) srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
// --- 2. Create adapters (one per consumer interface) --- // --- 2. Create adapters (one per consumer interface) ---
// Each adapter wraps vk (a Provider) and satisfies one interface in another module. // Each adapter wraps vk (a Provider) and satisfies one interface in another module.
+4 -3
View File
@@ -7,10 +7,11 @@ import (
// Component is the full cache-valkey capability: lifecycle management, health checks, // Component is the full cache-valkey capability: lifecycle management, health checks,
// and all Provider operations. // and all Provider operations.
// Register with launcher and health before starting the application: // Append it to a launcher, and wire a health endpoint (it satisfies
// observability.Checkable):
// //
// launcher.Register(vk) // lc.Append(vk)
// health.Register(vk) // srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
type Component interface { type Component interface {
lifecycle.Component lifecycle.Component
observability.Checkable observability.Checkable
+3 -2
View File
@@ -4,8 +4,9 @@
// # Quick start // # Quick start
// //
// vk := cachevalkey.New(logger, cfg) // vk := cachevalkey.New(logger, cfg)
// launcher.Register(vk) // lifecycle: OnInit → OnStart → OnStop // lc.Append(vk) // lifecycle: OnInit → OnStart → OnStop
// health.Register(vk) // health: PING-based, LevelDegraded // // vk satisfies observability.Checkable (PING-based, LevelDegraded) — wire a health endpoint:
// srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
// //
// # Adapters // # Adapters
// //
+4 -4
View File
@@ -3,9 +3,9 @@ module code.nochebuena.dev/einherjar/cache-valkey
go 1.26 go 1.26
require ( require (
code.nochebuena.dev/einherjar/contracts v1.1.0 code.nochebuena.dev/einherjar/contracts v1.7.0
code.nochebuena.dev/einherjar/core v1.1.0 code.nochebuena.dev/einherjar/core v1.7.0
github.com/valkey-io/valkey-go v1.0.54 github.com/valkey-io/valkey-go v1.0.76
) )
require golang.org/x/sys v0.39.0 // indirect require golang.org/x/sys v0.47.0 // indirect
+18 -18
View File
@@ -1,18 +1,18 @@
code.nochebuena.dev/einherjar/contracts v1.1.0 h1:GsGr6reyrd9qCc7D8CqbT1LWPTeeK9lT4r4EdsNA5Ro= code.nochebuena.dev/einherjar/contracts v1.7.0 h1:yhbtmvE8u6KXcuG95p888+4tDIiTXDf5z/siKrjGbrc=
code.nochebuena.dev/einherjar/contracts v1.1.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI= code.nochebuena.dev/einherjar/contracts v1.7.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
code.nochebuena.dev/einherjar/core v1.1.0 h1:zxj9bFPthEEFRnvWV/vgNZqWa2y/kAo3p5pODWablyk= code.nochebuena.dev/einherjar/core v1.7.0 h1:gdjNEgO8E/ALppyBldj27iKQQlWbL/OWV6asdxWLXqU=
code.nochebuena.dev/einherjar/core v1.1.0/go.mod h1:Ot2JbjsnZ33Ed5C9Ev1kSn2PW+F4dLz/LRwIUh+fYt0= code.nochebuena.dev/einherjar/core v1.7.0/go.mod h1:IvSCG7XL4gNyoylwlClKj3jepWBLAKb2QKAgumTRkug=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg=
github.com/valkey-io/valkey-go v1.0.54 h1:pmFRGcMRJW8mHvsWLd/2MSgY6i3WNygpUl904KUaxao= github.com/valkey-io/valkey-go v1.0.76 h1:Rcown7FFseVhG9b0+4MWfMs4xWu8otPzHjrsK044ET4=
github.com/valkey-io/valkey-go v1.0.54/go.mod h1:NE+C8cjb3+XvLazNhiorcLJGhJa9MBAkFNoAW/48/fk= github.com/valkey-io/valkey-go v1.0.76/go.mod h1:6X581PhgfeMkJmyfjIsa2eFdq6dy3Qkkg9zwjM1p42M=
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=