Simple key-value storage with support for multiple backends
MIT License
Bot releases are hidden (Show)
Published by jaredwray over 1 year ago
Full Changelog: https://github.com/jaredwray/keyv/compare/2023-06-03...2023-06-18
Published by jaredwray over 1 year ago
Full Changelog: https://github.com/jaredwray/keyv/compare/2023-05-20...2023-06-03
Published by jaredwray over 1 year ago
Full Changelog: https://github.com/jaredwray/keyv/compare/2023-05-07...2023-05-20
Published by jaredwray over 1 year ago
Full Changelog: https://github.com/jaredwray/keyv/compare/2023-04-15...2023-05-07
Published by jaredwray over 1 year ago
mysql2
upgraded to latest.Full Changelog: https://github.com/jaredwray/keyv/compare/2023-04-03...2023-04-15
Published by jaredwray over 1 year ago
Full Changelog: https://github.com/jaredwray/keyv/compare/2023-03-20...2023-04-03
Published by jaredwray over 1 year ago
set
by @joselcvarela in https://github.com/jaredwray/keyv/pull/725
Full Changelog: https://github.com/jaredwray/keyv/compare/2023-03-06...2023-03-20
Published by jaredwray over 1 year ago
schema
to options but defaults to public.Full Changelog: https://github.com/jaredwray/keyv/compare/2023-02-19...2023-03-06
Published by jaredwray over 1 year ago
pg
module to 8.9.0mysql2
module to 3.1.2Full Changelog: https://github.com/jaredwray/keyv/compare/2023-02-04...2023-02-19
Published by jaredwray over 1 year ago
Update released with upgraded ioredis (v5.3.0) 🎉
Full Changelog: https://github.com/jaredwray/keyv/compare/2023-01-21...2023-02-04
Published by jaredwray over 1 year ago
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
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-01-07...2023-01-21
Published by jaredwray almost 2 years ago
API is all the same but fully re-written in tyepscript and generating its own type file.
Test suite had a module upgraded that is used for testing bignumber.js
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-12-17...2022-01-07
Published by jaredwray almost 2 years ago
The module has the latest update of sqlite3 now!
keyv-arango
to 3rd party storage adapters by @TimMikeladze in https://github.com/jaredwray/keyv/pull/615
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-12-05...2022-12-17
Published by jaredwray almost 2 years ago
Majup updates to xo, ava, and core development libraries. Very minor changes overall.
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-11-24...2022-12-05
Published by jaredwray almost 2 years ago
Most of the updates on this recent release are bug fixes or module updates. Here are the bug fixes:
disconnect()
function via Typescript - redis issue 558 disconnect definition fix by @jaredwray in https://github.com/jaredwray/keyv/pull/561
{opts.compression}
parameter with a compression component it is not working because it is async/await
fixed issue 559 by @alphmth in https://github.com/jaredwray/keyv/pull/563 (Thanks @alphmth) 🥇Full Changelog: https://github.com/jaredwray/keyv/compare/2022-11-06...2022-11-24
Published by jaredwray almost 2 years ago
We have some new updates around mysql
and postgres
storage adapters and a ton of maintenance updates!
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})
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'});
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-10-17...2022-11-06
Published by jaredwray about 2 years ago
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:
<Value=any>
This was a fix for https://github.com/jaredwray/keyv/issues/512 and we have tested it but happy for any feedback on it.
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.
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-09-19...2022-10-17
Published by jaredwray about 2 years ago
This release is more around maintenance after the Compression Changes. Here are some of the highlights for each package:
ioredis
to 4.8.2
ava
, bignumber.js
, and xo
to their latestsqlite3
to 5.1.1
pg
to 8.8.0
In addition we made the contribution templates used for issues and pull requests more simplistic. 🎉
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-09-02...2022-09-19
Published by jaredwray about 2 years ago
>=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 🎉 :
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-08-21...2022-09-02
Published by jaredwray about 2 years ago
v4.4.1
- getMany() now will return an array of undefined
or null
based on the storage adaptersA 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
👇
v2.5.0
- getMany() updatesv3.6.0
- getMany() updates and new sqlite3 version! 👍What's Changed
v1.1.0
- getMany() updates and exponential backoff on retriescockatiel
we are doing exponential backoff on retries when there is a failure 🛑What's Changed
v1.3.0
, Mysql v1.4.0
, Tiered v1.0.1
- getMany() updatesSupporting the new getMany() as discussed in Keyv release 🎉 with some maintenance updates you can read in "What's Changed" 👇
Full Changelog: https://github.com/jaredwray/keyv/compare/2022-08-08...2022-08-21