Releases: arangodb/arangojs
v9.1.0
Changed
-
Removed
progress
property fromIndex
typeThis property is only available when fetching indexes with the
withHidden
option set totrue
. -
Added
HiddenIndex
type (DE-849)This type is used to represent an index returned by
collection.indexes
when
thewithHidden
option is set totrue
and includes theprogress
property
in addition to internal indexes.
v9.0.0
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
andHeaders
typesThese can mostly be replaced with the native
URLSearchParams
andHeaders
types but most public methods still accept the equivalentRecord
types for
convenience. -
Removed deprecated
FulltextIndex
and related typesFulltext 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
andhttps
modules has been
replaced with all-new logic using the web standardfetch
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 AQLjoin
helper function toAqlQuery
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 equivalentThis change should be backwards-compatible but may produce different results
when using non-normalized paths and base-paths in customroutes
. This
should help support more environments and reduce the size of the browser
bundle. -
Inlined
x3-linkedlist
dependencyInlining 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 incollection.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 incollection.indexes
This method now takes an object with
withStats
andwithHidden
options
instead of a boolean flag. -
Added readonly
Job#id
propertyThis property was not previously exposed.
-
Added
skipFastLockRound
option for streaming transactionsThis option was introduced in 3.12.1 and allows skipping the fast lock round.
-
Added non-specific
EnsureIndexOptions
type andensureIndex
method
signature (#778)This allows creating indexes without narrowing the index type.
v9.0.0-preview.4
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
propertyThis property was not previously exposed.
v9.0.0-preview.3
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 incollection.indexes
This method now takes an object with
withStats
andwithHidden
options
instead of a boolean flag.
v9.0.0-preview.2
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
dependencyInlining this dependency should help make arangojs more portable.
Added
-
Added support for
withHidden
option incollection.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
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
andHeaders
typesThese can mostly be replaced with the native
URLSearchParams
andHeaders
types but most public methods still accept the equivalentRecord
types for
convenience. -
Removed deprecated
FulltextIndex
and related typesFulltext 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
andhttps
modules has been
replaced with all-new logic using the web standardfetch
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 AQLjoin
helper function toAqlQuery
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 equivalentThis change should be backwards-compatible but may produce different results
when using non-normalized paths and base-paths in customroutes
. 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
v8.8.0
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
andDocumentOperationFailure
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 theoverwriteMode
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
v8.6.0
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