From e9a0700dc60d66005a3785d55575fe577ee98270 Mon Sep 17 00:00:00 2001 From: Vincent Weevers Date: Fri, 9 Apr 2021 14:19:43 +0200 Subject: [PATCH] 7.0.0 --- CHANGELOG.md | 23 +++++++++++++++++++++- CONTRIBUTORS.md | 51 +++++++++++++++++++++++++------------------------ README.md | 8 ++++---- UPGRADING.md | 40 ++++++++++++++++++++++++++++++-------- package.json | 2 +- 5 files changed, 85 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d3d64c5..b37d56b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ _**If you are upgrading:** please see [`UPGRADING.md`](UPGRADING.md)._ +## [7.0.0] - 2021-04-09 + +### Changed + +- Replace `immediate` shim with smaller `queue-microtask` ([`a00e3ed`](https://github.com/Level/abstract-leveldown/commit/a00e3ed)) (Vincent Weevers). +- Remove need for full buffer shim (except in test suite) ([`8f79234`](https://github.com/Level/abstract-leveldown/commit/8f79234)) (Vincent Weevers) +- Bump `level-concat-iterator` and `level-supports` ([`0b5e1a3`](https://github.com/Level/abstract-leveldown/commit/0b5e1a3)) (Vincent Weevers) +- **Breaking:** drop support of Safari 11 ([`7c4cce6`](https://github.com/Level/abstract-leveldown/commit/7c4cce6)) (Vincent Weevers) +- Modernize syntax and bump standard from 14.x to 16.x ([`cfe8040`](https://github.com/Level/abstract-leveldown/commit/cfe8040)) (Vincent Weevers) +- Replace `xtend` dependency with `Object.assign()` ([`9d4171f`](https://github.com/Level/abstract-leveldown/commit/9d4171f)) (Vincent Weevers) +- **Breaking:** remove legacy range options (`start` & `end`) ([`979d34f`](https://github.com/Level/abstract-leveldown/commit/979d34f)) ([Level/community#86](https://github.com/Level/community/issues/86)) (Vincent Weevers) +- **Breaking:** drop support of stock Android browser (AOSP) ([`a1fd94e`](https://github.com/Level/abstract-leveldown/commit/a1fd94e)) (Vincent Weevers) +- **Breaking:** drop node 6 and 8 ([`1beee24`](https://github.com/Level/abstract-leveldown/commit/1beee24)) (Vincent Weevers) +- **Breaking (for browsers)**: bump `buffer` from 5.x to 6.x ([#373](https://github.com/Level/abstract-leveldown/issues/373)) ([`f62f38b`](https://github.com/Level/abstract-leveldown/commit/f62f38b)) (Alex Potsides). + +### Added + +- Support arbitrary options on chained batch `put()` and `del()` ([`ba144b2`](https://github.com/Level/abstract-leveldown/commit/ba144b2)) ([Level/levelup#633](https://github.com/Level/levelup/issues/633)) (Vincent Weevers). + ## [6.3.0] - 2020-04-11 ### Changed @@ -103,7 +122,7 @@ _**If you are upgrading:** please see [`UPGRADING.md`](UPGRADING.md)._ ## [6.0.0] - 2018-10-20 -_If you are upgrading, please consult the [Upgrade Guide](UPGRADING.md#v6)._ +_If you are upgrading, please consult the [Upgrade Guide](UPGRADING.md#600)._ ### Changed @@ -819,6 +838,8 @@ No changes. Merely published changes made in `0.8.1`. First release. :seedling: +[7.0.0]: https://github.com/Level/abstract-leveldown/compare/v6.3.0...v7.0.0 + [6.3.0]: https://github.com/Level/abstract-leveldown/compare/v6.2.3...v6.3.0 [6.2.3]: https://github.com/Level/abstract-leveldown/compare/v6.2.2...v6.2.3 diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index fabbde27..75017ffe 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1,27 +1,28 @@ # Contributors -| Name | GitHub | Social | -| :------------------------- | :----------------------------------------------------- | :----------------------------------------------------------------------- | -| **Vincent Weevers** | [**@vweevers**](https://github.com/vweevers) | [**@vweevers@twitter**](https://twitter.com/vweevers) | -| **Rod Vagg** | [**@rvagg**](https://github.com/rvagg) | [**@rvagg@twitter**](https://twitter.com/rvagg) | -| **Lars-Magnus Skog** | [**@ralphtheninja**](https://github.com/ralphtheninja) | [**@ralph@social.weho.st**](https://social.weho.st/@ralph) | -| **Julian Gruber** | [**@juliangruber**](https://github.com/juliangruber) | [**@juliangruber@twitter**](https://twitter.com/juliangruber) | -| **David Björklund** | [**@kesla**](https://github.com/kesla) | [**@david_bjorklund@twitter**](https://twitter.com/david_bjorklund) | -| **Max Ogden** | [**@maxogden**](https://github.com/maxogden) | [**@maxogden@twitter**](https://twitter.com/maxogden) | -| **Thomas Watson Steen** | | | -| **Alan Gutierrez** | [**@bigeasy**](https://github.com/bigeasy) | [**@bigeasy@twitter**](https://twitter.com/bigeasy) | -| **Dean Landolt** | [**@deanlandolt**](https://github.com/deanlandolt) | | -| **Calvin Metcalf** | [**@calvinmetcalf**](https://github.com/calvinmetcalf) | | -| **Meirion Hughes** | [**@MeirionHughes**](https://github.com/MeirionHughes) | | -| **Matteo Collina** | [**@mcollina**](https://github.com/mcollina) | [**@matteocollina@twitter**](https://twitter.com/matteocollina) | -| **Andrew Kelley** | [**@andrewrk**](https://github.com/andrewrk) | | -| **Tapani Moilanen** | [**@Tapppi**](https://github.com/Tapppi) | | -| **Dominic Tarr** | [**@dominictarr**](https://github.com/dominictarr) | [**@dominictarr@twitter**](https://twitter.com/dominictarr) | -| **Hao-kang Den** | | | -| **Hugo Dias** | | | -| **Jake Verbaten** | [**@Raynos**](https://github.com/Raynos) | [**@raynos@twitter**](https://twitter.com/raynos) | -| **Kyle Robinson Young** | [**@shama**](https://github.com/shama) | [**@shamakry@twitter**](https://twitter.com/shamakry) | -| **Nathan Shively-Sanders** | [**@sandersn**](https://github.com/sandersn) | | -| **Nolan Lawson** | [**@nolanlawson**](https://github.com/nolanlawson) | [**@nolan@toot.cafe**](https://toot.cafe/@nolan) | -| **Tim Kuijsten** | [**@timkuijsten**](https://github.com/timkuijsten) | [**@timkuijsten@mastodon.social**](https://mastodon.social/@timkuijsten) | -| **Tim Oxley** | [**@timoxley**](https://github.com/timoxley) | [**@secoif@twitter**](https://twitter.com/secoif) | +| Name | GitHub | Social | +| :------------------------- | :----------------------------------------------------------- | :----------------------------------------------------------------------- | +| **Vincent Weevers** | [**@vweevers**](https://github.com/vweevers) | [**@vweevers@twitter**](https://twitter.com/vweevers) | +| **Rod Vagg** | [**@rvagg**](https://github.com/rvagg) | [**@rvagg@twitter**](https://twitter.com/rvagg) | +| **Lars-Magnus Skog** | [**@ralphtheninja**](https://github.com/ralphtheninja) | [**@ralph@social.weho.st**](https://social.weho.st/@ralph) | +| **Julian Gruber** | [**@juliangruber**](https://github.com/juliangruber) | [**@juliangruber@twitter**](https://twitter.com/juliangruber) | +| **David Björklund** | [**@kesla**](https://github.com/kesla) | [**@david_bjorklund@twitter**](https://twitter.com/david_bjorklund) | +| **Max Ogden** | [**@maxogden**](https://github.com/maxogden) | [**@maxogden@twitter**](https://twitter.com/maxogden) | +| **Thomas Watson Steen** | | | +| **Alan Gutierrez** | [**@bigeasy**](https://github.com/bigeasy) | [**@bigeasy@twitter**](https://twitter.com/bigeasy) | +| **Dean Landolt** | [**@deanlandolt**](https://github.com/deanlandolt) | | +| **Calvin Metcalf** | [**@calvinmetcalf**](https://github.com/calvinmetcalf) | | +| **Meirion Hughes** | [**@MeirionHughes**](https://github.com/MeirionHughes) | | +| **Matteo Collina** | [**@mcollina**](https://github.com/mcollina) | [**@matteocollina@twitter**](https://twitter.com/matteocollina) | +| **Andrew Kelley** | [**@andrewrk**](https://github.com/andrewrk) | | +| **Tapani Moilanen** | [**@Tapppi**](https://github.com/Tapppi) | | +| **Alex Potsides** | | | +| **Dominic Tarr** | [**@dominictarr**](https://github.com/dominictarr) | [**@dominictarr@twitter**](https://twitter.com/dominictarr) | +| **Hao-kang Den** | | | +| **Hugo Dias** | | | +| **Jake Verbaten** | [**@Raynos**](https://github.com/Raynos) | [**@raynos@twitter**](https://twitter.com/raynos) | +| **Kyle Robinson Young** | [**@shama**](https://github.com/shama) | [**@shamakry@twitter**](https://twitter.com/shamakry) | +| **Nathan Shively-Sanders** | [**@sandersn**](https://github.com/sandersn) | | +| **Nolan Lawson** | [**@nolanlawson**](https://github.com/nolanlawson) | [**@nolan@toot.cafe**](https://toot.cafe/@nolan) | +| **Tim Kuijsten** | [**@timkuijsten**](https://github.com/timkuijsten) | [**@timkuijsten@mastodon.social**](https://mastodon.social/@timkuijsten) | +| **Tim Oxley** | [**@timoxley**](https://github.com/timoxley) | [**@secoif@twitter**](https://twitter.com/secoif) | diff --git a/README.md b/README.md index ae5595a6..b03272bd 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@ - [`db.iterator([options])`](#dbiteratoroptions) - [`db.clear([options, ]callback)`](#dbclearoptions-callback) - [`chainedBatch`](#chainedbatch) - - [`chainedBatch.put(key, value)`](#chainedbatchputkey-value) - - [`chainedBatch.del(key)`](#chainedbatchdelkey) + - [`chainedBatch.put(key, value[, options])`](#chainedbatchputkey-value-options) + - [`chainedBatch.del(key[, options])`](#chainedbatchdelkey-options) - [`chainedBatch.clear()`](#chainedbatchclear) - [`chainedBatch.write([options, ]callback)`](#chainedbatchwriteoptions-callback) - [`chainedBatch.db`](#chainedbatchdb) @@ -62,8 +62,8 @@ - [`iterator._seek(target)`](#iterator_seektarget) - [`iterator._end(callback)`](#iterator_endcallback) - [`chainedBatch = AbstractChainedBatch(db)`](#chainedbatch--abstractchainedbatchdb) - - [`chainedBatch._put(key, value)`](#chainedbatch_putkey-value) - - [`chainedBatch._del(key)`](#chainedbatch_delkey) + - [`chainedBatch._put(key, value, options)`](#chainedbatch_putkey-value-options) + - [`chainedBatch._del(key, options)`](#chainedbatch_delkey-options) - [`chainedBatch._clear()`](#chainedbatch_clear) - [`chainedBatch._write(options, callback)`](#chainedbatch_writeoptions-callback) - [Test Suite](#test-suite) diff --git a/UPGRADING.md b/UPGRADING.md index e7a4265a..bdd4d57b 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -6,7 +6,8 @@ This document describes breaking changes and how to upgrade. For a complete list
Click to expand -- [v6](#v6) +- [7.0.0](#700) +- [6.0.0](#600) - [Changes to public API](#changes-to-public-api) - [Nullish values are rejected](#nullish-values-are-rejected) - [Range options are serialized](#range-options-are-serialized) @@ -24,19 +25,42 @@ This document describes breaking changes and how to upgrade. For a complete list - [Seeking became part of official API](#seeking-became-part-of-official-api) - [Chained batch has been refactored](#chained-batch-has-been-refactored) - [Default `_serializeKey` and `_serializeValue` became identity functions](#default-_serializekey-and-_serializevalue-became-identity-functions) -- [v5](#v5) -- [v4](#v4) +- [5.0.0](#500) +- [4.0.0](#400) - - [default `testCommon` parameter](#default-testcommon-parameter) - [`testBuffer` parameter removed](#testbuffer-parameter-removed) - [`.approximateSize` method removed](#approximatesize-method-removed) - [`._isBuffer` method removed](#_isbuffer-method-removed) - [`isLevelDOWN` function removed](#isleveldown-function-removed) - [`ranges-test.js` renamed](#ranges-testjs-renamed) -- [v3](#v3) +- [3.0.0](#300)
-## v6 +## 7.0.0 + +Legacy range options have been removed ([Level/community#86](https://github.com/Level/community/issues/86)). If you previously did: + +```js +db.iterator({ start: 'a', end: 'z' }) +``` + +An error would now be thrown and you must instead do: + +```js +db.iterator({ gte: 'a', lte: 'z' }) +``` + +This release also drops support of legacy runtime environments ([Level/community#98](https://github.com/Level/community/issues/98)): + +- Node.js 6 and 8 +- Internet Explorer 11 +- Safari 9-11 +- Stock Android browser (AOSP). + +Lastly, and less likely to be a breaking change, the [`immediate`](https://github.com/calvinmetcalf/immediate) browser shim for `process.nextTick()` has been replaced with the smaller [`queue-microtask`](https://github.com/feross/queue-microtask). In the future we might use `queueMicrotask` in Node.js too. + +## 6.0.0 This release brings a major refactoring of the test suite, decouples `abstract-leveldown` from disk-based implementations and solves long-standing issues around serialization and type support. Because the changes are substantial, this guide has two sections: @@ -240,11 +264,11 @@ Please see the [README](README.md) for details. They return whatever is given. Previously they were opinionated and mostly geared towards string- and Buffer-based storages. Implementations that didn't already define their own serialization should now do so, according to the types that they support. Please refer to the [README](README.md) for recommended behavior. -## v5 +## 5.0.0 Dropped support for node 4. No other breaking changes. -## v4 +## 4.0.0 #### default `testCommon` parameter @@ -340,6 +364,6 @@ to: const abstract = require('abstract-leveldown/abstract/iterator-range-test') ``` -## v3 +## 3.0.0 No changes to the API. New major version because support for node 0.12 was dropped. diff --git a/package.json b/package.json index 75b55f76..eb6b56d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "abstract-leveldown", - "version": "6.3.0", + "version": "7.0.0", "description": "An abstract prototype matching the LevelDOWN API", "license": "MIT", "main": "index.js",