Skip to content

chore: prepare the 0.5.0 release - #257

Merged
tisonkun merged 2 commits into
apache:mainfrom
tisonkun:codex/prepare-0.5.0-release-audit
Sep 1, 2026
Merged

chore: prepare the 0.5.0 release#257
tisonkun merged 2 commits into
apache:mainfrom
tisonkun:codex/prepare-0.5.0-release-audit

Conversation

@tisonkun

@tisonkun tisonkun commented Sep 1, 2026

Copy link
Copy Markdown
Member

Summary

  • set the datasketches crate and workspace lockfile version to 0.5.0
  • freeze the accumulated release notes under an undated v0.5.0 section while keeping Unreleased ready for later work

Why this PR is intentionally small

This is the final release-preparation pass after the focused hardening work in #247, #253, #254, and #256. I audited the public API surface, rustdoc coverage, package contents, integration-test layout, serialization boundaries, open issues, and the history of reverted pre-release changes. The audit did not identify another behavior change with enough evidence and a sufficiently narrow contract to include safely here.

In particular, this PR does not reintroduce Count-Min saturation: the earlier implementation broke signed-weight and merge semantics. A checked-overflow design would change the update and query APIs and needs a separately reviewed contract. It also does not add speculative reset methods, deep estimated_size accounting, repetitive feature labels, or tests that merely mirror existing coverage.

As a throwaway diagnostic, deserializers for Bloom, Count-Min, CPC, Frequencies, HLL, REQ, and T-Digest were exercised against truncation and single-byte mutation without finding a panic. That diagnostic was deliberately not retained as another broad, low-signal test.

Commit structure

Each release action is independently reviewable:

  1. build: set the datasketches version to 0.5.0
  2. docs(changelog): finalize the 0.5.0 release notes

Validation

  • cargo x prepare-testdata
  • cargo x check
  • cargo x test
  • cargo x lint
  • cargo package --package datasketches --list --locked
  • cargo publish --dry-run --locked --package datasketches

The release process requires the final package version to be present in the reviewed release commit before an RC tag is created. Update both the manifest and locked workspace package entry so package and publish checks validate the exact 0.5.0 artifact.
The release notes are still accumulated under Unreleased. Create the undated 0.5.0 section required before RC creation while preserving Unreleased for post-release work; the release date remains intentionally deferred until the release is approved.
@tisonkun
tisonkun marked this pull request as ready for review September 1, 2026 01:22
@tisonkun
tisonkun merged commit c752a9b into apache:main Sep 1, 2026
10 checks passed
@tisonkun
tisonkun requested review from PsiACE, ariesdevil and notfilippo and removed request for PsiACE, ariesdevil and notfilippo September 1, 2026 01:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant