This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
ReleasePort's take
Light signalRelease v4.0.0‑beta.14 refactors admin helpers and optimizes rebuild performance while fixing public/admin category count calculations.
Why it matters: Addresses race conditions in analytics and mcp‑oauth‑proxy, improves rebuild speed by reducing DB lookups, and corrects category counts to use published data only; consider testing these changes before production deployment.
Summary
AI summaryRefactored admin helpers, optimized rebuild performance, and fixed public/admin category count calculation.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Performance | Medium |
Improves rebuild performance by computing prev/next from sorted slice instead of DB. Improves rebuild performance by computing prev/next from sorted slice instead of DB. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Performance | Medium |
Improves rebuild performance with bulk comments and shared templateCache. Improves rebuild performance with bulk comments and shared templateCache. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Performance | Medium |
Improves analytics performance by querying top viewed entries directly in SQL. Improves analytics performance by querying top viewed entries directly in SQL. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Performance | Medium |
Improves rebuild performance via bulk tag lookup in writeEntries. Improves rebuild performance via bulk tag lookup in writeEntries. Source: llm_adapter@2026-05-23 Confidence: low |
— |
| Performance | Medium |
Performs bulk tag lookup in writeEntries during rebuild process. Performs bulk tag lookup in writeEntries during rebuild process. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes shared state race conditions in analytics and mcp-oauth-proxy. Fixes shared state race conditions in analytics and mcp-oauth-proxy. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Bugfix | Medium |
Fixes bulk category counts to use published-only sidebar data in public/admin. Fixes bulk category counts to use published-only sidebar data in public/admin. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Bugfix | Medium |
Fixes analytics to attribute slug entry views correctly via EntryResolver. Fixes analytics to attribute slug entry views correctly via EntryResolver. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Bugfix | Medium |
Avoids duplicate weblog loads on public list pages. Avoids duplicate weblog loads on public list pages. Source: llm_adapter@2026-05-23 Confidence: low |
— |
| Refactor | Low |
Moves writeJSON function to util.go in admin package. Moves writeJSON function to util.go in admin package. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Refactor | Low |
Adds parsePositiveID helper and applies it across admin handlers. Adds parsePositiveID helper and applies it across admin handlers. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Refactor | Low |
Adds postFormValue helper and applies it across admin handlers. Adds postFormValue helper and applies it across admin handlers. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
Full changelog
What's Changed
- fix: resolve shared state race conditions in analytics and mcp-oauth-proxy by @takkyun in https://github.com/serendipitynz/serenebach/pull/103
- refactor(admin): move writeJSON to util.go by @takkyun in https://github.com/serendipitynz/serenebach/pull/104
- refactor(admin): add parsePositiveID helper and apply across handlers by @takkyun in https://github.com/serendipitynz/serenebach/pull/105
- refactor(admin): add postFormValue helper and apply across handlers by @takkyun in https://github.com/serendipitynz/serenebach/pull/106
- perf(rebuild): bulk tag lookup in writeEntries by @takkyun in https://github.com/serendipitynz/serenebach/pull/107
- perf(rebuild): compute prev/next from sorted slice instead of DB by @takkyun in https://github.com/serendipitynz/serenebach/pull/108
- perf(rebuild): bulk comments + shared templateCache by @takkyun in https://github.com/serendipitynz/serenebach/pull/109
- fix(public/admin): bulk category counts with published-only sidebar by @takkyun in https://github.com/serendipitynz/serenebach/pull/110
- fix(analytics): attribute slug entry views to entries via EntryResolver by @takkyun in https://github.com/serendipitynz/serenebach/pull/111
- perf(analytics): query top viewed entries in SQL by @takkyun in https://github.com/serendipitynz/serenebach/pull/112
- refactor(public): avoid duplicate weblog loads on list pages by @takkyun in https://github.com/serendipitynz/serenebach/pull/113
Full Changelog: https://github.com/serendipitynz/serenebach/compare/v4.0.0-beta.13...v4.0.0-beta.14
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Serene Bach
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]