Releases: arangodb/arangojs
v7.6.1
This is a bugfix release that addresses a backwards incompatibility in the TypeScript type signatures in v7.6.0 and does not include any changes relevant to non-TypeScript users.
Fixed
-
Changed all uses of
Record<string, unknown>
toRecord<string, any>
(#750)This should allow using more specific types without having to implement
index signatures.
v7.6.0
Added
-
Added
collection.documents
for fetching multiple documents -
Added support for
fillBlockCache
query option -
Added support for passing
Graph
objects in AQL queries (#740)This also adds the
isArangoGraph
helper function for type checking. -
Added User Management API (#664)
This implements the endpoints of the
HTTP Interface for User Management
Fixed
v7.5.0
Added
-
Added support for new ArangoDB 3.8 Analyzer types
This adds the
PipelineAnalyzer
,AqlAnalyzer
,GeoJsonAnalyzer
,
GeoPointAnalyzer
andStopwordsAnalyzer
types in TypeScript, as well as
the Analyzer-specific properties types. -
Added support for new ArangoDB 3.8
estimates
option for indexesThis affects the
PersistentIndex
,HashIndex
andSkiplistIndex
types
in TypeScript.
v7.5.0-preview-arangodb.3.8
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
or yarn add arangojs@next
.
Added
-
Added support for new ArangoDB 3.8 Analyzer types
This adds the
PipelineAnalyzer
,AqlAnalyzer
,GeoJsonAnalyzer
,
GeoPointAnalyzer
andStopwordsAnalyzer
types in TypeScript, as well as
the Analyzer-specific properties types. -
Added support for new ArangoDB 3.8
estimates
option for indexesThis affects the
PersistentIndex
,HashIndex
andSkiplistIndex
types
in TypeScript.
v7.4.0
Added
-
Implemented
toJSON
methods forArangoError
andHttpError
(#632)This prevents an error where
JSON.stringify
would reliably throw if passed
an instance of either of these error types generated by arangojs. Note that
you may still want to implement your own JSON representation logic as system
errors (e.g.ECONNREFUSED
) are not wrapped by arangojs and thrown as-is.
Fixed
-
Stack traces are now improved for most errors when using
precaptureStackTraces
(#722)Previously this option would only affect network errors, making it far less
useful than intended. Now parsing errors,ArangoError
instances and HTTP
errors also receive improved error stack traces when this option is enabled. -
Improved performance for
precaptureStackTraces
when no errors occurThe generated stack is now only accessed on demand, allowing the runtime to
delay generation of the stack trace string. Previously the stack would always
be accessed prior to the request being sent, causing a noticeable delay even
when no error occurs. -
Fixed document selector validation in
collection.edges
and its variants (#704)These methods previously only permitted start vertices that are documents
within the edge collection itself. This behavior has now been corrected to
permit start vertices outside the collection, as expected.
v7.3.0
Changed
-
Changed the default for
agentOptions.scheduling
to"lifo"
This is already the default in Node v15.6 but can reduce latency caused by
sockets expiring, especially with larger connection pools and infrequent
requests. -
Removed
keepAlive
-specific throughput optimizationPreviously arangojs would allow
agentOptions.maxSockets * 2
concurrent
requests, to optimize socket reuse by avoiding idle time. This behavior
could trigger deadlocks when attempting to perform multiple transactions
in parallel and only marginally improved throughput in some high-load
scenarios. The connection pool size now always reflects the value set in
agentOptions.maxSockets
regardless of whetherkeepAlive
is enabled. -
Changed
agentOptions.maxSockets
default value when usingROUND_ROBIN
As the connection pool is shared across all server connections when using
ROUND_ROBIN
load balancing, the default value of3
is too limiting for
most scenarios involving multiple coordinators. When passing multiple URLs
via theurl
option and specifyingROUND_ROBIN
load balancing, arangojs
will now default this value tourl.length * 3
instead.
v7.2.0
v7.1.1
v7.1.0
v7.0.2
Fixed
-
Fixed incorrect HTTP method call in
patch
method (#687) -
Fixed empty query results containing
[undefined]
(#683) -
Fixed
updateByExample
andreplaceByExample
new value parameter nameNote that these methods are still deprecated. Previously the
newValue
parameter was incorrectly callednewData
, which prevented the methods from
working at all.