Releases: MichaelRoosz/php-cassandra
v1.2.0
v1.2.0
This release improves compatibility with older Cassandra versions, fixes LZ4 compression for protocol v3/v4 (Cassandra 3.x and 2.x), and adds full support for ScyllaDB.
Added
- Full support for ScyllaDB (6.2, 2025.1, 2025.2, 2025.3).
Changed
- Initial protocol version while connecting is now V4 (was V3). To connect to Cassandra version 2.1,
initialProtocolVersioninConnectionOptionshas to be set toProtocolVersion::V3.
Fixed
- Fixed lz4 decompression for protocol v3 and v4 (Cassandra 3 and older)
v1.1.0
v1.1.0
This release introduces the ability to override the default pool of allowed protocol versions (v5, v4, v3) via the new allowedProtocolVersions property in ConnectionOptions. This is a low-level feature intended for advanced use cases and should not be used by most users. The default behavior, which attempts to negotiate the highest supported version (v5 > v4 > v3), is recommended for the majority of situations.
All breaking changes affect low-level API only, which is unlikely to be used by most users.
Breaking Changes
- Cassandra\Protocol\Header: type of
$versionchanged frominttoCassandra\Protocol\ProtocolVersion - These methods now expect for
$versiona value of typeCassandra\Protocol\ProtocolVersioninstead ofint:Cassandra\Connection\ResponseReader::readResponse()Cassandra\Request\Request::__construct()Cassandra\Request\Request::setVersion()
- Exception context: type of
protocol_versionchanged frominttostring
Changed
- Cassandra\Connection: method
getVersion()is now deprecated, usegetProtocolVersion()instead - Cassandra\Protocol\Frame: method
getVersion()is now deprecated, usegetProtocolVersion()instead - Cassandra\Request\Request: method
getVersion()is now deprecated, usegetProtocolVersion()instead - Cassandra\Response\Response: method
getVersion()is now deprecated, usegetProtocolVersion()instead - Changed visibility of some properties and methods from
protectedtoprivateto clarify public api
Added
- Added enum
Cassandra\Protocol\ProtocolVersion - Cassandra\Connection\ConnectionOptions: added property
allowedProtocolVersions(array of enumCassandra\Protocol\ProtocolVersion) - Cassandra\Connection: added method
getProtocolVersion(): ProtocolVersion - Cassandra\Protocol\Frame: added method
getProtocolVersion(): ProtocolVersion - Cassandra\Request\Request: added method
getProtocolVersion(): ProtocolVersion - Cassandra\Response\Response: added method
getProtocolVersion(): ProtocolVersion
Removed
- Cassandra\Connection: removed method
onWarnings()
Full Changelog: v1.0.1...v1.1.0
v1.0.1
This is a small bugfix release, restoring compatibility with older PHP versions (8.1, 8.2, 8.3).
Fixed
- Fixed compatibility with PHP 8.1, 8.2 and 8.3
Full Changelog: v1.0.0...v1.0.1
v1.0.0 "Prism" 🔷🌈
This release brings major improvements across the library.
In contrast to previous releases, it includes some breaking API changes. These were necessary to introduce more exciting features (including full support for the Vector data type 🤖) and to enhance and fix existing ones.
Upcoming 1.x releases will focus on stability and performance while keeping the API stable.
Added 🔷
- Updated Asynchronous API, now providing additional helper methods (
waitForStatements,waitForAnyStatement,waitForAllPendingStatements) and supporting non-blocking response processing (drainAvailableResponses,tryResolveStatement,tryResolveStatements,tryReadNextResponse) - Events subsystem: blocking (
waitForNextEvent) and non-blocking event polling (tryReadNextEvent) - New
Valuecapabilities includingVectordata type support - Support for configuring value encoding for data types with multiple encodings
- Warnings listener interface and registration
- Round-robin and random node selection strategies
Changed 🔷
- Prepared statements: auto-prepare for typed execution, names-for-values auto-detection, re-prepare on UNPREPARED, metadata caching; helpers
executeAll, pagination helpers - Enforce a minimum
pageSizeof 100 inQueryOptionsfor efficient paging
Fixed 🔷
- Numerous stability and correctness fixes across execute/query flows and pagination edge cases
- Richer server exception context (consistency levels, required/received counts, write types)
Documentation 🔷
- Comprehensive README: quick start, configuration reference, async/event APIs, migration guide, error handling.
Tests 🔷
- Added unit and integration tests for the critical parts of the library
v0.8.1
- Allow types Date, Time and Timestamp to be created from string values
v0.8.0
v0.8.0
- Improve API for prepared statements
- Fix a bug in execute call
- Fix phpdoc for paging_state
- Fix version calculation for server packets
- Replace SplFixedArray with array
v0.7.3-beta
Update readme
v0.7.2-beta
Update type value validation
v0.7.1-alpha
FIxed events, date/time types, updated readme
v0.7.0-alpha
Update composer.json and README.md