keyv

Simple key-value storage with support for multiple backends

MIT License

Downloads
145.5M
Stars
2.5K
Committers
54

Bot releases are visible (Hide)

keyv - 2023-06-18

Published by jaredwray over 1 year ago

Package Updates

  • MySql (v1.6.8) - updating mysql2 module to the latest version 🥂
  • Postgres (v1.4.6) - updated to typescript 🎉

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-06-03...2023-06-18

keyv - 2023-06-03

Published by jaredwray over 1 year ago

Package Updates 🍻

  • Memcache v1.4.0 - Migrated to Typescript!
  • Redis v2.6.0 - Migrated to Typescript and a fix for maximum call stack size. Thanks @AuspeXeu 👏

What's Changed

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-05-20...2023-06-03

keyv - 2023-05-20

Published by jaredwray over 1 year ago

Package Updates 👏

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-05-07...2023-05-20

keyv - 2023-05-07

Published by jaredwray over 1 year ago

Package Updates 🎉

  • Redis v2.5.8 - Upgrading ioredis to 5.3.2
  • MySQL v1.6.5 - moving to correct pool configuration object and upgrading mysql2 to 3.2.3

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-04-15...2023-05-07

keyv - 2023-04-15

Published by jaredwray over 1 year ago

Package Releases 🍻

  • Etcd (v1.2.0) - Full rewrite to typescript and module updates!
  • MySQL (v1.6.3) - mysql2 upgraded to latest.

What's Changed

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-04-03...2023-04-15

keyv - 2023-04-03

Published by jaredwray over 1 year ago

Package Updates 🤖

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-03-20...2023-04-03

keyv - 2023-03-20

Published by jaredwray over 1 year ago

Package Releases 🎉

  • @keyv/sqlite (3.6.5) - upgrading sqlite3 to 5.1.6 and other development module updates
  • @keyv/postgres (1.4.4) - upgrading pg to 8.10.0 and other development module updates
  • @keyv/mysql (1.6.2) - upgrading mysql2 to 3.2.0 and other development module updates
  • @keyv/etcd (1.5.5) - upgrading cockatiel to 3.1.1 and other development module updates

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-03-06...2023-03-20

keyv - 2023-03-06

Published by jaredwray over 1 year ago

Package Releases 📢 🙌

  • @keyv/redis (v2.5.6) - updating the ioredis driver to latest
  • @keyv/postgres (v1.4.3) - adding the ability to add in schema to options but defaults to public.
  • @keyv/compress-brotli (v1.1.3) - updating with bug fix https://github.com/jaredwray/keyv/pull/679

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-02-19...2023-03-06

keyv - 2023-02-19

Published by jaredwray over 1 year ago

Package Releases 🎉

  • Test Suite v1.9.0 - A major upgrade moving the entire project to typescript with its own definition files
  • Offline v3.0.7 - Updated documentation on readme
  • Memcache v1.3.6 - Updated documentation
  • Postgres v1.4.2 - Upgrading the pg module to 8.9.0
  • Mysql v1.6.1 - Upgrading mysql2 module to 3.1.2

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-02-04...2023-02-19

keyv - 2023-02-04

Published by jaredwray over 1 year ago

Redis v2.5.5

Update released with upgraded ioredis (v5.3.0) 🎉

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2023-01-21...2023-02-04

keyv - 2023-01-21

Published by jaredwray over 1 year ago

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: https://github.com/jaredwray/keyv/compare/2022-01-07...2023-01-21

keyv - 2022-01-07

Published by jaredwray almost 2 years ago

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: https://github.com/jaredwray/keyv/compare/2022-12-17...2022-01-07

keyv - 2022-12-17

Published by jaredwray almost 2 years ago

@keyv/sqlite is now upgraded

The module has the latest update of sqlite3 now!

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2022-12-05...2022-12-17

keyv - 2022-12-05

Published by jaredwray almost 2 years ago

Maintenance Release 🎉

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

What's Changed

Full Changelog: https://github.com/jaredwray/keyv/compare/2022-11-24...2022-12-05

keyv - 2022-11-24

Published by jaredwray almost 2 years ago

Maintenance Release 2022-11-24

Most of the updates on this recent release are bug fixes or module updates. Here are the bug fixes:

What's Changed

New Contributors

Full Changelog: https://github.com/jaredwray/keyv/compare/2022-11-06...2022-11-24

keyv - 2022-11-06

Published by jaredwray almost 2 years ago

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: https://github.com/jaredwray/keyv/compare/2022-10-17...2022-11-06

keyv - 2022-10-17

Published by jaredwray about 2 years ago

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 https://github.com/jaredwray/keyv/issues/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: https://github.com/jaredwray/keyv/compare/2022-09-19...2022-10-17

keyv - 2022-09-19

Published by jaredwray about 2 years ago

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: https://github.com/jaredwray/keyv/compare/2022-09-02...2022-09-19

keyv - 2022-09-02

Published by jaredwray about 2 years ago

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

Full Changelog: https://github.com/jaredwray/keyv/compare/2022-08-21...2022-09-02

keyv - 2022-08-21

Published by jaredwray about 2 years ago

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: https://github.com/jaredwray/keyv/compare/2022-08-08...2022-08-21

Package Rankings
Top 0.75% on Npmjs.org
Top 27.17% on Repo1.maven.org
Top 4.68% on Proxy.golang.org
Badges
Extracted from project README
build codecov npm npm