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 aDocumentSelectorand the collection name
part of values returned bycollection.documentIdwill automatically be NFC
normalized.
Deprecated
-
Deprecated
EnsureHashIndexOptionsandEnsureSkiplistIndexOptionstypesThe 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
CollationAnalyzerand
SegmentationAnalyzertypes -
Added support for new ArangoDB 3.9 (multi-dimensional)
ZkdIndextype -
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.queueTimeproperty, 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.documentsfor fetching multiple documents -
Added support for
fillBlockCachequery option -
Added support for passing
Graphobjects in AQL queries (#740)This also adds the
isArangoGraphhelper 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,
GeoPointAnalyzerandStopwordsAnalyzertypes in TypeScript, as well as
the Analyzer-specific properties types. -
Added support for new ArangoDB 3.8
estimatesoption for indexesThis affects the
PersistentIndex,HashIndexandSkiplistIndextypes
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,
GeoPointAnalyzerandStopwordsAnalyzertypes in TypeScript, as well as
the Analyzer-specific properties types. -
Added support for new ArangoDB 3.8
estimatesoption for indexesThis affects the
PersistentIndex,HashIndexandSkiplistIndextypes
in TypeScript.
v7.4.0
Added
-
Implemented
toJSONmethods forArangoErrorandHttpError(#632)This prevents an error where
JSON.stringifywould 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,ArangoErrorinstances and HTTP
errors also receive improved error stack traces when this option is enabled. -
Improved performance for
precaptureStackTraceswhen 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.edgesand 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.schedulingto"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 * 2concurrent
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.maxSocketsregardless of whetherkeepAliveis enabled. -
Changed
agentOptions.maxSocketsdefault value when usingROUND_ROBINAs the connection pool is shared across all server connections when using
ROUND_ROBINload balancing, the default value of3is too limiting for
most scenarios involving multiple coordinators. When passing multiple URLs
via theurloption and specifyingROUND_ROBINload balancing, arangojs
will now default this value tourl.length * 3instead.