Repository navigation
Release v0.3.3
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
Changed
- Planning: Phase 3 JVM/Kafka tracking consolidated into
Planning/PHASE3_EPICS.mdonly (parity rows + P3-E1-S2d/S2e secret stories). Removeddocs/java/PARITY_MATRIX.mdand supersededPlanning/phase-plan markdown (PHASE1_*,Phase2_plan.md,PHASE2_EPICS.md, and related local notes) per single-tracker policy. README_CRATE.md: Phase 2 hero image usesraw.githubusercontent.com(same as PyPI) so crates.io and docs.rs always load the current PNG; documentation table adds PyPI, Python examples (HTML), and explicit GitHub Pages URLs for Rust rustdoc vs Python pdoc (root/rust_data_processing.htmlis not rustdoc; see below).- GitHub Pages: Add
docs/landing/rust_data_processing.html→site/rust_data_processing.htmlsohttps://…/rust_data_processing.htmlredirects topython/rust_data_processing.html(pdoc) with a visible link torust/rust_data_processing/index.html(rustdoc).docs/DOCUMENTATION.mdlists the canonical paths.
Added
-
JVM Phase 3 bindings:
bindings/jvm-sys(rdp_ffi_abi_version= 400,jvm_ffifeature,ffi_manifest.json);bindings/java/rust-data-processing-jvm(Maven, Gradlemaven-publish,NativeAbiTest,FeatureSurfacePlaceholderTest,central-releaseprofile);scripts/check_jvm_ffi_manifest.py,scripts/check_java_version_consistency.py;bindings/java/VERSION↔pom.xml↔gradle.properties. -
Docs:
docs/adr/{004,005}-*.md,docs/java/{README,gradle,RELEASE,FFI_API_SLICE,ARROW_FFI_JVM,NATIVE_ARTIFACT_PACKAGING,SONATYPE_NAMESPACE_CHECKLIST,JIRA_INTEGRATION,JEXTRACT}.md,docs/java/MAVEN_CENTRAL_PUBLISHING.md; JVM parity rows live only inPlanning/PHASE3_EPICS.md(standalonePARITY_MATRIXremoved). -
CI:
.github/workflows/jvm_bindings_ci.yml— Ubuntu / Windows / macOS × JDK 21,mvn verify,./gradlew check,publishToMavenLocal,actions/cachefor Maven/Gradle. -
Phase 3 planning (JVM + Kafka): Panama, Maven, Gradle, Rust↔JVM API parity, tri-surface Kafka (+ BYO connectors) in
Planning/PHASE3_EPICS.md;docs/DOCUMENTATION.md,docs/adr/README.md, ADRdocs/adr/003. Completed increment-1 spike cratespikes/jvm-panama-ffi(stdlib-onlycdylib,rdp_ffi.h, Panama smoke). RootCargo.tomlexcludesspikes/from the crates.io tarball. -
Phase 2 (batch):
ReduceOp::Median/Agg::Median; UTF-8 privacyTransformSteps (Utf8Truncate,Utf8Sha256Hex,Utf8RedactMiddle); validationCheck::Utf8LenCharsBetween; modulesexport(JSONL + deterministic train/test indices),privacy(UTF-8 diff summaries),reports(byte-safe truncation); Arrowrecord_batches_to_dataset+LargeUtf8support; Python bindingsexport_dataset_jsonl,privacy_summarize_utf8_changes_json,reports_truncate_utf8_bytes. -
Docs & examples: lake read ADR + user guide, SFT format guide, outreach shortlist, ML reduce gap audit, P2-E6 policy + P2-E7 deferral notes, vector export recipe,
examples/{dbt,airflow,tabular_nn,llm_prep}/,notebooks/index + starter notebooks.
0.3.3 - 2026-06-17
Changed
- (summarize this release)
0.3.2 - 2026-06-17
Changed
- (summarize this release)
0.3.1 - 2026-05-21
Changed
- (summarize this release)
0.3.0 - 2026-05-20
Changed
- (summarize this release)
0.2.2 - 2026-05-04
Changed
- (summarize this release)
0.2.1 - 2026-05-04
Fixed
- crates.io / docs.rs / PyPI README: Hero infographic now uses
docs/images/phase-2-scope-overview.pngand Phase 2 copy inREADME_CRATE.mdandpython-wrapper/README_PYPI.md(0.2.0 still showed the Phase 1 graphic on registries).
0.2.0 - 2026-05-04
Changed
- (summarize this release)
0.1.8 - 2026-04-14
Changed
- (summarize this release)
0.1.7 - 2026-04-14
Fixed
- docs.rs: Fix rustdoc intra-doc links that become hard errors under
RUSTDOCFLAGS=-D warnings(brokenSome(None)-style links, link to a private helper, redundantDataSettargets, ambiguousglob/reducelinks). Republish so docs.rs can rebuild (0.1.6 docs build failed). - docs.rs: add
[package.metadata.docs.rs]withcargo-args = ["-j", "1"]so the documentation build is less likely to run out of memory while compiling Polars and the rest of the dependency graph (seeCargo.tomlcomments). - PyPI / maturin: Remove duplicate
docs/images/phase-1-scope-overview.pngunderpython-wrapper/and drop[tool.maturin] includefor PNGs. The sdist merged the repo-root image (fromcargo package) with the wrapper copy and failed with “was already added … can't add it from … python-wrapper/docs/images/”. The PyPI README now uses a raw.githubusercontent.com URL for that image; canonical file stays atdocs/images/in the repo.
Planned
- JVM / Java / Maven: first-class bindings (native library + Maven Central artifact, cross-platform CI) are Phase 3 scope, not Phase 2, so Phase 2 can focus on Rust + Python with smaller releases and faster cycles. Follow releases and notes here for when Java support lands.
0.1.6 - 2026-04-13
Changed
- (summarize this release)
0.1.5 - 2026-04-02
Changed
- (summarize this release)
0.1.4 - 2026-03-31
Changed
- (summarize this release)
0.1.3 - 2026-03-31
Changed
- (summarize this release)
0.1.2 - 2026-03-31
Fixed
- docs.rs / crates.io: The published crate now ships
README_CRATE.mdonly (Rust-focused). The monorepoREADME.mdis excluded from the.cratetarball so docs.rs no longer shows Python quick starts or mixed Python/Rust landing copy. PyPI continues to usepython-wrapper/README_PYPI.md.
0.1.1 - 2026-03-30
Changed
scripts/release_tag.ps1: optional-Comment, interactive release comment, prints lastv*tag, fetches tags; clearer error text.- CI: Documentation workflow uses
astral-sh/setup-uv@v8.0.0and drops redundantconfigure-pagesfor static Pages deploy.
0.1.0 - 2026-03-20
Added
- Initial crates.io release of
rust-data-processing. - Schema-first ingestion: CSV, JSON / NDJSON (nested dot paths), Parquet; Excel via
excelfeature. - In-memory
DataSetmodel (types) withInt64,Float64,Bool,Utf8,Null. processing:filter,map,reducewithReduceOp(count, sum, min/max, mean, variance, std dev, sum-squares, L2 norm, count-distinct).processing::multi:feature_wise_mean_std,arg_max_row,arg_min_row,top_k_by_frequency.- Polars-backed
pipeline::DataFrame(lazy plan,collecttoDataSet),group_bywithAgg, joins, casts, filters. - SQL over
DataFrame(sqlfeature, default-on). executionengine: parallel filter/map, metrics, observers.profiling,validation,outliers,transform(TransformSpec),cdcboundary types.- Optional
db_connectorxfor DB → Arrow →DataSetingestion.