Skip to content

5.0.0

Compare
Choose a tag to compare
@joowani joowani released this 22 Aug 11:46

Breaking Changes

  • Breaking changes to arango.ArangoClient:

    • Replaced parameters protocol, host and port with hosts and host_resolver. Example:

      from arango import ArangoClient
      
      # OLD
      client = ArangoClient(protocol='http', host='localhost', port=8529)
      
      # NEW (single host)
      client = ArangoClient(hosts='http://localhost:8529')
      
      # NEW (multiple hosts with "roundrobin" or "random" host resolver)
      client = ArangoClient(hosts=['http://host1:8529', 'http://host2:8529'], host_resolver='roundrobin')
    • Replaced properties protocol, host, port and base_url with hosts. Example:

      from arango import ArangoClient
      
      # OLD
      client = ArangoClient(protocol='http', host='localhost', port=8529)
      client.protocol
      client.host
      client.port
      client.base_url
      
      # NEW
      client = ArangoClient(hosts='http://localhost:8529')
      client.hosts
  • Breaking changes to transactions:

    • Changed the parameters in Database.begin_transaction.
    • Context managers are no longer offered (you must commit the transaction yourself).
    • On API execution, results are now returned immediately instead of TransactionJob objects.
    • To abort transactions, you must call TransactionDatabase.abort_transaction method.
    • Removed exception arango.exceptions.TransactionStateError.
    • Removed exception arango.exceptions.TransactionJobResultError.
    • See examples here.
  • Breaking changes to AQLQueryCache (Database.aql.cache):

    • Renamed parameter limit to max_results in method AQLQueryCache.configure.
    • Renamed field limit to max_results in the result of method AQLQueryCache.properties.
    • See examples here.
  • Breaking changes to arango.request.Request:

    • Removed properties read, write and command.
    • The content of property data is no longer serialized.
  • Removed method Database.ping (all it did was send a get API call which you can always do yourself).

  • Changed the abstract class for custom HTTP clients (arango.http.HTTPClient). See new examples of defining your HTTP clients here.

New Features