Releases: arangodb/python-arango
8.1.3
What's Changed
- Fix docstring by @apetenchea in #350
- License Parameter Docstring by @apetenchea in #351
- new: add
_hosts
toBaseConnection
by @aMahanna in #353 - update
collection.find
to support nested fields by @aMahanna in #354
Full Changelog: 8.1.2...8.1.3
8.1.2
8.1.1
8.1.0
What's Changed
- The
collection.has()
method uses HTTP HEAD method instead of GET - A new
skipFastLockRound
option was introduced for transactions (ArangoDB 3.12.1, see docs) - A new
db.reset_log_levels()
method to reset all log levels to their startup values (ArangoDB 3.12.1, see docs)
Full Changelog: 8.0.0...8.1.0
8.0.0
Major Changes
Breaking
Collection.add_geo_index()
parameterordered
has been renamed togeo_json
. The nameordered
used to create lots of confusion.- The
api/traversal
endpoint is no longer available starting with ArangoDB 3.12. This renders thearango.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 adata
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 theCollection
methods - Fixed
autoincrement
collection creation - Updated
ServerConnectionError
to contain an error code
New Contributors
Other Contributors
Full Changelog: 7.9.1...8.0.0
7.9.1
7.9.0
What's Changed
- Circleci project setup by @apetenchea in #291
- Update Readme Badges by @aMahanna in #298
- DE-699 | Update global server logs retrieval by @aMahanna in #299
- Optional: Update Readme Badges by @aMahanna in #300
- Migrate to
pyproject.toml
by @aMahanna in #302 - ES-1867 |
force_one_shard_attribute_value
param by @aMahanna in #314
Full Changelog: 7.8.1...7.9.0
7.8.1
7.8.0
7.7.0
This release marks a significant step forward in our support for ArangoDB's vast set of HTTP APIs, especially these added in 3.11.
🚀 Enhancements & New Features
Database.view_info()
- retrieves condensed information about a view (HTTP docs)Database.databases_accessible_to_user()
retrieves the list of databases currently accessible to the user (HTTP docs)- Added support for soft shutdowns (HTTP docs)
Collection.info()
- retrieves condensed information about a collection (HTTP docs)Collection.compact()
- support for collection compaction (HTTP docs)Database.license()
andDatabase.set_license()
- get & set the license of an ArangoDB EE Instance. Can be called on single servers, Coordinators, and DB-Servers, as long as the user holds the necessary permissions (HTTP docs)Database.list_transactions()
- list the running stream transactions (HTTP docs)- Added Cluster Rebalance support through the
Cluster
interface (HTTP docs)
❌ Deprecations
As part of our ongoing commitment to enhance the driver's capabilities, we've made the decision to deprecate the Batch API. The BatchDatabase
is still available, but it now uses a TreadPoolExecutor
internally. To discourage its use we now issue a warning upon instantiating it. This warning may be disabled by the user. Note that, the Batch API of ArangoDB is long deprecated, and eventually the BatchDatabase
part of this driver is going to be completely removed or repurposed.
🐛 Fixes
Minor improvements
📖 Changelog
For a more detailed breakdown of the changes, please refer to the Full Changelog