5.0.0
Breaking Changes
-
Breaking changes to
arango.ArangoClient
:-
Replaced parameters
protocol
,host
andport
withhosts
andhost_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
andbase_url
withhosts
. 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.
- Changed the parameters in
-
Breaking changes to
AQLQueryCache
(Database.aql.cache
):- Renamed parameter
limit
tomax_results
in methodAQLQueryCache.configure
. - Renamed field
limit
tomax_results
in the result of methodAQLQueryCache.properties
. - See examples here.
- Renamed parameter
-
Breaking changes to
arango.request.Request
:- Removed properties
read
,write
andcommand
. - The content of property
data
is 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_filter
to 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.