From 353f50b6f3dc58dfa2e724fb7988124617110cf8 Mon Sep 17 00:00:00 2001 From: Jyothsna Konisa Date: Tue, 28 Apr 2026 14:06:45 -0700 Subject: [PATCH 1/2] CASSANALYTICS-159 Prepare 0.4.0 release --- NEWS.txt | 32 ++++++++++++++++++++++++++++++++ gradle.properties | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/NEWS.txt b/NEWS.txt index 78284f513..6363674ad 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,3 +1,35 @@ +0.4 +=== + +Upgrading +--------- + - Use long for absolute times and support C* 5.0 extended localDeletionTime (CASSANALYTICS-122). + + +New features +------------ + - Add support for Tuples, Tuples with collections and UDTs in the Bulk writer (CASSANALYTICS-51). + - CDC support for Cassandra 5.0 commit logs (CASSANALYTICS-60). + - Add flag to allow bulk write to indexed tables (CASSANALYTICS-128). + - Support per-instance sidecar port resolution in CDC client (CASSANALYTICS-130). + - Make KafkaPublisher class generic to publish GenericRecords for different value serializers (CASSANALYTICS-154). + + +Bug fixes +--------- + - Fix quote identifiers option must be set to true if TTL column name has mixed case (CASSANALYTICS-120). + - Assign data file start offset based on BTI index (CASSANALYTICS-121). + - Fix commitlog reading not progressing in CDC due to incorrect CommitLogReader.isFullyRead (CASSANALYTICS-124). + - Fix incorrect hash code calculation in PartitionUpdateWrapper.Digest (CASSANALYTICS-125). + - Flush event consumer before persisting CDC state to prevent data loss on failure (CASSANALYTICS-126). + - Fix ReadStatusTracker to distinguish clean completion from error termination in BufferingCommitLogReader (CASSANALYTICS-129). + - Fix SidecarCdcClient thread/resource leaks by passing it as a constructor parameter (CASSANALYTICS-142). + - Fix various leaks in CDC caching and bridge implementation (CASSANALYTICS-143). + - Fix BufferingInputStream failing to read last unaligned chunk (CASSANALYTICS-147). + - Fix cannot read start offset from BTI index with big partitions (CASSANALYTICS-151). + - Fix reading BTI may require partitions and rows indexes (CASSANALYTICS-156). + + 0.3 === diff --git a/gradle.properties b/gradle.properties index 25e3a00aa..697f088a7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ # under the License. group=org.apache.cassandra -version=0.3.0 +version=0.4.0 snapshot=true description=Apache Cassandra Analytics From 28cf49e9b15adb2a48c43eb913a95d999b3c6452 Mon Sep 17 00:00:00 2001 From: Jyothsna Konisa Date: Tue, 28 Apr 2026 14:39:51 -0700 Subject: [PATCH 2/2] addressing comments --- NEWS.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/NEWS.txt b/NEWS.txt index 6363674ad..a1be9b099 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -3,7 +3,19 @@ Upgrading --------- - - Use long for absolute times and support C* 5.0 extended localDeletionTime (CASSANALYTICS-122). + - Absolute time values (TTL expiry timestamps, deletion times) changed from `int` to `long` + (CASSANALYTICS-122). Three areas require attention on upgrade: + + * CDC Avro schema (breaking): `deletedAt` in the TTL record of `cdc_bytes.avsc` and + `cdc_generic_record.avsc` changed from `int` to `long`. Consumers reading `deletedAt` + as an integer must update to `long` before upgrading or deserialization will fail. + + * `TimeProvider` API: `referenceEpochInSeconds()` now returns `long`. Custom + implementations must update their return type. + + * Cassandra 4.0: expiry timestamps beyond Y2038 (January 19, 2038) will throw + `IllegalArgumentException` at runtime due to Cassandra 4.0's internal `int` limit. + Cassandra 5.0 handles these correctly via its native `long` support. New features