- e88ea18: Keep ttlPerSchemaCoordinate object reference
- d4fa4c0: Clear idempotent promise on next loop cycle
- 576e355: Improve invalidation chunking
- a4f8936: Aggressive idempotent concurrent identical cached requests
- bd42e6e: Include GraphQL Errors on "Failed to cache due to errors"
- 3572893: concurrencyLimit option, by default 20. Used by "invalidate" function
- 446f3fc: logEvents.events accepts custom log functions for specific events
- 446f3fc: logEvents.log is now optional (console.log default fallback)
- 7f10b84: Never log empty param string, fallback to "null"
- b16d035: Minimum version of Node.js is v16
- b16d035: New "GETRedisTimeout" option to set a maximum amount of milliseconds to wait for the GET redis responses
- b16d035: New "logEvents" option to enable observability of events
- New "debugTtl" option for "createRedisCache" that shows ttl (seconds) of currently-cached responses in metadata extensions
- 2237fde: Always leverage document visit cache
- 007669b: Official Documentation
- b81b3b3: Improve redlock defaults
- 3ea61fd: Fix overwrite existing result extensions
- 7325294: remove lock on finalTtl <= 0
- bfb518f: First class support for ESM
- bfb518f: Make redlock optional + put all options in
redlock
field - bfb518f: Allow to set the expiry time on execution, use $responseCache.setExpiry, $responseCache.getExpiry, and ResponseCacheContext interface to extend user context type
- b649bea: Update ioredis to v5
- 903885f: Clean lock on execution error
- 903885f: Parallel buildEntityInvalidationsKeys
- 903885f: Use "= null" instead of delete (small perf improvement)
- 903885f: Change forEach to for of
- fb69f77: Fix redLock check
- b438abe: Skip redlock functionality
- 7d3da9e: If redis fails on get, skip lock logic
- 48df81a: Redis usage gracefully fails
- 05b8a9e: Improve concurrent get logic
- ac6ed51: fix partial lock settings
- d8724fb: allow customize lock settings
- 08c2aa2: clean
- 5a345ee: esm->cjs
- de0684b: clean
- c6a2bb3: Release