Skip to content

Commit 6bd8063

Browse files
committed
Merge remote-tracking branch 'origin/main' into pr-62-density-local
# Conflicts: # datasketches/src/common/mod.rs # datasketches/src/lib.rs
2 parents 275e313 + cb6b7e2 commit 6bd8063

56 files changed

Lines changed: 1719 additions & 283 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.asf.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ github:
4141
required_status_checks:
4242
contexts:
4343
- Required
44-
required_pull_request_reviews: {}
44+
required_pull_request_reviews:
45+
required_approving_review_count: 1
4546

4647
dependabot_alerts: true
4748
dependabot_updates: false

.github/workflows/ci.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
name: CI
1919
on:
2020
pull_request:
21-
branches: [ main ]
21+
branches: [main]
2222
push:
23-
branches: [ main ]
23+
branches: [main]
2424

2525
# Concurrency strategy:
2626
# github.workflow: distinguish this workflow from others
@@ -52,8 +52,12 @@ jobs:
5252
- uses: taiki-e/install-action@v2
5353
with:
5454
tool: typos-cli,taplo-cli,hawkeye
55-
- name: Check all
55+
- name: Check lockfile
56+
run: cargo update -w --locked --verbose
57+
- name: Check linters
5658
run: cargo x lint
59+
- name: Check feature matrix
60+
run: cargo x check
5761

5862
msrv:
5963
name: Resolve MSRV
@@ -73,23 +77,25 @@ jobs:
7377
needs: msrv
7478
strategy:
7579
matrix:
76-
os: [ ubuntu-24.04, macos-14, windows-2022 ]
80+
os: [ubuntu-24.04, macos-14, windows-2022]
7781
rust-version: ${{ fromJson(needs.msrv.outputs.rust-versions) }}
7882
runs-on: ${{ matrix.os }}
7983
steps:
8084
- uses: actions/checkout@v6
8185
- name: Delete rust-toolchain.toml
8286
run: rm rust-toolchain.toml
83-
- uses: Swatinem/rust-cache@v2
8487
- name: Install toolchain
8588
run: |
8689
rustup toolchain install ${{ matrix.rust-version }}
8790
rustup default ${{ matrix.rust-version }}
91+
- uses: Swatinem/rust-cache@v2
92+
with:
93+
cache-bin: "false"
8894
- name: Setup Java
8995
uses: actions/setup-java@v5
9096
with:
91-
java-version: '25'
92-
distribution: 'temurin'
97+
java-version: "25"
98+
distribution: "temurin"
9399
- name: Prepare test data
94100
shell: bash
95101
run: ./tools/generate_serialization_test_data.py

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,28 @@ All significant changes to this project will be documented in this file.
44

55
## Unreleased
66

7+
## v0.3.0 (2026-05-18)
8+
79
### Breaking changes
810

911
* `CountMinSketch` now has a type parameter for the count type. Possible values are `u8` to `u64` and `i8` to `i64`.
1012
* `HllUnion::get_result` is renamed to `HllUnion::to_sketch`.
13+
* `update_f32` and `update_f64` are removed from `ThetaSketch`. Use `hash_value`'s wrapper instead.
14+
* 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.
15+
16+
### Notable changes
17+
18+
* The MSRV (Minimum Supported Rust Version) is now 1.86.0.
1119

1220
### New features
1321

22+
* New module `hash_value` provides several value wrappers for matching concrete hashing strategies.
1423
* `CountMinSketch` with unsigned values now supports `halve` and `decay` operations.
1524
* `CpcSketch` and `CpcUnion` are now available for cardinality estimation.
1625
* `CpcWrapper` is now available for reading estimation from a serialized CpcSketch without full deserialization.
1726
* `FrequentItemsSketch` now supports serde for any value implement `FrequentItemValue` (builtin supports for `i64`, `u64`, and `String`).
1827
* Expose `codec::SketchBytes`, `codec::SketchSlice`, and `FrequentItemValue` as public API.
28+
* `hll::Coupon` is now public. You can calculate the coupon and reuse it multiple times avoiding the overhead of hashing multiple times.
1929

2030
## v0.2.0 (2026-01-14)
2131

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Rustup will read the `rust-toolchain.toml` file and set up everything else autom
2727

2828
```shell
2929
cargo version
30-
# cargo 1.85.0 (<hash> 2024-12-31)
30+
# cargo 1.86.0 (<hash> <date>)
3131
```
3232

3333
To keep code style consistent, run `cargo x lint --fix` to automatically fix any style issues before committing your changes.

0 commit comments

Comments
 (0)