Skip to content

Releases: arangodb/arangojs

v9.0.0

31 Jul 08:27
23032a2
Compare
Choose a tag to compare

This is a major release and breaks backwards compatibility.

See the migration guide for detailed instructions
for upgrading your code to arangojs v9.

Removed

  • Removed Node.js 14 and Node.js 16 support

    With Node.js 14 and 16 having reached their end of life, arangojs will no
    longer support these versions of Node.js going forward.

    For more information, see the Node.js release schedule.

  • Removed Params and Headers types

    These can mostly be replaced with the native URLSearchParams and Headers
    types but most public methods still accept the equivalent Record types for
    convenience.

  • Removed deprecated FulltextIndex and related types

    Fulltext indexes have been deprecated in ArangoDB 3.10 and should be replaced
    with ArangoSearch.

  • Removed browser build

    The browser build has been removed from the repository and will no longer be
    published to npm. The npm package can still be used in the browser by using
    common frontend tooling like webpack or rollup.

  • Removed Collection methods for simple queries: list, all, any,
    byExample, firstExample, removeByExample, replaceByExample,
    updateByExample, lookupByKeys, removeByKeys, fulltext

    Simple queries were deprecated in ArangoDB 3.4 and can be replicated with AQL.

Changed

  • Replaced request logic with native fetch API (#788, DE-578, DE-758)

    The node-specific request logic using the http and https modules has been
    replaced with all-new logic using the web standard fetch API, which should
    work in Node.js, browsers and other conformant environments.

  • Unicode names are now no longer automatically NFC normalized (DE-65)

    This change affects all database, collection, graph, view and analyzer names
    using unicode characters. Starting with arangojs v7.7.0 these names were
    automatically NFC normalized. This behavior has now been reverted to match
    the behavior of other ArangoDB drivers and help detect normalization issues
    in user code.

  • Changed return type of aql and the AQL join helper function to AqlQuery

    Previously the internal GeneratedAqlQuery type was exposed as the return
    type of these functions, leading to complexity when handling generic type
    arguments.

  • Removed dependency on Node path module or its browserify equivalent

    This change should be backwards-compatible but may produce different results
    when using non-normalized paths and base-paths in custom routes. This
    should help support more environments and reduce the size of the browser
    bundle.

  • Inlined x3-linkedlist dependency

    Inlining this dependency should help make arangojs more portable.

  • Split the Collection type parameter into result and input types (#807)

    It is now possible to specify a separate type for the data passed when
    creating or modifying documents in addition to the type of the data returned
    when fetching documents. This allows excluding computed properties from
    the input type while still including them in the result type.

Added

  • Added ESM support (DE-236)

    The driver now supports being imported as an ES module or CommonJS module
    and provides exports for both types of environments. This change should be
    backwards-compatible.

  • Added support for withHidden option in collection.indexes

    This option was introduced in ArangoDB 3.10.13 and 3.11.7 and allows
    fetching the progress information of indexes that are in the building phase.

  • Added support for withStats option in collection.indexes

    This method now takes an object with withStats and withHidden options
    instead of a boolean flag.

  • Added readonly Job#id property

    This property was not previously exposed.

  • Added skipFastLockRound option for streaming transactions

    This option was introduced in 3.12.1 and allows skipping the fast lock round.

  • Added non-specific EnsureIndexOptions type and ensureIndex method
    signature (#778)

    This allows creating indexes without narrowing the index type.

v9.0.0-preview.4

18 Jun 15:28
e6cba4d
Compare
Choose a tag to compare
v9.0.0-preview.4 Pre-release
Pre-release

This is a preview release which is not intended for use in production and has been published under the npm next tag.

To install the latest preview release, run npm install arangojs@next.

See the migration guide for detailed instructions
for upgrading your code to arangojs v9.

Added

  • Added readonly Job#id property

    This property was not previously exposed.

v9.0.0-preview.3

11 Jun 23:13
f8e7811
Compare
Choose a tag to compare
v9.0.0-preview.3 Pre-release
Pre-release

This is a preview release which is not intended for use in production and has been published under the npm next tag.

To install the latest preview release, run npm install arangojs@next.

See the migration guide for detailed instructions
for upgrading your code to arangojs v9.

Removed

  • Removed Collection methods for simple queries: list, all, any,
    byExample, firstExample, removeByExample, replaceByExample,
    updateByExample, lookupByKeys, removeByKeys, fulltext

    Simple queries were deprecated in ArangoDB 3.4 and can be replicated with AQL.

Added

  • Added support for withStats option in collection.indexes

    This method now takes an object with withStats and withHidden options
    instead of a boolean flag.

v9.0.0-preview.2

15 May 10:22
3c9e7da
Compare
Choose a tag to compare
v9.0.0-preview.2 Pre-release
Pre-release

This is a preview release which is not intended for use in production and has been published under the npm next tag.

To install the latest preview release, run npm install arangojs@next.

See the migration guide for detailed instructions
for upgrading your code to arangojs v9.

Changed

  • Inlined x3-linkedlist dependency

    Inlining this dependency should help make arangojs more portable.

Added

  • Added support for withHidden option in collection.indexes

    This option was introduced in ArangoDB 3.10.13 and 3.11.7 and allows
    fetching the progress information of indexes that are in the building phase.

v9.0.0-preview.1

16 Apr 18:09
9cc7c5a
Compare
Choose a tag to compare
v9.0.0-preview.1 Pre-release
Pre-release

This is a preview release which is not intended for use in production and has been published under the npm next tag.

To install the latest preview release, run npm install arangojs@next.

See the migration guide for detailed instructions
for upgrading your code to arangojs v9.

Removed

  • Removed Node.js 14 and Node.js 16 support

    With Node.js 14 and 16 having reached their end of life, arangojs will no
    longer support these versions of Node.js going forward.

    For more information, see the Node.js release schedule.

  • Removed Params and Headers types

    These can mostly be replaced with the native URLSearchParams and Headers
    types but most public methods still accept the equivalent Record types for
    convenience.

  • Removed deprecated FulltextIndex and related types

    Fulltext indexes have been deprecated in ArangoDB 3.10 and should be replaced
    with ArangoSearch.

  • Removed browser build

    The browser build has been removed from the repository and will no longer be
    published to npm. The npm package can still be used in the browser by using
    common frontend tooling like webpack or rollup.

Changed

  • Replaced request logic with native fetch API (#788, DE-578, DE-758)

    The node-specific request logic using the http and https modules has been
    replaced with all-new logic using the web standard fetch API, which should
    work in Node.js, browsers and other conformant environments.

  • Unicode names are now no longer automatically NFC normalized (DE-65)

    This change affects all database, collection, graph, view and analyzer names
    using unicode characters. Starting with arangojs v7.7.0 these names were
    automatically NFC normalized. This behavior has now been reverted to match
    the behavior of other ArangoDB drivers and help detect normalization issues
    in user code.

  • Changed return type of aql and the AQL join helper function to AqlQuery

    Previously the internal GeneratedAqlQuery type was exposed as the return
    type of these functions, leading to complexity when handling generic type
    arguments.

  • Removed dependency on Node path module or its browserify equivalent

    This change should be backwards-compatible but may produce different results
    when using non-normalized paths and base-paths in custom routes. This
    should help support more environments and reduce the size of the browser
    bundle.

Added

  • Added ESM support (DE-236)

    The driver now supports being imported as an ES module or CommonJS module
    and provides exports for both types of environments. This change should be
    backwards-compatible.

v8.8.1

20 Mar 09:44
6678121
Compare
Choose a tag to compare

Added

  • Added the versionAttribute option to the document operation options types (DE-783)

v8.8.0

12 Mar 14:19
9909a6b
Compare
Choose a tag to compare

Changed

  • Renamed ZKD index type to MDI (DE-744)

    The ZKD index type was previously marked as experimental and has now been
    finalized and renamed to MDI in ArangoDB 3.12.

  • Added DocumentOperationMetadata and DocumentOperationFailure types (DE-693)

    The return types of document and edge operations on collections have been
    modified to correctly represent the return values of bulk operations and
    single document/edge operations using the overwriteMode option.

Deprecated

  • Deprecated active failover support (DE-746)

    Active failover is no longer be supported in ArangoDB 3.12 and later. This
    functionality will be removed from the driver in a future release.

Added

  • Added support for multi_delimiter analyzer type (DE-753)

  • Added support for wildcard analyzer type (DE-750)

v8.7.0

14 Feb 11:08
4194550
Compare
Choose a tag to compare

Changed

  • Made options argument in collection.edges, inEdges and outEdges optional (#802)

Deprecated

  • Deprecated db.getLogMessages

    This API was deprecated in ArangoDB 3.8 and should no longer be used.
    Use db.getLogEntries instead.

Fixed

  • Fixed db.getLogEntries using the wrong API endpoint

v8.6.0

24 Oct 21:08
b498325
Compare
Choose a tag to compare

Added

  • Added db.createJob method to convert arbitrary requests into async jobs (DE-610)

    This method can be used to set the x-arango-async: store header on any
    request, which will cause the server to store the request in an async job:

    const collectionsJob = await db.createJob(() => db.collections());
    // once loaded, collectionsJob.result will be an array of Collection instances
    const numbersJob = await db.createJob(() =>
      db.query(aql`FOR i IN 1..1000 RETURN i`)
    );
    // once loaded, numbersJob.result will be an ArrayCursor of numbers

v8.5.0

09 Oct 16:58
b7c4f23
Compare
Choose a tag to compare

Added

  • Implemented hot backup API (DE-576)

  • Implemented logging API (DE-144, DE-145, DE-146, DE-147)

  • Implemented async jobs management (DE-339)

  • Added db.shutdown to initiate a clean shutdown of the server

  • Added db.time method to retrieve the server's system time