Changelog
[7.6.0] - 2021-10-20
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
Changelog
[7.5.0] - 2021-04-22
Added support for new ArangoDB 3.8 Analyzer types
This adds the PipelineAnalyzer
, AqlAnalyzer
, GeoJsonAnalyzer
,
GeoPointAnalyzer
and StopwordsAnalyzer
types in TypeScript, as well as
the Analyzer-specific properties types.
Added support for new ArangoDB 3.8 estimates
option for indexes
This affects the PersistentIndex
, HashIndex
and SkiplistIndex
types
in TypeScript.
Changelog
[7.4.0] - 2021-04-09
Implemented toJSON
methods for ArangoError
and HttpError
(#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.
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 occur
The 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.
Changelog
[7.3.0] - 2021-03-08
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 optimization
Previously 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 whether keepAlive
is enabled.
Changed agentOptions.maxSockets
default value when using ROUND_ROBIN
As the connection pool is shared across all server connections when using
ROUND_ROBIN
load balancing, the default value of 3
is too limiting for
most scenarios involving multiple coordinators. When passing multiple URLs
via the url
option and specifying ROUND_ROBIN
load balancing, arangojs
will now default this value to url.length * 3
instead.
Changelog
[7.2.0] - 2020-12-02
Added db.waitForPropagation
method
This method helps with setting up databases in a cluster scenario by waiting for a request to succeed on every known coordinator.
Changelog
[7.1.1] - 2020-11-30
This is a maintenance release and contains no bugfixes or features.
Changelog
[7.1.0] - 2020-10-16
Changelog
[7.0.2] - 2020-09-25
Fixed incorrect HTTP method call in patch
method (#687)
Fixed empty query results containing [undefined]
(#683)
Fixed updateByExample
and replaceByExample
new value parameter name
Note that these methods are still deprecated. Previously the newValue
parameter was incorrectly called newData
, which prevented the methods from
working at all.