-
Notifications
You must be signed in to change notification settings - Fork 204
4.0 changelog
Please read our Driver Migration Guide for guidance and breaking changes when migrating from 1.7 drivers to 4.0 drivers.
- Bugfix for setup.py where encoding was not specified for opening the README.rst file.
- Reintroduced
neo4j.Recordhelper functions. (Result.value(key=0, default=None),Result.values(*keys),Result.data(*keys)) The key parameter have changed named fromitemtokeyanditemstokeysfor alignment of the Record functions.
- Updated the README. Added a section about connection settings (breaking change).
- API documentation, improved the documentation.
-
Result.Graph()last node in a relationship labels missing, labels bug fix. - Temporal types rounding error bug fix.
- Temporal types timezone fixes.
- API documentation, added the topic for Temporal Types.
- For managed transactions (transaction functions), the retry timer is started after the first failed attempt.
- API cleanup, improved pydocs.
- API documentation, updated the documentation to a stable state.
- The helper function
Result.value(item, default=None)has been removed. UseRecord.value(key=0, default=None)for each Record when iterating the Result object. - The helper function
Result.values(*items)has been removed. UseRecord.values(*keys)for each Record when iterating the Result object. - The helper function
Result.data(*items)has been removed. UseRecord.data(*keys)for each Record when iterating the Result object. -
Transaction.sync()has been removed. UseResult.consume()if the behaviour is to exhaust the result object. -
Transaction.successhas been removed. -
Transaction.close()behaviour changed. Will now only perform rollback if no commit have been performed. -
Session.sync()has been removed. UseResult.consume()if the behaviour is to exhaust the result object. -
Session.detach()has been removed. UseResult.consume()if the behaviour is to exhaust the result object. -
Session.next_bookmarks()has been removed. -
Session.has_transaction()has been removed. -
Session.closed()has been removed
- The
fetch_sizeconfig setting for session is now in use for Bolt Protocol 4.0 and fetches records in batches as needed when invokingSession.runandTransaction.run. -
Result.summary()have been replaced withResult.consume(), this behaviour is to consume all remaining records in the buffer and returns the ResultSummary. - Support for multiple active results within a transaction.
- API cleanup.
- Configuration
max_retry_timeis renamed tomax_transaction_retry_time - Updated examples
- Multi database support (#384)
- Fix for non-blocking sendall (#378)
-
neoboltis not a dependency any more. -
neotimeis not a dependency any more. -
Support for Bolt Protocol 3.0
-
Support for Bolt Protocol 4.0 (Connection Layer Only)
-
Added a Bookmark class
-
Bookmarks are changed from a String to Bookmark object.
-
Added
driver.verify_connectivity()method. -
Exceptions Changes:
- Removed
ConnectionExpired - Renamed
neo4j.exceptions.CypherErrortoneo4j.exceptions.Neo4jError - Introduced Driver API class hierarchy with
Neo4jErrorandDriverError - (Internal API) Introduced Connection API class hierarchy with BoltError (Please raise an issue on github if these surface to the user.)
- Improved connection failure error message information.
- Connecting to unsupported Bolt Protocol will raise an error explaining the supported versions available for the driver.
- Removed
-
Removed
transaction.successflag.The pattern is no longer valid for a transaction object,
tx:tx = begin() # DO STUFF tx.success = True tx.close()Use the pattern instead:
tx = begin() # DO STUFF tx.commit() -
Connections are now unencrypted by default; to reproduce former behaviour, add
encrypted=Trueto Driver configuration. -
The
neo4j.v1subpackage is now no longer available; all imports should be taken from theneo4jpackage instead. -
Changed
session(access_mode)from a positional to a keyword argument -
The
bolt+routingURI scheme is now namedneo4j -
Added new URI scheme
bolt+ssc, this will set the direct driver to be secure and allow self signed sertificates. -
Added new URI scheme
bolt+s, this will set the direct driver to be secure. -
Added new URI scheme
neo4j+ssc, this will set the routing driver to be secure and allow self signed sertificates. -
Added new URI scheme
neo4j+s, this will set the routing driver to be secure. -
Python 3.8 supported.
-
Python 3.7 supported.
-
Python 3.6 supported.
-
Python 3.5 supported.
-
Python 3.4 support has been dropped.
-
Python 3.3 support has been dropped.
-
Python 3.2 support has been dropped.
-
Python 3.1 support has been dropped.
-
Python 3.0 support has been dropped.
-
Python 2.7 support has been dropped.