Skip to content

Releases: arangodb/arangojs

v7.8.0

19 May 12:09
d597f31
Compare
Choose a tag to compare

Added

  • Added retryOnConflict option to db.query and route.request

    This option allows specifying the number of times the request will be retried
    if it results in a write-write conflict.

v7.7.0

26 Jan 15:14
bda001e
Compare
Choose a tag to compare

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 a DocumentSelector and the collection name
    part of values returned by collection.documentId will automatically be NFC
    normalized.

Deprecated

  • Deprecated EnsureHashIndexOptions and EnsureSkiplistIndexOptions types

    The 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

26 Oct 10:27
dd1f339
Compare
Choose a tag to compare

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> to Record<string, any> (#750)

    This should allow using more specific types without having to implement
    index signatures.

v7.6.0

20 Oct 10:32
abec3ee
Compare
Choose a tag to compare

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

  • Added missing hex flag to StopwordsAnalyzer type (#732)

  • Added missing details flag to collection.figures (#728)

  • Added missing inBackground flag to index options (#734)

v7.5.0

22 Apr 17:53
2c41d75
Compare
Choose a tag to compare

Added

  • 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.

v7.5.0-preview-arangodb.3.8

09 Apr 14:38
213cc59
Compare
Choose a tag to compare
Pre-release

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 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.

v7.4.0

09 Apr 14:38
26c8f41
Compare
Choose a tag to compare

Added

  • 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.

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 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.

v7.3.0

08 Mar 15:25
d5d8301
Compare
Choose a tag to compare

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 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.

v7.2.0

02 Dec 17:05
b79ff48
Compare
Choose a tag to compare

Added

  • 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.

v7.1.1

30 Nov 14:11
ef4b296
Compare
Choose a tag to compare

This is a maintenance release and contains no bugfixes or features.