Skip to content

Release v0.9.0: Node Hono Middleware, Ecosystem Reference Demos, Edge & Core Concurrency Hardening - #54

Merged
Kareem411 merged 12 commits into
mainfrom
release/v0.9.0
Oct 2, 2026
Merged

Kareem411 merged 12 commits into
mainfrom
release/v0.9.0

Conversation

@Kareem411

@Kareem411 Kareem411 commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Overview

Release v0.9.0 brings major additions, enterprise reference architectures, and deep adversarial concurrency hardening to TriCache:

1. First-Class Node.js Hono Middleware Adapter (tricache/hono) (#9, #45)

  • Direct integration with three-tier caching (L1 RAM → L1.5 NVMe /dev/shm → L2 Redis).
  • Weak ETags (W/"..."), RFC 7232 If-None-Match 304 Not Modified support, query key normalization, header preservation, non-2xx status response gating.
  • Kept as an optional peer dependency (peerDependenciesMeta: { "hono": { "optional": true } }).

2. Five Reference Architectures & Documentation Recipes

  • Drizzle ORM (examples/drizzle-orm/): Fingerprinted SQL queries, bind parameters, SWR, and table tag invalidation.
  • Fastify REST API (examples/fastify-api/): Global hook + route-level preHandler caching with 304 handling.
  • Cloudflare Workers & Hono Edge (examples/edge-hono/): Pure Web Standards edge caching with Bloom filter miss protection.
  • NestJS 11 Microservice (examples/nestjs-microservice/): @Cacheable, @CacheEvict, and TriCacheStore for @nestjs/cache-manager.
  • Prometheus Observability (docs/recipes/prometheus-metrics.md, examples/express-api/): Standard /metrics scraping & Grafana dashboard guide.

3. Core Concurrency & Invariant Hardening (Adversarial Systems Audit)

  • Mutation Epoch Fencing: Per-key monotonic mutation epochs (_keyMutationEpochs) abort in-flight SingleFlight and SWR revalidations if the key is mutated or deleted during fetchFn(), preventing zombie resurrection and data overwrites.
  • Disk Deletion Tombstones: Synchronous _pendingDiskDeletes tracking guards against deferred setImmediate disk unlink races, preventing same-tick read-after-delete disk cache revival.
  • Tag Retention during SWR: Preserves generational tag metadata even when extreme L1 memory churn evicts entries during background revalidation, and aborts commit if tag versions bump in-flight.
  • Strict Lifecycle Guards: Operations called on destroyed CacheService instances fast-fail immediately with TriCacheError, preventing orphaned Redis connections.
  • Configurable Backplane Delivery (awaitInvalidationBackplane): Optional guaranteed delivery mode for mission-critical write paths.

4. HTTP Edge & Middleware Resilience

  • Hardened against SSE infinite buffering (text/event-stream), response-level Cache-Control (no-store, private), HTTP 206 Partial Content caching, and downstream CORS/custom header stripping.
  • Resolved dynamic CLI version resolution from package.json and improved Windows named pipe IPC discovery.

Linked Issues

Closes #9
Closes #26
Closes #27
Closes #28
Closes #29


Test & Build Verification

  • 86 test files, 854 passing tests (0 failures).
  • Complete typecheck passed (tsc --noEmit && tsc --noEmit -p tsconfig.test.json).
  • Linter passed with 0 warnings/errors (oxlint).
  • Clean bundle build (ESM, CJS, and DTS).

Copilot AI balanced review requested due to automatic review settings October 2, 2026 14:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Kareem411 Kareem411 self-assigned this Oct 2, 2026
@Kareem411 Kareem411 added documentation Improvements or additions to documentation enhancement New feature or request javascript Pull requests that update javascript code labels Oct 2, 2026
@Kareem411
Kareem411 merged commit e4837df into main Oct 2, 2026
8 checks passed
@Kareem411
Kareem411 deleted the release/v0.9.0 branch October 2, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request javascript Pull requests that update javascript code

Projects

None yet

2 participants