Skip to content

Releases: jaredwray/keyv

2023-01-21

21 Jan 18:17
Compare
Choose a tag to compare

MySql v1.6.0 - MySql2 module upgrade to 3.0.1!

The mysql storage adapter has been upgraded to the latest mysql2 driver which you can read about here: https://github.com/sidorares/node-mysql2/releases/tag/v3.0.0

What's Changed

Full Changelog: 2022-01-07...2023-01-21

2022-01-07

08 Jan 00:40
Compare
Choose a tag to compare

Compress-Gzip v1.2.3

API is all the same but fully re-written in tyepscript and generating its own type file.

Test-Suite v1.8.9 (Maintenance)

Test suite had a module upgraded that is used for testing bignumber.js

What's Changed

Full Changelog: 2022-12-17...2022-01-07

2022-12-17

17 Dec 21:00
Compare
Choose a tag to compare

@keyv/sqlite is now upgraded

The module has the latest update of sqlite3 now!

What's Changed

New Contributors

Full Changelog: 2022-12-05...2022-12-17

2022-12-05

05 Dec 18:20
Compare
Choose a tag to compare

Maintenance Release 🎉

Majup updates to xo, ava, and core development libraries. Very minor changes overall.

What's Changed

Full Changelog: 2022-11-24...2022-12-05

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