Releases: arangodb/arangojs
v7.7.0
Changed
-
Unicode names are now automatically NFC normalized
This change affects all database, collection, graph, view and analyzer names
using unicode characters. The change has no effect when using non-unicode
(ASCII) names. At this time, ArangoDB does not support unicode characters
in any of these names but experimental support for unicode database names is
available in ArangoDB 3.9 using the--database.extended-names-databases
startup option.Any names used to create
Database
,Collection
, etc instances or passed to
methods will automatically be NFC normalized. Additionally the collection
name part of any value passed as aDocumentSelector
and the collection name
part of values returned bycollection.documentId
will automatically be NFC
normalized.
Deprecated
-
Deprecated
EnsureHashIndexOptions
andEnsureSkiplistIndexOptions
typesThe hash and skiplist index types have been deprecated in ArangoDB 3.9 and
should be replaced with persistent indexes which behave identically. -
Deprecated all MMFiles related options and methods
The MMFiles storage engine was removed in ArangoDB 3.7.
Added
-
Added support for new ArangoDB 3.9
CollationAnalyzer
and
SegmentationAnalyzer
types -
Added support for new ArangoDB 3.9 (multi-dimensional)
ZkdIndex
type -
Added support for new ArangoDB 3.9 Hybrid SmartGraphs graph options
-
Added support for new ArangoDB 3.9 response queue time reporting
This adds the
db.queueTime
property, which provides methods for accessing
queue time metrics reported by the most recently received server responses if
the server supports this feature. -
Added
ArangoSearchViewLink#inBackground
(#759) -
Added
collection.compact
(#630)
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.