Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
middleapi
/
orpc
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
170
Star
5.6k
Code
Issues
24
Pull requests
3
Discussions
Actions
Projects
Security and quality
7
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
feat(cache): add tag-based caching and revalidation helpers
- #1964
#1964
Open
dinwwwh
wants to merge 59 commits into
main
middleapi/orpc:main
from
claude/orpc-cache-implementation-09e313
middleapi/orpc:claude/orpc-cache-implementation-09e313
Copy head branch name to clipboard
Conversation
Commits
59
聽(59)
Checks
Files changed
Open
feat(cache): add tag-based caching and revalidation helpers
#1964
dinwwwh
wants to merge 59 commits into
main
middleapi/orpc:main
from
claude/orpc-cache-implementation-09e313
middleapi/orpc:claude/orpc-cache-implementation-09e313
Copy head branch name to clipboard
Commits
Commits on Aug 27, 2026
feat(cache): add tag-based caching and revalidation helpers
dinwwwh
committed
282fd1a
View commit details
Copy full SHA for 282fd1a
Browse repository at this point
Merge remote-tracking branch 'middleapi/main' into claude/orpc-cache-implementation-09e313
Show description for 1faf825
dinwwwh
committed
1faf825
View commit details
Copy full SHA for 1faf825
Browse repository at this point
Commits on Aug 28, 2026
refactor(cloudflare): drop the Cache API cache store
dinwwwh
committed
faa7836
View commit details
Copy full SHA for faa7836
Browse repository at this point
refactor(cache): default store key prefixes to none
dinwwwh
committed
9b503ad
View commit details
Copy full SHA for 9b503ad
Browse repository at this point
refactor(cloudflare): rename cache stores to KVCacheStore and WorkersCacheStore
dinwwwh
committed
93288dd
View commit details
Copy full SHA for 93288dd
Browse repository at this point
refactor(cache): unify store constructors on a single options object
dinwwwh
committed
f35e3ad
View commit details
Copy full SHA for f35e3ad
Browse repository at this point
chore(cloudflare): shorten package description
dinwwwh
committed
6c3f4dd
View commit details
Copy full SHA for 6c3f4dd
Browse repository at this point
chore: shorten the cloudflare package description in package lists
dinwwwh
committed
8d5c356
View commit details
Copy full SHA for 8d5c356
Browse repository at this point
refactor(cache): serialize outputs with RPCSerializer and ignore blob outputs
dinwwwh
committed
71cf231
View commit details
Copy full SHA for 71cf231
Browse repository at this point
refactor(cache): encode keys inside stores with sorted key material
dinwwwh
committed
9329af7
View commit details
Copy full SHA for 9329af7
Browse repository at this point
refactor(shared): recurse into Maps and Sets in deepSortKeys
dinwwwh
committed
4649b4c
View commit details
Copy full SHA for 4649b4c
Browse repository at this point
refactor(cache): canonicalize keys after serialization via shared encodeCacheKey
dinwwwh
committed
b2b1ba5
View commit details
Copy full SHA for b2b1ba5
Browse repository at this point
refactor(cache): construct the default key serializer per call
dinwwwh
committed
87232ff
View commit details
Copy full SHA for 87232ff
Browse repository at this point
feat(cache): allow configuring the memory store key serializer
dinwwwh
committed
99ff5a3
View commit details
Copy full SHA for 99ff5a3
Browse repository at this point
docs(cache): document key encoding in the adapters section
dinwwwh
committed
b70ec44
View commit details
Copy full SHA for b70ec44
Browse repository at this point
refactor(cache): make the handler plugin inert until headers are configured
dinwwwh
committed
1cca86b
View commit details
Copy full SHA for 1cca86b
Browse repository at this point
fix(cache): percent-encode uppercase tag characters for case-insensitive caches
dinwwwh
committed
f95ba53
View commit details
Copy full SHA for f95ba53
Browse repository at this point
test(cache): reach full adapter coverage and hoist key encoding
dinwwwh
committed
8129954
View commit details
Copy full SHA for 8129954
Browse repository at this point
refactor(cache)!: publish as @orpc/experimental-cache with prefixed cloudflare stores
dinwwwh
committed
17c31c2
View commit details
Copy full SHA for 17c31c2
Browse repository at this point
Commits on Sep 3, 2026
refactor(cache)!: rework the store contract and header reflection
Show description for c2356fb
dinwwwh
committed
c2356fb
View commit details
Copy full SHA for c2356fb
Browse repository at this point
Merge remote-tracking branch 'upstream/main' into claude/orpc-cache-implementation-09e313
Show description for 313a01f
dinwwwh
committed
313a01f
View commit details
Copy full SHA for 313a01f
Browse repository at this point
Commits on Sep 4, 2026
refactor(shared): split encodeCacheTag out of encodeCacheTagHeader
dinwwwh
committed
e9c8063
View commit details
Copy full SHA for e9c8063
Browse repository at this point
feat!: add Upstash and Bun cache stores, take store clients positionally
Show description for 8a12845
dinwwwh
committed
8a12845
View commit details
Copy full SHA for 8a12845
Browse repository at this point
test(cache): add cross-adapter compatibility suites for the Redis stores
Show description for 49afa3d
dinwwwh
committed
49afa3d
View commit details
Copy full SHA for 49afa3d
Browse repository at this point
docs: sync the packages tables across every package README
dinwwwh
committed
1d9265f
View commit details
Copy full SHA for 1d9265f
Browse repository at this point
fix(cache): wait for the stale-while-revalidate refresh without cache/waitUntil
Show description for 7958a2a
dinwwwh
committed
7958a2a
View commit details
Copy full SHA for 7958a2a
Browse repository at this point
fix(cache): hand the stale-while-revalidate refresh to cache/waitUntil only
Show description for 479d744
dinwwwh
committed
479d744
View commit details
Copy full SHA for 479d744
Browse repository at this point
docs(cache): describe the headers option's current override behavior
dinwwwh
committed
f81e29c
View commit details
Copy full SHA for f81e29c
Browse repository at this point
Update handler-plugin.ts
dinwwwh
committed
3aaafb6
View commit details
Copy full SHA for 3aaafb6
Browse repository at this point
improve
dinwwwh
committed
12694be
View commit details
Copy full SHA for 12694be
Browse repository at this point
feat(cloudflare)!: remove experimental_KVCacheStore
dinwwwh
committed
1c71159
View commit details
Copy full SHA for 1c71159
Browse repository at this point
Commits on Sep 5, 2026
feat(cache): add per-key locks so concurrent misses fill an entry once
Show description for 082d46f
dinwwwh
committed
082d46f
View commit details
Copy full SHA for 082d46f
Browse repository at this point
refactor(shared): move MemoryLock out of the cache package
dinwwwh
committed
685f61f
View commit details
Copy full SHA for 685f61f
Browse repository at this point
Commits on Sep 8, 2026
Merge remote-tracking branch 'upstream/main' into claude/orpc-cache-implementation-09e313
Show description for 0844fe7
dinwwwh
committed
0844fe7
View commit details
Copy full SHA for 0844fe7
Browse repository at this point
feat(cache)!: fold get, set, and lock into one fetch method
Show description for e9f5f59
dinwwwh
committed
e9f5f59
View commit details
Copy full SHA for e9f5f59
Browse repository at this point
feat(cache): let the Vercel store take any Lock, defaulting to MemoryLock
Show description for cb97a43
dinwwwh
committed
cb97a43
View commit details
Copy full SHA for cb97a43
Browse repository at this point
Revert "feat(cache): let the Vercel store take any Lock, defaulting to MemoryLock"
Show description for 10d3af0
dinwwwh
committed
10d3af0
View commit details
Copy full SHA for 10d3af0
Browse repository at this point
refactor(cache): share the Redis flow through BaseRedisCacheStore
Show description for 26f97f9
dinwwwh
committed
26f97f9
View commit details
Copy full SHA for 26f97f9
Browse repository at this point
Commits on Sep 9, 2026
Merge remote-tracking branch 'upstream/main' into claude/orpc-cache-implementation-09e313
dinwwwh
committed
7fed718
View commit details
Copy full SHA for 7fed718
Browse repository at this point
refactor(cache): move BaseRedisCacheStore to adapters/base-redis
Show description for ebf06cc
dinwwwh
committed
ebf06cc
View commit details
Copy full SHA for ebf06cc
Browse repository at this point
refactor(cache): simplify the stores and unify their serializers
Show description for 2a368bb
dinwwwh
committed
2a368bb
View commit details
Copy full SHA for 2a368bb
Browse repository at this point
fix(cache): capture tag versions when a fill starts and report eviction time
Show description for 5b6652c
dinwwwh
committed
5b6652c
View commit details
Copy full SHA for 5b6652c
Browse repository at this point
fix(cache): retry a NOSCRIPT script exactly once
dinwwwh
committed
69f8cc8
View commit details
Copy full SHA for 69f8cc8
Browse repository at this point
refactor(cache): replace the key-value snapshot hook with a fill hook
dinwwwh
committed
468cd88
View commit details
Copy full SHA for 468cd88
Browse repository at this point
Commits on Sep 10, 2026
fix(cache): keep the later fill after a lock takeover, and address review findings
dinwwwh
committed
36eff4f
View commit details
Copy full SHA for 36eff4f
Browse repository at this point
refactor(cache): rename CacheStore.fetch to getOrSet
dinwwwh
committed
9c0d0f4
View commit details
Copy full SHA for 9c0d0f4
Browse repository at this point
fix(cache): fence Redis stores with a lock generation, and encode lone surrogates in tags
dinwwwh
committed
b7d077f
View commit details
Copy full SHA for b7d077f
Browse repository at this point
revert(shared): keep throwing on lone surrogates in cache tags
dinwwwh
committed
2d6aa9a
View commit details
Copy full SHA for 2d6aa9a
Browse repository at this point
Merge remote-tracking branch 'upstream/main' into claude/orpc-cache-implementation-09e313
Show description for e4667ae
dinwwwh
committed
e4667ae
View commit details
Copy full SHA for e4667ae
Browse repository at this point
fix(cache): record stacked cache lookups in lookup order, and cover the new barrel exports
dinwwwh
committed
3a72922
View commit details
Copy full SHA for 3a72922
Browse repository at this point
refactor(bun): prefix the Redis cache store with experimental_
dinwwwh
committed
a1dd378
View commit details
Copy full SHA for a1dd378
Browse repository at this point
feat(cache): sweep expired and revalidated entries from the memory store on writes
dinwwwh
committed
59beee0
View commit details
Copy full SHA for 59beee0
Browse repository at this point
feat(cache): add a BentoCache adapter
dinwwwh
committed
6ee2f55
View commit details
Copy full SHA for 6ee2f55
Browse repository at this point
feat(cache): add TieredCacheStore to layer stores front to back
dinwwwh
committed
84268ab
View commit details
Copy full SHA for 84268ab
Browse repository at this point
Commits on Sep 15, 2026
Merge remote-tracking branch 'upstream/main' into claude/orpc-cache-implementation-09e313
Show description for 7b9bd3d
dinwwwh
committed
7b9bd3d
View commit details
Copy full SHA for 7b9bd3d
Browse repository at this point
refactor(cache): replace the Redis scripts with single-key commands, and coalesce fills through @orpc/experimental-lock
dinwwwh
committed
18715c6
View commit details
Copy full SHA for 18715c6
Browse repository at this point
feat(cache): add a Cacheable adapter
dinwwwh
committed
20976bf
View commit details
Copy full SHA for 20976bf
Browse repository at this point
chore(cache): drop the BentoCache adapter
dinwwwh
committed
76a79a5
View commit details
Copy full SHA for 76a79a5
Browse repository at this point
refactor(cache): switch durations to milliseconds, and share envelope and eviction handling in the key-value base
dinwwwh
committed
67ea012
View commit details
Copy full SHA for 67ea012
Browse repository at this point
You can鈥檛 perform that action at this time.