dart_neo4j 1.2.1
dart_neo4j: ^1.2.1 copied to clipboard
A comprehensive Neo4j driver for Dart supporting both bolt:// and neo4j:// URI schemes with type-safe result access.
1.2.1 #
Allow for running long running queries (#4)
- Add optional
timeoutparameter toBoltConnection.run(andBoltConnection._sendMessage, with default set to 30 seconds for backward compatibility); the timeout is used on thepullmessage. - Add optional
timeoutparameter toSessionConfiguration(defaults to 30 seconds) and use that timeout when running queries directly over the session. - Use
TransactionConfig.timeoutwhen running queries over a transaction. - Implement
startQuery()methods in addition to the existingrun()methods. The existing implementations ofrun()returns only after all records have been streamed from the server.startQuery()returns before the query has fully executing, allowing for early streaming of records by clients. The query has finished executing when [Result.done] and [Result.summary()] complete (they are based on the same future).
Thanks to d-markey for the contribution.
1.2.0 #
- Version bump for consistency with dart_neo4j ecosystem
1.1.0 #
- Version bump for consistency with dart_neo4j ecosystem
1.0.0 #
BREAKING CHANGES #
- Deprecated
idProperty: The numericidproperty onNode,Relationship, andUnboundRelationshipis now deprecated in favor ofelementId- Use
elementId(nullable) orelementIdOrThrow(non-nullable) for Neo4j 5.0+ compatibility - The old
idproperty will continue to work but will emit deprecation warnings - See Neo4j documentation for migration guidance
- Use
New Features #
- Neo4j 5.0+ Element ID Support: Added full support for string-based element IDs
Node.elementId: Returns the element ID as a nullable StringNode.elementIdOrThrow: Returns the element ID or throws if not availableRelationship.elementId: Returns the relationship element ID as a nullable StringRelationship.elementIdOrThrow: Returns the relationship element ID or throws if not availableUnboundRelationship.elementId: Returns the relationship element ID as a nullable StringUnboundRelationship.elementIdOrThrow: Returns the relationship element ID or throws if not available
- Improved Equality Comparisons: Node and Relationship equality now prefers
elementIdwhen available, falling back to numericidfor backward compatibility - Enhanced toString: Node, Relationship, and UnboundRelationship now include
elementIdin their string representations when available
Improvements #
- Future-Proof Design: Smooth migration path from numeric IDs to element IDs
- Backward Compatibility: Existing code using numeric IDs continues to work with deprecation warnings
- Comprehensive Test Coverage: Added extensive tests for element ID functionality
0.2.0 #
- Updated Dart SDK requirement to ^3.8.0
- Version bump for consistency with dart_neo4j ecosystem
0.1.0 #
- Fixed handling of multiple node returns in Cypher queries (RETURN a, b syntax)
- Improved Record.fromBolt to properly handle BoltNode, BoltRelationship, and BoltUnboundRelationship structures
- Enhanced BoltConnection to preserve Bolt structures in record data
0.0.2 #
- Updated license section in README to correctly reflect GPL-3.0 license
0.0.1 #
- Initial release of dart_neo4j package.