Skip to content

Releases: jaredwray/keyv

2022-11-24

24 Nov 16:25
Compare
Choose a tag to compare

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 is async/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

New Contributors

Full Changelog: 2022-11-06...2022-11-24

2022-11-06

06 Nov 23:59
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: 2022-10-17...2022-11-06

2022-10-17

17 Oct 20:25
fb9ad27
Compare
Choose a tag to compare

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

Full Changelog: 2022-09-19...2022-10-17

2022-09-19

18 Sep 17:48
b524911
Compare
Choose a tag to compare

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 to 4.8.2
  • Test-Suite - Upgraded ava, bignumber.js, and xo to their latest
  • Sqlite - Upgraded the sqlite driver sqlite3 to 5.1.1
  • Postgres - Upgraded the postgres driver pg to 8.8.0

In addition we made the contribution templates used for issues and pull requests more simplistic. 🎉

Full Changelog

Full Changelog: 2022-09-02...2022-09-19

2022-09-02

02 Sep 17:06
Compare
Choose a tag to compare

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 🎉 :

  • brotli: Brotli compression adapter
  • Gzip: Gzip compression adapter

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

21 Aug 18:10
Compare
Choose a tag to compare

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

Full Changelog: 2022-08-08...2022-08-21

2022-08-08

08 Aug 16:08
cdebd49
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: 2022-07-17...2022-08-08

2022-07-17

17 Jul 23:35
Compare
Choose a tag to compare

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

Full Changelog: 2022-07-03...2022-07-17

2022-07-03

03 Jul 18:11
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2022-06-20...2022-07-03

2022-06-20

20 Jun 17:59
a471119
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2022-05-23...2022-06-20