leveldown
Advanced tools
Comparing version 5.0.0-2 to 5.0.0
# Changelog | ||
_**If you are upgrading:** please see [`UPGRADING.md`](UPGRADING.md)._ | ||
## [Unreleased][unreleased] | ||
## [5.0.0] - 2019-03-29 | ||
### Changed | ||
@@ -30,7 +34,10 @@ | ||
- Update `.npmignore` ([**@vweevers**](https://github.com/vweevers)) | ||
- Apply common project tweaks ([#580](https://github.com/Level/leveldown/issues/580), [#582](https://github.com/Level/leveldown/issues/582), [`1c90e8f`](https://github.com/Level/leveldown/commit/1c90e8f)) ([**@vweevers**](https://github.com/vweevers), [**@ralphtheninja**](https://github.com/ralphtheninja)) | ||
- Introduce `override` and `final` keywords following C++ Core Guidelines ([#600](https://github.com/Level/leveldown/issues/600)) ([**@vweevers**](https://github.com/vweevers)) | ||
### Added | ||
- Add `linux-armv7`, `linux-arm64`, `android-armv7` and `android-arm64` prebuilds ([#584](https://github.com/Level/leveldown/issues/584), [#585](https://github.com/Level/leveldown/issues/585), [#587](https://github.com/Level/leveldown/issues/587)) ([**@ralphtheninja**](https://github.com/ralphtheninja), [**@vweevers**](https://github.com/vweevers)) | ||
- Add segfault tests ([#514](https://github.com/level/leveldown/issues/514)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Add `nyc` and `coveralls` for code coverage ([#497](https://github.com/level/leveldown/issues/497)) ([**@ralphtheninja**](https://github.com/ralphtheninja)) | ||
- Add `nyc` and `coveralls` for code coverage ([#497](https://github.com/level/leveldown/issues/497), [#591](https://github.com/Level/leveldown/issues/591)) ([**@ralphtheninja**](https://github.com/ralphtheninja), [**@vweevers**](https://github.com/vweevers)) | ||
- Copy type checks of `approximateSize()` to `compactRange()` ([#517](https://github.com/level/leveldown/issues/517)) ([**@vweevers**](https://github.com/vweevers)) | ||
@@ -54,2 +61,3 @@ - Document that value may not be `null` or `undefined` ([#511](https://github.com/level/leveldown/issues/511)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Remove `xcacheSize` and `xmaxOpenFiles` from leak tests ([#569](https://github.com/level/leveldown/issues/569)) ([**@ralphtheninja**](https://github.com/ralphtheninja)) | ||
- Remove legacy `bindings` dependency ([#583](https://github.com/Level/leveldown/issues/583)) ([**@peakji**](https://github.com/peakji)) | ||
@@ -59,4 +67,20 @@ ### Fixed | ||
- Serialize `compactRange()` arguments ([#517](https://github.com/level/leveldown/issues/517)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Prevent segfault when calling `iterator()` on non-open db ([#514](https://github.com/level/leveldown/issues/514)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Prevent segfault: when calling `iterator()` on non-open db ([#514](https://github.com/level/leveldown/issues/514)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Prevent segfault: add `PriorityWorker` to defer closing until `put` is done ([#597](https://github.com/Level/leveldown/issues/597)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Prevent segfault: keep persistent references to iterators until they are ended ([#597](https://github.com/Level/leveldown/issues/597)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Gitignore Debug builds of LevelDB and Snappy ([#597](https://github.com/Level/leveldown/issues/597)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Fix subtests by adding `t.plan()` ([#594](https://github.com/Level/leveldown/issues/594)) ([**@vweevers**](https://github.com/vweevers)) | ||
## [4.0.2] - 2019-03-02 | ||
### Changed | ||
- Upgrade `nan` from `~2.10.0` to `~2.12.1` ([#596](https://github.com/Level/leveldown/pull/596)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Upgrade `prebuild-install` from `^4.0.0` to `~5.2.4` ([#596](https://github.com/Level/leveldown/pull/596)) ([**@vweevers**](https://github.com/vweevers)) | ||
- Upgrade `prebuild` devDependency from `^7.0.0` to `^8.1.2` ([#596](https://github.com/Level/leveldown/pull/596)) ([**@vweevers**](https://github.com/vweevers)) | ||
### Added | ||
- Add Node.js 11 to Travis and AppVeyor ([#596](https://github.com/Level/leveldown/pull/596)) ([**@vweevers**](https://github.com/vweevers)) | ||
## [4.0.1] - 2018-05-22 | ||
@@ -888,4 +912,8 @@ | ||
[unreleased]: https://github.com/level/leveldown/compare/v4.0.1...HEAD | ||
[unreleased]: https://github.com/level/leveldown/compare/v5.0.0...HEAD | ||
[5.0.0]: https://github.com/level/leveldown/compare/v4.0.2...v5.0.0 | ||
[4.0.2]: https://github.com/level/leveldown/compare/v4.0.1...v4.0.2 | ||
[4.0.1]: https://github.com/level/leveldown/compare/v4.0.0...v4.0.1 | ||
@@ -892,0 +920,0 @@ |
@@ -7,4 +7,4 @@ # Contributors | ||
| **Rod Vagg** | [**@rvagg**](https://github.com/rvagg) | [**@rvagg@twitter**](https://twitter.com/rvagg) | | ||
| **Vincent Weevers** | [**@vweevers**](https://github.com/vweevers) | [**@vweevers@twitter**](https://twitter.com/vweevers) | | ||
| **David Björklund** | [**@kesla**](https://github.com/kesla) | [**@david_bjorklund@twitter**](https://twitter.com/david_bjorklund) | | ||
| **Vincent Weevers** | [**@vweevers**](https://github.com/vweevers) | [**@vweevers@twitter**](https://twitter.com/vweevers) | | ||
| **Julian Gruber** | [**@juliangruber**](https://github.com/juliangruber) | [**@juliangruber@twitter**](https://twitter.com/juliangruber) | | ||
@@ -11,0 +11,0 @@ | **Yichao 'Peak' Ji** | [**@peakji**](https://github.com/peakji) | | |
{ | ||
"name": "leveldown", | ||
"version": "5.0.0-2", | ||
"version": "5.0.0", | ||
"description": "A low-level Node.js LevelDB binding", | ||
@@ -10,2 +10,3 @@ "license": "MIT", | ||
"test": "standard && hallmark && nyc tape test/*-test.js", | ||
"test-gc": "npx -n=--expose-gc tape test/{cleanup,iterator-gc}*-test.js", | ||
"coverage": "nyc report --reporter=text-lcov | coveralls", | ||
@@ -18,3 +19,7 @@ "rebuild": "node-gyp rebuild", | ||
"prepublishOnly": "npm run dependency-check", | ||
"prebuildify-cross-armv7": "prebuildify-cross --platform=linux --arch=arm --arm-version=7 -- -t 8.14.0 --napi --strip" | ||
"prebuild-arm": "npm run prebuild-linux-armv7 && npm run prebuild-linux-arm64 && npm run prebuild-android-armv7 && npm run prebuild-android-arm64", | ||
"prebuild-linux-armv7": "IMAGE=linux-armv7 ./scripts/cross-compile", | ||
"prebuild-linux-arm64": "IMAGE=linux-arm64 ./scripts/cross-compile", | ||
"prebuild-android-armv7": "IMAGE=android-armv7 ./scripts/cross-compile", | ||
"prebuild-android-arm64": "IMAGE=android-arm64 ./scripts/cross-compile" | ||
}, | ||
@@ -39,7 +44,6 @@ "dependencies": { | ||
"node-gyp": "^3.8.0", | ||
"nyc": "^12.0.2", | ||
"nyc": "^13.2.0", | ||
"optimist": "~0.6.1", | ||
"prebuildify": "prebuild/prebuildify#override-platform", | ||
"prebuildify-ci": "^1.0.4", | ||
"prebuildify-cross": "ralphtheninja/prebuildify-cross#TARGET_PLATFORM", | ||
"readfiletree": "~0.0.1", | ||
@@ -49,3 +53,3 @@ "rimraf": "^2.6.1", | ||
"standard": "^12.0.0", | ||
"tape": "^4.5.1", | ||
"tape": "^4.10.0", | ||
"tempy": "^0.2.1", | ||
@@ -52,0 +56,0 @@ "uuid": "^3.2.1" |
@@ -42,3 +42,3 @@ # leveldown | ||
The `leveldown` npm package ships with prebuilt binaries for popular 64-bit platforms and is known to work on: | ||
The `leveldown` npm package ships with prebuilt binaries for popular 64-bit platforms as well as ARM and Android and is known to work on: | ||
@@ -51,3 +51,3 @@ - **Linux** (including ARM platforms such as Raspberry Pi _and Kindle!_) | ||
When installing `leveldown`, [`node-gyp-build`](https://github.com/mafintosh/node-gyp-build) will check if a compatible binary exists and fallback to a compile step if it doesn't. In that case you'll need a [valid `node-gyp` installation](https://github.com/nodejs/node-gyp#installation). | ||
When installing `leveldown`, [`node-gyp-build`](https://github.com/prebuild/node-gyp-build) will check if a compatible binary exists and fallback to a compile step if it doesn't. In that case you'll need a [valid `node-gyp` installation](https://github.com/nodejs/node-gyp#installation). | ||
@@ -58,2 +58,4 @@ If you don't want to use the prebuilt binary for the platform you are installing on, specify the `--build-from-source` flag when you install. If you are working on `leveldown` itself and want to re-compile the C++ code it's enough to do `npm install`. | ||
**If you are upgrading:** please see [`UPGRADING.md`](UPGRADING.md). | ||
- <a href="#ctor"><code><b>leveldown()</b></code></a> | ||
@@ -60,0 +62,0 @@ - <a href="#leveldown_open"><code>db.<b>open()</b></code></a> |
@@ -7,4 +7,2 @@ # Upgrade Guide | ||
_Currently available as prerelease: `npm i leveldown@next`._ | ||
This is a rewrite to N-API - which is a huge milestone, achieved without an impact on write performance - and an upgrade to `abstract-leveldown` v6, which solves long-standing issues around serialization and type support. | ||
@@ -16,7 +14,7 @@ | ||
Because N-API has an experimental status in node 6 and early 8.x releases, support of node 6 has been dropped and the minimum node version for `leveldown` is now 8.6.0. | ||
Because N-API has an experimental status in node 6 and early 8.x releases, support of node 6 has been dropped and the minimum node version for `leveldown` is now 8.6.0. Conversely, for node >= 12, `leveldown@5` is the minimum version. | ||
### Prebuilt binaries are now shipped in npm package | ||
Previously, they were downloaded from GitHub by an npm `postinstall` script. | ||
Previously, they were downloaded from GitHub by an npm `postinstall` script. In addition, `leveldown` now includes prebuilt binaries for Linux ARMv7, Linux ARM64, Android ARMv7 and Android ARM64. The latter target node core (rather than the formerly needed [`nodejs-mobile`](https://github.com/janeasystems/nodejs-mobile) fork). | ||
@@ -49,2 +47,18 @@ ### Range options are now serialized | ||
### Various segmentation faults have been fixed | ||
It is now safe to call `db.close()` before `db.put()` completes, to call `db.iterator()` on a non-open db and to call `db.close()` having created many iterators regardless of their state (idle, nexting, ending or ended). To achieve this, `leveldown` waits for pending operations before closing: | ||
```js | ||
db.put('key', 'value', function (err) { | ||
console.log('this happens first') | ||
}) | ||
db.close(function (err) { | ||
console.log('this happens second') | ||
}) | ||
``` | ||
A future release will do the same for other operations like `get` and `batch`. | ||
## v4 | ||
@@ -51,0 +65,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 6 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
5211413
22
195
0
441
11