Changelog

#243
chore: bump hoek
#242
Add typescript types
#240
Validate engines to detect legacy adaptor modules
12.0.0
breaking changes
#239
Support node v18 and drop node v12
#231
Replace joi with validate
#229
Expose cache client in policy
#228
pendingGenerateTimeout causes weird timing situation
11.0.0
breaking changes
#227
Only node 12
#220
Update joi
#217
Update deps
#216
Update joi dep
#215
Old pendingGenerateTimeout can clear new one
#210
If generate takes longer than staleTimeout, errors get swallowed
#214
Change module namespace
#208
Add changelog.md
#206
Support ioredis client option for catbox-redis
#205
Remove engines
#204
Update hoek v6
#201
Update lab
#200
Unhandled rejection on get() errors
#194
Add bounce protection
#193
Update boom
10.0.0
breaking changes
#192
Require clients to be async
9.0.0
breaking changes
#191
Change policy.get() return value to plain (with override option)
8.0.0
breaking changes
#190
Migrate to async/await
#213
Commercial version of v7 branch
#185
Fix pendingGenerateTimeout timeout issue
#178
Ensure generate timeout is triggered when staleTimeout > ttl
#166
Can we remove the max() from staleIn?
#165
Can't drop method without arguments
#176
Update deps
#168
Update deps
#162
Test on node v6, update dependencies
#152
Adding pendingGenerateTimeout
#149
Proposal: Stale while revalidate - prevent multiple generate calls
#147
Update drop function to allow for object keys
7.0.0
breaking changes
#146
ES6 style changes and node v4
#145
Fixed this.constructor issue
6.0.0
breaking changes
#140
Replace generate cache error handing options
5.0.0
breaking changes
#137
Add generateOnGetError option
#136
Pass cache set() errors when generating value on get()
#134
Require generateTimeout with generateFunc.
#128
Explicitly binding process.domain to the callback
#127
callbacks are called with wrong process.domain
#115
get() can get stuck when first request never returns
#70
No way to monitor cache error rates
#114
Expose cache engine connection isReady as public method
#120
Upgrade to Joi 6
#116
Prefix keys with a `'+'` when using object as a hash
#113
Allow empty keys
#109
Return cached on error when dropOnError is false
#105
StaleIn can be function.
#111
Allow changing policy rules after construction
#104
Fix tests
#103
Explicitly allow hapi keys in policy instead of allowUnknown
#102
Use joi for validating policy rules
4.0.0
breaking changes
#101
Change policy.get() callback to use a consistent signature regardless of generateFunc
#100
Require generateFunc options for staleIn, staleTimeout, and generateTimeout
#99
Remove getOrGenerate()
#98
Adding ability to retain a stale value when generate function fails
#97
Retain stale on error
#95
Leftover background timeouts can interlace with new requests
#93
Rarely cache can serve old value having slower backend
#86
Fix concurrent getOrGenerate bug. Closes #85
#85
Problems with concurrent invocation of getOrGenerate.
#84
null or undefined expiresIn/At break compile
#83
Errors thrown in get() block pending queue
#82
Allow setting cache with default expiresIn 0 (no cache)
#80
Allow setting policy without expiration when server side disabled
#79
Queue get requests
#78
Incomplete coverage when testing at 23:00
#77
expiredAt fails to zero milliseconds
#76
expiredAt returns negative ttl on created < expired < now
#75
Move generate method to policy config
#73
Chain concurrent gets
#71
Update to Lab 4
#69
Error fails to clear cache is error arrives before stale timeout
#68
staleTimeout for first request should returns null if no data at timeout time
3.0.0
breaking changes
#67
Remove internal require() call
#66
Remove large ttl check
#65
Move 32bit ttl restriction to catbox-memory
#62
Bring coverage back to 100%
#58
Allow falsey values to be cached
2.1.0
breaking changes
#56
Policy.getOrGenerate returns content in two different formats
#51
Impossible to use a custom storage backend with the Hapi CLI
#49
Close the redis connection on error
#14
Remove redis and mongodb dependencies (and move to devdeps)
#13
Remove hapi dependencies
#12
Need to better organize config options
#6
Add examples
#5
Document interfaces, features
#4
Bring test coverage to 100%