Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Neo4J Php Client Laravel Package

laudis/neo4j-php-client

PHP client and driver for Neo4j, giving Laravel and PHP apps a clean, intuitive API to the graph database. Choose Bolt or auto-routed drivers, configure easily, and rely on full psalm typing, extensibility, and official Neo4j testkit validation.

View on GitHub
Deep Wiki
Context7
3.6.1

Bug fixes & reliability

  • Fixed getDriver() draining configured driver setups after a failed connectivity check (foreach on SplPriorityQueue), which caused later calls to report empty URIs (Uris: ('')). Queue is now cloned before iteration (#324).
  • Improved Bolt PULL / result iteration: deferred failures when records arrive before an error, and better mid-stream disconnect handling for TestKit iteration scenarios (#303).

Driver / TestKit / internals

  • Added TestKit client agent string tests (TestClientAgentStringsV5x2 / V5x3) to the driver-parameters suite (test harness only).
3.6.0

New features

  • Session::executeQuery(): runs Cypher with automatic retry on transient errors (Bolt & Basic sessions).
  • Session::close(): explicit session teardown added to the public session API.
  • Bolt telemetry: sends telemetry messages on Bolt 5.4; can be toggled with DriverConfiguration::withTelemetryEnabled().
  • Temporal types: improved Bolt datetime encoding with UTC patch negotiation for Neo4j 4.3–5.0.

Bug fixes & reliability

  • Improved transaction handling in failure states (rollback when required).
  • Fixed connection-pool semaphore timing: post semaphores after connection release, not before.
  • First proper Bolt message pipelining for better protocol efficiency.

Driver / TestKit / internals

  • Expanded TestKit backend support (telemetry stubs, datatype decoding, executeQuery handler).
  • Removed unused symfony/polyfill-php80 dependency (PHP 8.1+ already required).
  • Added scheduled Aura Free integration CI workflow.
3.5.0

New features

  • Multi-driver failover (#282): If a configured host is unreachable, the client automatically retries on alternative drivers in the pool. Useful for multi-host / HA setups.
  • SummarizedResult::list() (#301): Materializes all remaining rows without rewinding the iterator (avoids duplicating rows already consumed via next()). On Bolt, uses efficient PULL n=-1 fetch-all semantics.

Bug fixes & reliability

  • Aura routing & TLS (#298 / #309): Fixes Aura ROUTE handling, TLS peer name verification, and legacy Aura Free database name inference. Also optimizes connection verification.
  • Disconnect & transaction timeout handling: Server disconnects and transaction timeouts are surfaced correctly instead of being swallowed. Transactions defer BEGIN until the first run/commit/rollback. Pull logic now distinguishes server errors (rethrown) from connection errors (may return partial results).

Driver / TestKit / internals

  • Expanded TestKit result iteration support (ResultList, ResultPeek, ResultSingleOptional, etc.): mostly internal/TestKit-facing, but improves Neo4j driver spec compliance.
  • Dependency bump: minimum stefanak-michal/bolt raised to ^7.4.0 (#308). Psalm/static-analysis fixes (including a new stubs/sysvsem.php).

Documentation

  • README cleanup: removed stale HTTP/HTTPS driver examples and outdated batching/requirements sections.

Tests added

  • MultiDriverFailoverTest, ClientExceptionHandlingTest, ClientSessionExceptionHandlingTest, SummarizedResultListTest, plus TypeCaster updates.
3.4.3
  • Neo4j Vector type : Support for the Neo4j Vector type in the client (#290).
  • Connection receive timeout: Implements the connection receive-timeout configuration hint; connection/timeout failures are no longer misclassified as NotALeader, and related error handling is tightened in Bolt paths and testkit (#279).
  • Relationship element IDs: Correct handling of relationship start/end node elementIds (#292).
  • Type casting: TypeCaster improvements: toBool fix, other optimizations, InvalidTypeCast / tryToString refactor, plus unit tests (#296).
  • Testkit: CI validation of the pinned testkit commit to avoid version drift (#288).
3.4.2

Small hotfix where the driver halts if the server agent is not provided by the server autentication response

3.4.1
  • Added support for forcing socket type via driver configuration (with SocketType enum)
  • Implemented GetServerInfo handler with routing validation fixes
  • Improved connection and session cleanup (discarding unconsumed results on close)
  • Enhanced driver-level query execution and Testkit coverage
  • Fixed Testkit bookmark handling and session execution edge cases
3.4.0
  • fixed all the basic-query testkit tests
  • removed broken cc link
  • Improve exception taxonomy (SSLConnectionxceiptn, TimeoutException)
  • Improve element ID support
  • Add proper feature suport for testkit
3.3.0

What’s new: TestKit integration, CI/CD speed boosts, connection-pooling improvements, and the removal of legacy HTTP support.

Re-enabled Features

  • Full TestKit backend for running Neo4j integration tests in CI.

Improvements CI/CD optimizations

  • Enabled Docker image caching and Composer caching across workflows.
  • Refactored GitHub Actions to speed up builds (docker build cache, service-restart logic, down-flags, etc.).
  • Flexible logging tests to support Neo4j 4.x & 5.x.

Connection pooling

  • Simplify acquiring and reusing Bolt connections for better performance and resource usage.

Bug Fixes

  • Uncovered by testkit: Resolved failures in ResultSummary, authentication, bookmarks, authentication and timeout management.
  • Neo4jConnectionPool: Fixed advertised address and routing logic.

⚠️ Breaking Changes

📚 Miscellaneous

  • Minor typo fixes
  • object-model cleanup
3.2.0

Features

  • Integrated PSR LoggerInterface for enhanced logging.
  • Improved error handling in connection and connectivity verification.
  • Updated to Bolt version 7.1.4.
  • Addressed PHP 8.4 deprecations.

CI/Testing

  • Updated test environments to PHP 8.3.
3.1.3
  • optimised ci to use docker compose instead of github service containers
  • fix critical bug #232 where a single backslash crashes the driver
3.1.2

What's Changed

Full Changelog: https://github.com/neo4j-php/neo4j-php-client/compare/3.1.1...3.1.2

3.1.1
  • Added support for Bolt 5.1 and 5.2
  • Fixed a bug with SSL hostname being incorrect
  • Fixed a bug where the cache limit goes over the max float value in PHP
3.1.0
  • Fix CI
  • Upgraded Bolt version to v7
  • Fixed bug in address name resolution
  • Improved usage of Bolt messages
  • Upgrade PHP to 8.1
  • Improve extension requirements in composer.json
3.0.6

Fixed some typing issues Fixed correct passing of driver configuration in client and client builder

2.8.2
  • Fixed bug in the connection pooling algorithm
  • enforced session config propagation internally
  • improved testing
2.8.3
  • Fixed a bug when using php 8.2
3.0.0
  • improved typing
  • correct overloading of certain methods
  • bugfix when running a failed query on a transaction
  • bugix when using the HTTP formatted in neo4j version 5
  • fixed regression in uri implementation
  • fixed bolt factory for version 5
  • upgraded bolt library
  • moved to PHP 8.0
  • simplified configuration model
  • use server states from bolt library
3.0.1
  • reworked CI
  • more flexible dependencies for caching libraries
  • correct timezone ID conversion
3.0.2
  • Fixed a bug when dns_get_record returns false
3.0.3
  • Simplified configuration
  • Added functionality for binding transactions and sessions to optimise performance
3.0.4
  • Added a hasDriver method to query the client of an existence of a driver with a given alias
  • Improved CI
  • Updated documentation
3.0.5
  • updated psalm and introduced a baseline
  • removed deprecated dependencies in #183
2.8.1
  • correctly passed bookmarks when using basic formatter
  • correctly fetch next results when working with fetch size
2.8.0
  • Implemented connection resolver with PHP implementation or SysVSem
  • Implemented graceful driver fallback
  • Fixed bug with transaction timeout
  • Implemented simple routing cache with default PSR-11 implementation
  • Upgraded DNS resolver to work with HA setups
2.7.0
  • Bookmarks are now automatically handled by the Session class
  • The Bolt library has been updated to the latest version, which includes major memory performance increases
  • Some basic bugfixes to make tests work more consistently between different environments
2.6.1

Fixed bugs when working with results in neo4j 3.5

2.6.0
  • Added full JOLT support
  • Fixed bug when trying to dump an unconsumed result
  • Improved stability and connection management by maintaining neo4j server state in connection
  • Improved exception handling
  • Small bug fixes and code maintenance improvements
2.5.2
  • Added HTTP Jolt protocol for OGM improvements in Neo4j
  • Fixed bug in neo4j 3.5 result set
2.5.1

Fixed a regression when working with Neo4J 3.5 to enforce proper result consumption

2.5.0

New features:

  • Added keyby, pluck and toArrayRecursive methods on sequences
  • Added DateTimeZoneId
  • Added automatic conversion Bolt Type Parameters to immediately be used in Cypher

Performance Increases:

  • The driver now understands the fetch sizes based on session configuration
  • The results of the driver are now all lazily evaluated
  • The driver now utilizes the Sockets extension if it is installed.

Bugfixes

  • Properly forwarded transaction timeout information to the server
  • Basic documentation and housekeeping bugfixes
  • Fixed a new authentication propagation bug in neo4j scheme
2.4.4

Fixed a bug in the authentication logic when working with the neo4j scheme.

2.4.3

Fixed read error AuraDB Free

2.4.2

Fixed bug when working with clusters with SSL and AuraDB

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package