diff --git a/NEWS.txt b/NEWS.txt index 78284f513..a1be9b099 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,3 +1,47 @@ +0.4 +=== + +Upgrading +--------- + - 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 +------------ + - 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