5.0.0
Breaking Changes
-
Breaking changes to
arango.ArangoClient:-
Replaced parameters
protocol,hostandportwithhostsandhost_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,portandbase_urlwithhosts. 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
TransactionJobobjects. - To abort transactions, you must call
TransactionDatabase.abort_transactionmethod. - Removed exception
arango.exceptions.TransactionStateError. - Removed exception
arango.exceptions.TransactionJobResultError. - See examples here.
- Changed the parameters in
-
Breaking changes to
AQLQueryCache(Database.aql.cache):- Renamed parameter
limittomax_resultsin methodAQLQueryCache.configure. - Renamed field
limittomax_resultsin the result of methodAQLQueryCache.properties. - See examples here.
- Renamed parameter
-
Breaking changes to
arango.request.Request:- Removed properties
read,writeandcommand. - The content of property
datais no longer serialized.
- Removed properties
-
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
- Python 3.7 is officially supported
- Added support for load balancing multiple hosts/coordinators in a cluster (available host resolving techniques are "roundrobin" or "random"). See API specification here.
- Added support for new transaction REST API.
- Added support for ArangoSearch views.
- Added support for analyzers.
- Added support for named indexes (new parameter
name). - Added support for adding indexes asynchronously (new parameter
in_background). - Added support for new TTL index.
- Added support for custom JSON serializers and de-serializers.
- Added new parameter
name_filterto method Database.foxx.run_tests. - Added new method Collection.recalculate_count.
- Added new method Collection.responsible_shard.
- Added more fields in the result of method AQLQueryCache.properties and AQLQueryCache.configure.