Skip to content

Commit ee63ffb

Browse files
jqnatividadclaude
andcommitted
chore: prepare v1.0.0 release
- Bump version to 1.0.0 - Add v1.0.0 CHANGELOG entry Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent dd64786 commit ee63ffb

File tree

3 files changed

+48
-2
lines changed

3 files changed

+48
-2
lines changed

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,52 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.0.0] - 2026-02-21
11+
12+
### Performance
13+
14+
- Parallel dialect scoring via `rayon::par_iter` with thread-local `TypeScoreBuffers` for multi-core speedup
15+
- `#[inline]` on `detect_cell_type` hot path
16+
- Float regex gating with cheap `.contains('.')` / `.contains('e')` checks before regex evaluation
17+
- `TypeScoreBuffers` struct eliminates per-call heap allocations in type scoring
18+
- `normalize_line_endings` moved before `QuoteBoundaryCounts::new` to avoid redundant work
19+
- `cached_modal_field_count_freq` field on `Table` avoids repeated filter+count in `calculate_tau_1`
20+
- `Cow<Table>` in `build_metadata` avoids clone in the no-preamble case
21+
22+
### Changed
23+
24+
- Bump `clap` from 4.5.56 to 4.5.60
25+
- Bump `ureq` from 3.1.4 to 3.2.0
26+
- Bump `regex` from 1.12.2 to 1.12.3
27+
- Bump `tempfile` from 3.24.0 to 3.25.0
28+
- Rename `docs/PERFORMANCE.md` to `docs/ACCURACY.md` and update accuracy figures to v1.0.0
29+
30+
### Fixed
31+
32+
- CSV Wrangling accuracy improved from 87.15% to 92.74%:
33+
- Fix `nsign` benchmark annotation mapping (`"nsign"``b'#'`, not `b'§'`)
34+
- Raise pipe delimiter priority to prevent space-delimiter false positives
35+
- Double-quote 2.2× density check now requires real quote density (not just boundary count)
36+
- Single-quote opening boundary requirement prevents apostrophe-in-content false positives
37+
- Cap `Records`-mode buffer allocations at 100 MB; use probe read to avoid false-positive truncation warnings
38+
- Restore first-maximum tie-breaking semantics and fix related correctness issues
39+
- Address HIGH, MEDIUM, and LOW security audit findings
40+
- Dampen false quote boost from JSON content in unquoted fields
41+
- Fix `isco.csv` and `uniq_nl_data.csv` detection (closing-only boundary boost, space+empty-first-field penalty)
42+
- Fix misleading comment on float regex gate in `type_detection`
43+
- Correct `lib.rs` paper citation to García (2024) Table Uniformity Method
44+
- Fix tiebreaking threshold comment: 10% → 5% (`score_ratio > 0.95`)
45+
- Fix accuracy figures in `docs/BENCHMARK_DATASETS_INFO.md` (CSV Wrangling ~87%→~93%, POLLOCK 96.62%→97.30%)
46+
- Fix `docs/IMPLEMENTATION.md` NULL specificity weight (empty string=0.0, null-like strings=0.5)
47+
48+
### Added
49+
50+
- `docs/IMPLEMENTATION.md` — comprehensive algorithm reference covering all scoring details, thresholds, and design decisions
51+
- `docs/ACCURACY.md` — accuracy summary and known limitations (replaces `PERFORMANCE.md`, updated to v1.0.0)
52+
- Claude Code automations: clippy pre-tool hook, `api-compat-checker` subagent, `cargo-audit` and `benchmark` skills, benchmark regression checker subagent
53+
54+
**Full Changelog**: https://github.com/jqnatividad/csv-nose/compare/0.8.0...v1.0.0
55+
1056
## [0.8.0] - 2026-01-30
1157

1258
### Performance

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "csv-nose"
3-
version = "0.8.0"
3+
version = "1.0.0"
44
edition = "2024"
55
authors = ["Joel Natividad <joel@datHere.com>"]
66
description = "CSV dialect sniffer using Garcia's Table Uniformity Method"

0 commit comments

Comments
 (0)