Skip to content

Latest commit

 

History

History
43 lines (25 loc) · 3.03 KB

UPGRADING.md

File metadata and controls

43 lines (25 loc) · 3.03 KB

Upgrade Guide

This document describes breaking changes and how to upgrade. For a complete list of changes including minor and patch releases, please refer to the changelog.

v5

Currently available as prerelease: npm i level@next.

Upgraded to [email protected] and (through level-packager@6) levelup@4 and encoding-down@6. Please follow these links for more information. A quick summary: range options (e.g. gt) are now serialized the same as keys, { gt: undefined } is not the same as {}, nullish values are now rejected and streams are backed by readable-stream@3.

In addition, level got browser support! It uses leveldown in node and level-js in browsers (backed by IndexedDB). As such, level-browserify is not needed anymore and will be deprecated later on. To learn what the integration of level-js means for platform, browser and type support, please see the updated README.

v4

Dropped support for node 4. No other breaking changes.

v3

No breaking changes to the level API.

This is an upgrade to leveldown@^3.0.0 which is based on abstract-leveldown@~4.0.0 which in turn contains breaking changes to .batch(). Though this is negated by levelup, we decided to release a new major version in the event of dependents reaching down into db.db.

v2

No breaking changes to the level API.

The parts that make up level have been refactored to increase modularity. This is an upgrade to leveldown@~2.0.0 and level-packager@~2.0.0, which in turn upgraded to levelup@^2.0.0. The responsibility of encoding keys and values moved from levelup to encoding-down, which comes bundled with level-packager.

Being a convenience package, level glues the parts back together to form a drop-in replacement for the users of levelup@1, while staying fully compatible with level@1. One thing we do get for free, is native Promise support.

const db = level('db')
await db.put('foo', 'bar')
console.log(await db.get('foo'))

This does not affect the existing callback API, functionality-wise or performance-wise.

For more information please check the corresponding CHANGELOG.md for: