From b801679b90d224fc348336f6ee574a87b630d854 Mon Sep 17 00:00:00 2001 From: tison Date: Sat, 9 May 2026 23:48:10 +0800 Subject: [PATCH 1/3] chore: changelog and release docs Signed-off-by: tison --- CHANGELOG.md | 5 +++++ RELEASE.md | 28 ++++++++++++++-------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 305be78..d9429a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,11 @@ All significant changes to this project will be documented in this file. * `CountMinSketch` now has a type parameter for the count type. Possible values are `u8` to `u64` and `i8` to `i64`. * `HllUnion::get_result` is renamed to `HllUnion::to_sketch`. * `update_f32` and `update_f64` are removed from `ThetaSketch`. Use `hash_value`'s wrapper instead. +* All sketches are now gated by a feature flag. You need to enable the feature flag to use the sketch. For example, to use `CountMinSketch`, you need to enable the `countmin` feature. + +### Notable changes + +* The MSRV (Minimum Supported Rust Version) is now 1.86.0. ### New features diff --git a/RELEASE.md b/RELEASE.md index b4d2d84..1b5cbd5 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -49,8 +49,8 @@ CI validates every commit and ensures: ```bash # Simply tag the current commit as RC git checkout main -git tag -a 0.3.0-RC1 -m "Release candidate 1 for 0.3.0" -git push origin 0.3.0-RC1 +git tag -a 0.3.0-rc.1 -m "Release candidate 1 for 0.3.0" +git push origin 0.3.0-rc.1 ``` ## Step 2: Publish Release Candidate to crates.io @@ -86,7 +86,7 @@ cd ~/apache/dist/dev/datasketches/scripts ./bashDeployToDist.sh \ /path/to/datasketches-rust \ datasketches-rust \ - 0.3.0-RC1 + 0.3.0-rc.1 ``` This script will: @@ -94,7 +94,7 @@ This script will: 1. Create a source archive from the git tag 2. Generate GPG signature (`.asc`) 3. Generate SHA512 checksum (`.sha512`) -4. Upload to https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-RC1/ +4. Upload to https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-rc.1/ Verify the files are accessible at the URL above. @@ -112,19 +112,19 @@ Hi everyone, I propose releasing Apache DataSketches Rust version 0.3.0. Source distribution: -https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-RC1/ +https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-rc.1/ GitHub tag: -https://github.com/apache/datasketches-rust/releases/tag/0.3.0-RC1 +https://github.com/apache/datasketches-rust/releases/tag/0.3.0-rc.1 Testing (choose one or both): - crates.io RC: cargo add datasketches@0.3.0-rc.1 - From source: Download, verify signatures, cargo x test To verify signatures: - curl -O https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-RC1/datasketches-rust-0.3.0-RC1-src - curl -O https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-RC1/datasketches-rust-0.3.0-RC1-src.asc - gpg --verify datasketches-rust-0.3.0-RC1-src.asc + curl -O https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-rc.1/datasketches-rust-0.3.0-rc.1-src + curl -O https://dist.apache.org/repos/dist/dev/datasketches/rust/0.3.0-rc.1/datasketches-rust-0.3.0-rc.1-src.asc + gpg --verify datasketches-rust-0.3.0-rc.1-src.asc Notable changes: [link to CHANGELOG or summary] @@ -141,9 +141,9 @@ Vote will remain open for at least 72 hours. ```bash # Fix the issues, commit to main, then tag the new RC -git tag -a 0.3.0-RC2 -m "Release candidate 2 for 0.3.0" -git push origin 0.3.0-RC2 -# Then repeat from Step 2 (with version 0.3.0-RC2) +git tag -a 0.3.0-rc.2 -m "Release candidate 2 for 0.3.0" +git push origin 0.3.0-rc.2 +# Then repeat from Step 2 (with version 0.3.0-rc.2) ``` ## Step 5: Close Vote & Publish Release @@ -153,7 +153,7 @@ After successful vote, send [VOTE-RESULT] email summarizing the outcome and proc ```bash # Move artifacts from dev to release cd ~/apache/dist/dev/datasketches/scripts -./moveDevToRelease.sh rust 0.3.0-RC1 0.3.0 +./moveDevToRelease.sh rust 0.3.0-rc.1 0.3.0 # Update Cargo.toml to final release version (this is the only version commit!) cd /path/to/datasketches-rust @@ -202,7 +202,7 @@ Go to https://github.com/apache/datasketches-rust/releases and draft a new relea **Need to yank a crate?** ```bash -cargo yank --vers 0.3.0-RC1 datasketches +cargo yank --vers 0.3.0-rc.1 datasketches ``` Only for broken pre-releases. For released versions, publish a patch instead. From 099d84b5e31b1ad6625c9d09175ecfb4d78b34a7 Mon Sep 17 00:00:00 2001 From: tison Date: Sat, 9 May 2026 23:48:57 +0800 Subject: [PATCH 2/3] chore: changelog and release docs Signed-off-by: tison --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9429a7..538e01e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All significant changes to this project will be documented in this file. ## Unreleased +## v0.3.0 (2026-05-11) + ### Breaking changes * `CountMinSketch` now has a type parameter for the count type. Possible values are `u8` to `u64` and `i8` to `i64`. From 4447acb5f8af708023eaa565965cdb704012a7d5 Mon Sep 17 00:00:00 2001 From: tison Date: Sun, 10 May 2026 00:02:30 +0800 Subject: [PATCH 3/3] fixup Signed-off-by: tison --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 538e01e..d9429a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,6 @@ All significant changes to this project will be documented in this file. ## Unreleased -## v0.3.0 (2026-05-11) - ### Breaking changes * `CountMinSketch` now has a type parameter for the count type. Possible values are `u8` to `u64` and `i8` to `i64`.