Skip to content

Conversation

@stefanak-michal
Copy link
Owner

First draft to implement new bolt v6 based on following documentation changes:
neo4j/docs-bolt#80
neo4j/docs-cypher#1299

Still missing phpunit test for new Vector structure in tests/structures/V6/StructuresTest.php

@stefanak-michal stefanak-michal self-assigned this Aug 5, 2025
@stefanak-michal stefanak-michal added the enhancement New feature or request label Aug 5, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements Bolt protocol version 6, adding support for a new Vector structure type as per the Neo4j Bolt v6 specification.

Key Changes:

  • Introduced the Vector structure for encoding/decoding typed numerical arrays
  • Added protocol V6 support with version detection for Neo4j 2025.10+
  • Refactored packstream handling to use native PHP pack format codes

Reviewed Changes

Copilot reviewed 16 out of 18 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/protocol/V6.php New V6 protocol class that extends AProtocol with v6-specific traits
src/protocol/v6/structures/Vector.php Implements Vector structure with encode/decode for typed numerical arrays
src/protocol/v6/AvailableStructures.php Defines available structures for v6 protocol including Vector
tests/structures/V6/StructuresTest.php Test suite for Vector structure operations and validation
tests/protocol/V6Test.php Basic protocol instantiation test for V6
tests/TestLayer.php Updated version detection to support Neo4j 2025.10+ for v6
src/Bolt.php Added v6 to default protocol versions
src/packstream/v1/Packer.php Refactored float packing and structure packing logic
src/packstream/v1/Unpacker.php Updated float unpacking and renamed unpackStruct method
tests/structures/v1/StructuresTest.php Added Bytes structure test
tests/structures/v5/StructuresTest.php Removed duplicate trait declarations
src/protocol/v3/HelloMessage.php Simplified parameter documentation
src/protocol/v4_1/HelloMessage.php Simplified parameter documentation
README.md Updated supported Bolt version and documentation
.github/workflows/neo4j.5.yml Adjusted test matrix versions
.github/workflows/neo4j.2025.yml New workflow for testing against Neo4j 2025 versions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@stefanak-michal stefanak-michal marked this pull request as ready for review November 5, 2025 10:25
@stefanak-michal stefanak-michal merged commit 3254553 into master Nov 5, 2025
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants