-
Notifications
You must be signed in to change notification settings - Fork 186
4.0 changelog
Please read our Driver Migration Guide for guidance and breaking changes when migrating from 1.7 drivers to 4.0 drivers.
- Error propagation on defunct connection
- Fixed documentation tag issue
- Bugfix for setup.py where encoding was not specified for opening the README.rst file.
- Reintroduced
neo4j.Record
helper functions. (Result.value(key=0, default=None)
,Result.values(*keys)
,Result.data(*keys)
) The key parameter have changed named fromitem
tokey
anditems
tokeys
for 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.success
has 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_size
config setting for session is now in use for Bolt Protocol 4.0 and fetches records in batches as needed when invokingSession.run
andTransaction.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_time
is renamed tomax_transaction_retry_time
- Updated examples
- Multi database support (#384)
- Fix for non-blocking sendall (#378)
-
neobolt
is not a dependency any more. -
neotime
is not a dependency any more. -
pytz
is 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. (experimental) -
Exceptions Changes:
- Removed
ConnectionExpired
- Renamed
neo4j.exceptions.CypherError
toneo4j.exceptions.Neo4jError
- Introduced Driver API class hierarchy with
Neo4jError
andDriverError
- (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.success
flag.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=True
to Driver configuration. -
The
neo4j.v1
subpackage is now no longer available; all imports should be taken from theneo4j
package instead. -
Changed
session(access_mode)
from a positional to a configuration (keyword argument) and renamed it todefault_access_mode
-
The
bolt+routing
URI 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.