Skip to content

8.0.0

Compare
Choose a tag to compare
@apetenchea apetenchea released this 29 May 18:55
· 12 commits to main since this release
e44a3e8

Major Changes

Breaking

  • ‎Collection.add_geo_index() parameter ordered has been renamed to geo_json. The name ordered used to create lots of confusion.
  • The api/traversal endpoint is no longer available starting with ArangoDB 3.12. This renders the arango.graph.Graph.traverse() unusable.

Non-Breaking

  • Dropped support for ArangoDB 3.10.
  • Pregel is deprecated since ArangoDB 3.12. The API can still be used with the driver, but it will eventually be removed when 3.11 support is over.
  • Compression of requests and responses. By default compression is turned off, so this change has no effect unless the user specifies one of the newly introduced parameters.
    The ArangoClient gets two optional parameters:
    • request_compression - Represents the compression strategy, None by default. The reason for passing in an object instead of a string (such as deflate) is to allow the client to fine tune the compression algorithm.
    • response_compression - The equivalent of an Accept-Encoding string. This has no effect unless the server is configured to use encoding.
    client = ArangoClient(
        hosts="http://127.0.0.1:8529",
        request_compression=DeflateRequestCompression(),
        response_compression="deflate",
    )
  • Full support on Options API [3.12]
  • The add_index() becomes the new way of creating indexes. It takes a data parameter - the keys are pure ArangoDB REST API arguments, no snake_case conversion anymore. However, for the output, the legacy methods remain the same, while the new add_index method by default skips formatting. Legacy methods have been deprecated.
    collection.add_index({'type': 'persistent', 'fields': ['name'], 'unique': True})

New Features

Improved administration interface

  • Added /_admin/log/structured support
  • Added /_admin/compact support
  • Added /_admin/echo support
  • Added /_admin/server/mode support
  • Added /_admin/execute support
  • Added /_admin/support-info
  • Added /_admin/cluster/maintenance/

Updated /metrics endpoint to v2

New fetch_transaction() method

Introduced a new StandardDatabase.fetch_transaction() method that allows users to create a TransactionDatabase based on an existing Transaction, instead of starting a new transaction.

Minor changes

  • Improved documentation pages
  • External versioning support, adding version_attribute to some of the Collection methods
  • Fixed autoincrement collection creation
  • Updated ServerConnectionError to contain an error code

New Contributors

Other Contributors

Full Changelog: 7.9.1...8.0.0