Releases: arangodb/python-arango
Releases · arangodb/python-arango
7.0.0
- Added strict type hinting. Your code completion in IDEs should be even better now!
- Removed deprecated parameter
read_collections
fromDatabase.aql.execute
. - Removed deprecated parameter
write_collections
fromDatabase.aql.execute
. - Completely dropped support for Python 2.7 and Python 3.5.
- Renamed some internal classes.
- Moved from Travis CI to GitHub Actions.
- Added retries and timeout to the default HTTP client.
- VertexCollection and EdgeCollection now have access to more methods like
insert_many
,import_bulk
(on parity with StandardCollection). NOTE: The newly exposed multi-document operations do not provide the same transactional guarantees and validations that single-document operations do.
6.1.0
6.0.0
- Added support for ArangoDB version 3.7.
- Added support for schema validation.
- Added hot backup API (enterprise edition only).
- Added support for other API changes. See ArangoDB 3.7 REST API changelog for more information.
- Removed support for MMFiles.
- Removed support for Python 2.7.
5.4.0
- Added new Foxx management methods db.foxx.update_service_with_file and db.foxx.replace_service_with_file.
- Cursors now raise
CursorCountError
on statements likelen(cursor)
orbool(cursor)
when count was never enabled (e.g. during AQL execution).
5.3.0
- Added support for ArangoDB version 3.6.
- Added new method db.metrics.
- Added new method db.foxx.create_service_with_file.
- Added new Python package dependency requests_toolbelt.
- Added new parameters
return_old
andreturn_new
in vertex and edge management methods. - Added new parameters to db.create_database.
5.2.1
5.2.0
- Fixed a bug where some of the outputs from ArangoDB were not formatted corrected.
- Added support for Replication API.
- Added support for Cluster API.
- Added new methods to WAL API.
5.1.0
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.