Releases: jaredwray/keyv
2022-11-24
Maintenance Release 2022-11-24
Most of the updates on this recent release are bug fixes or module updates. Here are the bug fixes:
- Exposing the
disconnect()
function via Typescript - redis issue 558 disconnect definition fix by @jaredwray in #561 - When using the
{opts.compression}
parameter with a compression component it is not working because it isasync/await
fixed issue 559 by @alphmth in #563 (Thanks @alphmth) 🥇 - Typescript Error because of CompressionAdapter on v4.5.1 of Keyv - #557 (Thanks @ODudek!) 🎉
What's Changed
- Fix CompressionAdapter interface definition by @ODudek in #557
- Added Caching Pages SEO by @cprendergast19 in #560
- redis issue 558 disconnect definition fix by @jaredwray in #561
- fixed issue 559 by @alphmth in #563
- sqlite - upgrading xo to 0.53.1 by @jaredwray in #566
- sqlite - upgrading typescript to 4.9.3 by @jaredwray in #567
- sqlite - upgrading ava to 5.1.0 by @jaredwray in #568
- postgres - upgrading xo to 0.53.1 by @jaredwray in #569
- postgres - upgrading typescript to 4.9.3 by @jaredwray in #570
- postgres - upgrading ava to 5.1.0 by @jaredwray in #571
- mysql - upgrading xo to 0.53.1 by @jaredwray in #572
- mysql - upgrading typescript to 4.9.3 by @jaredwray in #573
- mysql - upgrading ava to 5.1.0 by @jaredwray in #574
- etcd - upgrading ava to 5.1.0 by @jaredwray in #575
- etcd - upgrading typescript to 4.9.3 by @jaredwray in #576
- etcd - upgrading xo to 0.53.1 by @jaredwray in #577
- mono - upgrading @types/node to 18.11.9 by @jaredwray in #578
- etcd - upgrading webpack to 5.75.0 by @jaredwray in #579
- tiered - upgrading xo to 0.53.1 by @jaredwray in #580
- tiered - upgrading ava to 5.1.0 by @jaredwray in #581
- tiered - upgrading typescript to 4.9.3 by @jaredwray in #582
- removing this module as no longer needed by @jaredwray in #583
New Contributors
Full Changelog: 2022-11-06...2022-11-24
2022-11-06
Release Notes for 2022-11-06
We have some new updates around mysql
and postgres
storage adapters and a ton of maintenance updates!
Posgres - SSL Support!
We are now supporting SSL for Postgres and thanks to @wgwz for adding this feature! 🎉
const options = {ssl: {rejectUnauthorized: false}};
const keyv = new KeyvPostgres({uri: 'postgresql://postgres:postgres@localhost:5433/keyv_test', ...options})
MySQL - SSL Support!
We now do SSL support inside the MySQL storage adapter. Thanks to @alphmth for adding this feature! 💥
const options = {
ssl: {
rejectUnauthorized: false,
ca: fs.readFileSync(path.join(__dirname, '/certs/ca.pem')).toString(),
key: fs.readFileSync(path.join(__dirname, '/certs/client-key.pem')).toString(),
cert: fs.readFileSync(path.join(__dirname, '/certs/client-cert.pem')).toString(),
},
};
const keyv = new KeyvMysql({uri: 'mysql://root@localhost:3307/keyv_test'});
What's Changed
- Getting Started Guide 🎉 by @cprendergast19 in #530
- fixed ts issue by @alphmth in #534
- Created How to Implement Caching in Javascript Page by @cprendergast19 in #533
- ssl configs for mysql by @alphmth in #532
- Allow passing ssl config options for @keyv/postgres by @wgwz in #529
- keyv - upgrading ava to 5.0.1 by @jaredwray in #535
- keyv - upgrading eslint to 8.26.0 by @jaredwray in #536
- keyv - upgrading xo to 0.52.4 by @jaredwray in #537
- memcache - upgrading ava to 5.0.1 by @jaredwray in #538
- redis - upgrading ava to 5.0.1 by @jaredwray in #539
- redis - upgrading xo to 0.52.4 by @jaredwray in #540
- redis - upgrading ioredis to 5.2.4 by @jaredwray in #541
- redis - removing @types/keyv as no longer needed by @jaredwray in #542
- test-suite - upgrading ava to 5.0.1 by @jaredwray in #543
- test-suite - upgrading xo to 0.52.4 by @jaredwray in #544
- offline - upgrading ava to 5.0.1 by @jaredwray in #545
- offline - upgrading xo to 0.52.4 by @jaredwray in #546
- compress-brotli - upgrading ava to 5.0.1 by @jaredwray in #547
- compress-brotli - upgrading xo to 0.52.4 by @jaredwray in #548
- compress-brotli - upgrading typescript and components to latest by @jaredwray in #549
- compress-gzip - upgrading ava to 5.0.1 by @jaredwray in #550
- compress-gzip - upgrading xo to 0.52.4 by @jaredwray in #551
- compress-gzip - upgrading typescript and components to latest by @jaredwray in #552
- compress-gzip - removing this as no longer needed by @jaredwray in #553
- compress-brotli - removing this module as no longer needed by @jaredwray in #554
- testing code coverage by @jaredwray in #555
New Contributors
- @cprendergast19 made their first contribution in #530
- @wgwz made their first contribution in #529
Full Changelog: 2022-10-17...2022-11-06
2022-10-17
2022-10-17 Release
There has been some bigger updates around the compression libraries and also updates to many of the packages. As always, this includes dependency updates which you can see below under What's Changed. Let's get started:
Typescript update to many of the storage adapters adding in <Value=any>
This was a fix for #512 and we have tested it but happy for any feedback on it.
Compression Packages are now more robust!
We did our initial look at how to add compression into the system and with this latest release made it much more robust. Currently supporting compress-brotli
and compress-gzip
each one of the packages now have type definitions and the main Keyv
has an interface to define what these should look like:
interface CompressionAdapter {
async compress(value: any, options?: any);
async decompress(value: any, options?: any);
async serialize(value: any);
async deserialize(value: any);
}
To use these compression libraries you can do the following:
const KeyvBrotli = require('@keyv/compress-brotli');
const Keyv = require('keyv');
const keyv = new Keyv({store: new Map(), compression: new KeyvBrotli()});
NOTE: when you do use compression the functions serialize
and deserialize
are overwritten.
What's Changed
- redis - removing reliance on this package by @jaredwray in #499
- offline - removing this package as no longer needed by @jaredwray in #500
- fixed namespace clear issue by @alphmth in #501
- keyv - upgrading ava to 4.3.3 by @jaredwray in #503
- Compression Updates by @jaredwray in #502
- Revert "Compression Updates" by @jaredwray in #505
- keyv - upgrading eslint to 8.24.0 by @jaredwray in #504
- keyv - upgrading typescript and tsd to latest by @jaredwray in #506
- keyv - upgrading xo to 0.52.3 by @jaredwray in #507
- memcache - upgrading typescript to 4.8.4 by @jaredwray in #508
- redis - upgrading typescript to 4.8.4 by @jaredwray in #509
- offline - upgrading typescript to 4.8.4 by @jaredwray in #510
- Compression updates v2 by @alphmth in #511
- sqlite - upgrading sqlite3 to 5.1.2 by @jaredwray in #514
- sqlite - upgrading typescript to 4.8.4 by @jaredwray in #515
- sqlite - upgrading xo to 0.52.4 by @jaredwray in #517
- postgres - upgrading typescript to 4.8.4 by @jaredwray in #518
- postgres - upgrading xo to 0.52.4 by @jaredwray in #519
- mysql - upgrading typescript to 0.52.4 by @jaredwray in #520
- mysql - upgrading xo to latest by @jaredwray in #521
- Etcd - upgrading xo to 0.52.4 by @jaredwray in #522
- etcd - upgrading typescript to 4.8.4 by @jaredwray in #524
- tiered - upgrading typescript to 4.8.4 by @jaredwray in #525
- tiered - upgrading xo to 0.52.4 by @jaredwray in #526
- added fix for value by @alphmth in #523
Full Changelog: 2022-09-19...2022-10-17
2022-09-19
Maintenance Release! 🧰
This release is more around maintenance after the Compression Changes. Here are some of the highlights for each package:
- Redis - Upgraded the redis driver
ioredis
to4.8.2
- Test-Suite - Upgraded
ava
,bignumber.js
, andxo
to their latest - Sqlite - Upgraded the sqlite driver
sqlite3
to5.1.1
- Postgres - Upgraded the postgres driver
pg
to8.8.0
In addition we made the contribution templates used for issues and pull requests more simplistic. 🎉
Full Changelog
- memcache - upgrading ava to 4.3.3 by @jaredwray in #463
- memcache - upgrading typescript to 4.8.2 by @jaredwray in #464
- redis - upgrading ioredis to 5.2.3 by @jaredwray in #465
- redis - upgrading xo to 0.52.3 and fixing import type on index.d.ts by @jaredwray in #466
- redis - upgrading ava to 4.3.3 by @jaredwray in #467
- redis - upgrading typescript to 4.8.2 by @jaredwray in #468
- test-suite - upgrading bignumber.js to 9.1.0 by @jaredwray in #469
- test-suite - upgrading ava to 4.3.3 by @jaredwray in #470
- test-suite - upgrading xo to 0.52.3 by @jaredwray in #471
- offline - upgrading xo to 0.52.3 and readme logo by @jaredwray in #472
- offline - upgrading ava to 4.3.3 by @jaredwray in #473
- offline - upgrading tsd, typescript, and ts-node to latest by @jaredwray in #474
- updating readme with direct link to keyv package by @jaredwray in #477
- updating contributing documentation and templates by @jaredwray in #478
- sqlite - upgrading sqlite3 to 5.1.1 by @jaredwray in #480
- sqlite - upgrading ava to 4.3.3 by @jaredwray in #481
- sqlite - upgrading typescript to 4.8.3 and tsd to 0.24.1 by @jaredwray in #482
- sqlite - upgrading xo to 0.52.3 includes index.d.ts type changes by @jaredwray in #483
- postgres - upgrading xo to 0.52.3 by @jaredwray in #484
- postgres - upgrading ava to 4.3.3 by @jaredwray in #485
- postgres - upgrading typescript to and tsd to 0.24.1 by @jaredwray in #486
- postgres - upgrading pg to 8.8.0 by @jaredwray in #487
- mysql - upgrading ava to 4.3.3 by @jaredwray in #488
- mysql - upgrading typescript to 4.8.3 and tsd to 0.24.1 by @jaredwray in #489
- mysql - upgrading xo to 0.52.3 and index.d.ts with types on import by @jaredwray in #490
- etcd - upgrading ava to 4.3.3 by @jaredwray in #491
- etcd - upgrading xo to 0.52.3 and index.d.ts with types by @jaredwray in #492
- etcd - upgrading typescript to 4.8.3 and tsd to 0.24.1 by @jaredwray in #493
- etcd - removing pify as no longer needed by @jaredwray in #494
- tiered - upgrading ava to 4.3.3 by @jaredwray in #495
- tiered - upgrading typescript to 4.8.3 and tsd to 0.24.1 by @jaredwray in #496
- tiered - upgrading xo to 0.52.3 and index.d.ts types by @jaredwray in #497
Full Changelog: 2022-09-02...2022-09-19
2022-09-02
Compression Adapters for Keyv >=4.5.0
(Breaking Change ⚠️ )
In the past Keyv
had built in Brotli compression support by using the option {compress: true}
. With this change you now need to provide the compression adapter:
const KeyvBrotli = require('@keyv/compress-brotli');
const Keyv = require('keyv');
const keyv = new Keyv({compression: new KeyvBrotli()});
In addition we now support Brotli
and Gzip
via the following adapters 🎉 :
What's Changed
- added-brotli by @alphmth in #433
- adding in readme for @keyv/compress-brotli by @jaredwray in #453
- moving to serialize the test suites by @jaredwray in #454
- updating tiered readme to have correct urls by @jaredwray in #456
- Gzip compression by @alphmth in #457
- compress-brotli - adding in webpack dependency by @jaredwray in #459
- compress-gzip - adding in readme by @jaredwray in #460
- Readme updates to support compression packages by @jaredwray in #461
- support pako by @alphmth in #462
Full Changelog: 2022-08-21...2022-09-02
2022-08-21
Keyv v4.4.1
- getMany() now will return an array of undefined
or null
based on the storage adapters
A major change that has been released is to fix #431 with returning []
instead of an array of values even if it is undefined
. This has been implemented across all supported storage adapters (https://github.com/jaredwray/keyv#storage-adapters).
In addition there were minor updates to some packages which you can read in What's Changed
👇
Redis v2.5.0
- getMany() updates
- Supporting the new getMany() as discussed in Keyv release
Sqlite v3.6.0
- getMany() updates and new sqlite3 version! 👍
- Supporting the new getMany() as discussed in Keyv release
- Sqlite3 is now on 5.0.11 with some fixes in it!
- minor updates to some packages which you can read in
What's Changed
Etcd v1.1.0
- getMany() updates and exponential backoff on retries
- Supporting the new getMany() as discussed in Keyv release
- Now with
cockatiel
we are doing exponential backoff on retries when there is a failure 🛑 - minor updates to some packages which you can read in
What's Changed
Postges v1.3.0
, Mysql v1.4.0
, Tiered v1.0.1
- getMany() updates
Supporting the new getMany() as discussed in Keyv release 🎉 with some maintenance updates you can read in "What's Changed" 👇
What's Changed
- fixed undefined array issue by @alphmth in #432
- keyv - upgrading ava to 4.3.1 by @jaredwray in #434
- keyv - upgrading eslint to 8.22.0 by @jaredwray in #435
- keyv - upgrading xo to 0.51.0 by @jaredwray in #436
- sqlite - upgrading sqlite3 to 5.0.11 by @jaredwray in #437
- sqlite - upgrading ts-node to 10.9.1 by @jaredwray in #438
- sqlite - upgrading tsd to 0.22.0 by @jaredwray in #439
- sqlite - upgrading xo to 0.51.0 by @jaredwray in #440
- postgres - upgrading ts-node to 10.9.1 by @jaredwray in #441
- postgres - upgrading xo to 0.51.0 by @jaredwray in #442
- mysql - upgrading ts-node to 10.9.1 by @jaredwray in #443
- mysql - upgrading xo to 0.51.0 by @jaredwray in #444
- etcd - upgrading xo to 0.51.0 by @jaredwray in #445
- etcd - removing webpack as no longer needed by @jaredwray in #446
- etcd - upgrading cockatiel to 3.0.0 with exponential backoff on retry by @jaredwray in #447
- tiered - upgrading ts-node to 10.9.1 by @jaredwray in #449
- tiered - updating xo to 0.51.0 by @jaredwray in #450
Full Changelog: 2022-08-08...2022-08-21
2022-08-08
New releases including @keyv/redis to v2.4.0
and @keyv/test-suite to v1.7.5
🎉 . A ton of new updates also have been released and thanks to @dylanseago, @airtoxin, and @alphmth for all the help ❤️
@keyv/redis v2.4.0
Biggest update here is the move to ioredis version 5.2.2 which has some bug fixes and updates.
@keyv/test-suite v1.7.5
Ava
and Xo
have been upgraded to their latest and now shipped in test-suite. 🙌
What's Changed
- Fix Keyv.Options type incorrectly defines store option type by @dylanseago in #405
- Delete console.log by @airtoxin in #418
- Issue 403 by @alphmth in #417
- memcache - upgrade ava to 4.3.1 by @jaredwray in #420
- memcache - upgrading ts-node to 10.9.1 by @jaredwray in #422
- redis - upgrading ioredis to 5.2.2 by @jaredwray in #423
- redis - upgrading ava to 4.3.1 by @jaredwray in #424
- redis - upgrading ts-node to 10.9.1 by @jaredwray in #425
- redis - upgrading xo to 0.51.0 by @jaredwray in #426
- test-suite - upgrading ava to 4.3.1 by @jaredwray in #427
- test-suite - upgrading xo to 0.51.0 by @jaredwray in #428
- offline - upgrading ava to 4.3.1 by @jaredwray in #429
- offline - upgrading xo to 0.51.0 by @jaredwray in #430
New Contributors
- @dylanseago made their first contribution in #405
Full Changelog: 2022-07-17...2022-08-08
2022-07-17
This release has been more maintenance and bug fixes but I wanted to call out @trevor-scheer, @alphmth, and many others who helped test and post any issues. It really helps 👏
Sqlite v3.5.3 Released
This was a maintenance release but did update sqlite3
to the latest version which should help with some minor bug issues that were seen on that module.
Redis v2.3.8 Released
We have now fixed the Redis.Cluster issue and added in supporting documentation to go along with it. 🎉
const KeyvRedis = require('@keyv/redis');
const Redis = require('ioredis');
const Keyv = require('keyv');
const redis = new Redis.Cluster('redis://user:pass@localhost:6379');
const keyvRedis = new KeyvRedis(redis);
const keyv = new Keyv({ store: keyvRedis });
https://github.com/jaredwray/keyv/blob/main/packages/redis/README.md
Keyv v4.3.3 Released
We have updated the getMany
type definition based on this pull request from @trevor-scheer: #384
What's Changed
- Reintroduce
getMany
optional method by @trevor-scheer in #384 - adding unmet peer dependency for eslint by @jaredwray in #402
- fixed redis issue by @alphmth in #406
- redis - removing console.log messages from previous bug fix by @jaredwray in #408
- sqlite - upgrading tsd to 0.22.0 by @jaredwray in #409
- sqlite - upgrading sqlite3 to 5.0.9 by @jaredwray in #410
- sqlite - upgrading ava to 4.3.1 by @jaredwray in #411
- postgres - upgrading ava to 4.3.1 and tsd to 0.22.0 by @jaredwray in #412
- mysql - upgrading ava to 4.3.1 and tsd to 0.22.0 by @jaredwray in #413
- etcd - upgrading tsd, typescript, and ava to latest by @jaredwray in #414
- tiered - upgrading tsd to 0.22.0 and ava to 4.3.1 by @jaredwray in #416
Full Changelog: 2022-07-03...2022-07-17
2022-07-03
What's Changed
- revert promise return type by @alphmth in #383
- keyv - upgrading tsd to version 0.22.0 by @jaredwray in #387
- memcache - upgrading ava to version 4.3.0 by @jaredwray in #388
- memcache - upgrading typescript and tsd to latest by @jaredwray in #389
- test-suite - upgrading xo to version 0.50.0 by @jaredwray in #390
- test-suite - upgrading ava to 4.3.0 by @jaredwray in #391
- offline - upgrading xo to 0.50.0 by @jaredwray in #392
- offline - upgrading ava to 4.3.0 by @jaredwray in #393
- offline - upgrading typescript and tsd to latest by @jaredwray in #394
- redis - upgrading ioredis to 5.1.0 by @jaredwray in #395
- redis - upgrading xo to 0.50.0 by @jaredwray in #396
- redis - upgrading ava to 4.3.0 by @jaredwray in #397
- redis - upgrading typescript and tsd to latest by @jaredwray in #398
- etcd - adding unmet peer webpack by @jaredwray in #399
Full Changelog: 2022-06-20...2022-07-03
2022-06-20
What's Changed
- keyv memcache update 337 by @jaredwray in #345
- adding download sheild to readme by @jaredwray in #346
- Fixing yarn workspaces error by @jaredwray in #348
- Added async deserialize/serialize function types by @cesarfd in #349
- Moving to support Nodejs version 14, 16, and 18 by @jaredwray in #350
- updating codecov reporting to correct branch by @jaredwray in #351
- Documentation: How to use our Mono Repo #324 by @becca-miller in #352
- updating readme with iterator example by @jaredwray in #355
- updating licensing and copyright by @jaredwray in #358
- Add multi-key
get
typings overload by @trevor-scheer in #359 - Add missing
getMany
optional method on Store interface by @trevor-scheer in #362 - Fix memcache README code fencing by @trevor-scheer in #363
- adding in xo support for memcache by @jaredwray in #364
- Add instructions for testing locally by @trevor-scheer in #361
- Revert "Add missing
getMany
optional method on Store interface" by @jaredwray in #365 - upgrading ava to version 4.3.0 by @jaredwray in #366
- upgrading tsd and typescript to latest by @jaredwray in #370
- upgrading sqlite package xo to version 0.50.0 by @jaredwray in #371
- upgrading postgres package ava to version 4.3.0 by @jaredwray in #373
- upgrading postgres package xo to version 0.50.0 by @jaredwray in #374
- upgrading postgres packages typescript to latest by @jaredwray in #375
- Make iterator’s
namespace
parameter optional by @dtinth in #368 - upgrading etcd packages xo and ava to latest by @jaredwray in #376
- upgrading mysql packages ava and xo to latest by @jaredwray in #377
- upgrading mysql to latest typescript version by @jaredwray in #378
- upgrading tiered packages ava and xo to latest by @jaredwray in #379
- upgrading tiered packages typescript and tsd to latest by @jaredwray in #380
- upgrading keyv packages ava and xo to latest by @jaredwray in #381
- upgrading keyv packages typescript and tsd to latest by @jaredwray in #382
New Contributors
- @cesarfd made their first contribution in #349
- @becca-miller made their first contribution in #352
- @trevor-scheer made their first contribution in #359
- @dtinth made their first contribution in #368
Full Changelog: 2022-05-23...2022-06-20