Skip to content
This repository has been archived by the owner on Dec 2, 2024. It is now read-only.

v3.0.0-rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@vweevers vweevers released this 26 May 12:36
· 118 commits to master since this release

Changed

  • Upgrade abstract-leveldown from 0.12.0 to 5.0.0 (@vweevers)
  • Upgrade typedarray-to-buffer from 1.0.0 to 3.1.5 (@vweevers)
  • Upgrade levelup devDependency from 0.18.2 to 3.0.0 (@vweevers)
  • Upgrade browserify devDependency from 4.1.2 to 16.2.2 (@vweevers)
  • Switch license from BSD to MIT (@ralphtheninja)
  • Replace IDBWrapper with straight IndexedDB code (@vweevers)
  • Change default database prefix from IDBWrapper- to level-js- (@vweevers)
  • Implement abstract #_serializeKey with support of all IndexedDB Second Edition types including binary keys (as Buffers) (@vweevers)
  • Implement abstract #_serializeValue with support of all types of the structured clone algorithm except for null and undefined (@vweevers)
  • Use immediate module for consistent microtask behavior (@vweevers)
  • Replace Buffer() with Buffer.from() (@vweevers)
  • Rename Iterator#iterator to #transaction (@vweevers)
  • Replace beefy with airtap --local for local testing (@vweevers)
  • Homogenize README title, description and headers (@vweevers)
  • Make real tape tests out of test-levelup.js (@vweevers)
  • Restructure custom tests to follow abstract test suite format (@vweevers)

Added

  • Add continuous browser tests with airtap and Sauce Labs (@vweevers)
  • Add prefix and version options to constructor (@vweevers)
  • Detect binary key support and fallback to String(buffer) (@vweevers)
  • Detect array key support and fallback to String(array) (@vweevers)
  • Test all value types of the structured clone algorithm (@vweevers)
  • Catch DataCloneError if the environment does not support serializing the type of a key or value (@vweevers)
  • Include Promise polyfill for levelup integration tests (@vweevers)
  • Test that Iterator stringifies Buffer.from() argument (@vweevers)
  • Add README badges, new goals and a code example with levelup (@vweevers)
  • Add npm files to .gitignore (@vweevers)

Fixed

  • Start Iterator cursor immediately and fill an in-memory cache to fulfill abstract-leveldown snapshot guarantees (@vweevers)
  • Stop advancing Iterator cursor when options.limit is reached (@vweevers)
  • Rename public #iterator to private #_iterator (@vweevers)
  • Fix #_iterator({ limit: 0 }) to yield 0 entries (@vweevers)
  • Handle transaction errors in Iterator (@vweevers)
  • Fix constructor to call super (@vweevers)
  • Make one request at a time in a batch transaction, saving CPU time (@vweevers)
  • Properly close and destroy db's in custom tests (@vweevers)
  • Update README links (@vweevers)

Removed

  • Remove support of ArrayBuffer values in favor of Buffer (@vweevers)
  • Remove now unneeded raw option from #_get() and #_iterator() (@vweevers)
  • Run tests without IndexedDBShim (@vweevers)
  • Remove Buffer to Uint8Array conversion in #_put() and #_batch() (@vweevers)
  • Remove obsolete #_approximateSize (@vweevers)
  • Remove obsolete #_isBuffer (@vweevers)
  • Remove obsolete testBuffer from abstract tests (@vweevers)
  • Remove obsolete writestream test from test-levelup.js (@vweevers)
  • Rely on abstract-leveldown defaults in Iterator constructor (@vweevers)
  • Rely on abstract-leveldown callback defaults (@vweevers)
  • Remove testling from package.json (@vweevers)
  • Remove level.js logo (@vweevers)

Historical Note Support of ArrayBuffer values was restored in 3.0.0.

Historical Note This release introduced the boolean binaryKeys and arrayKeys properties on the constructor, indicating whether the environment supports binary and array keys respectively. These properties may become private.

Historical Note The vendored IndexedDBShim is still included, but likely to be removed.

Historical Note Though we upgraded browserify to 16.2.2, the effective version used in tests is 13.3.0 because we switched from beefy to airtap, which ships with its own browserify dependency.