What's Changed
- chore: sanitize placeholder token and clean up deny.toml by @EffortlessSteven in #287
- fix: make workspace build and test cleanly on fresh Windows clone by @EffortlessSteven in #288
- fix: detect Windows temp directories with backslash in bench-report by @EffortlessSteven in #289
- feat: add copybook-arrow crate and implement BDD smoke tests by @EffortlessSteven in #290
- refactor: Extract 14 focused microcrates from monolithic crates by @EffortlessSteven in #293
- fix: add backticks to FieldKind and RecordBatch in doc comments by @EffortlessSteven in #318
- feat: workspace restructure, microcrate architecture, and comprehensive test build-out by @EffortlessSteven in #295
- build(deps)(deps): bump the actions-updates group across 1 directory with 7 updates by @dependabot[bot] in #320
- fix(ci): skip perf-validation when receipt file is absent by @EffortlessSteven in #321
- ci: make codecov status checks informational by @EffortlessSteven in #322
- fix(test): guard sign_separate proptest for feature flag disabled state by @EffortlessSteven in #323
- fix(ci): fix perf-validation jq boolean check and stray numbers scope by @EffortlessSteven in #324
- build(deps)(deps): bump the routine-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #319
- fix(test): relax flaky perf thresholds for CI runner variance by @EffortlessSteven in #325
- fix(ci): exclude copybook-bdd from coverage and test commands by @EffortlessSteven in #326
- docs: reality pass — update test counts, feature status, CI mode by @EffortlessSteven in #327
- fix(ci): exclude copybook-e2e and copybook-proptest from tarpaulin coverage by @EffortlessSteven in #328
- fix(e2e): use cargo_bin for portable binary resolution by @EffortlessSteven in #329
- fix(ci): format e2e tests, suppress deprecated lint, re-include e2e in llvm-cov by @EffortlessSteven in #331
- fix: align justfile targets with CI parity by @EffortlessSteven in #332
- fix: expand mutation testing to 12 crates by @EffortlessSteven in #335
- fix(ci): exclude copybook-bdd from nextest in perf and pr-insights workflows by @EffortlessSteven in #337
- fix(ci): remove paths-ignore so docs-only PRs get testExpected check by @EffortlessSteven in #336
- fix: compute lrecl_fixed for ODO schemas using max_count allocation by @EffortlessSteven in #333
- docs: ROADMAP reality pass — remove CI-off references, update stale items by @EffortlessSteven in #334
- fix(ci): add paths filter to coverage workflow, make coverage-diff non-blocking by @EffortlessSteven in #338
- docs: update test counts — 10,000+ passing (9 ignored) by @EffortlessSteven in #339
- docs: update CLAUDE.md workspace structure — 36 crates, 95+ deps by @EffortlessSteven in #342
- fix(ci): add workflow_dispatch trigger to CI Quick and Feature Flags by @EffortlessSteven in #340
- fix: deny unwrap/expect in production code for all publishable crates by @EffortlessSteven in #341
- docs: ROADMAP timeline fix — Phase 1 complete, update dates by @EffortlessSteven in #343
- fix: consistent nextest exclusions in justfile by @EffortlessSteven in #344
- fix: remove dead_code in ReportSectionFile (audit.rs) by @EffortlessSteven in #345
- fix: add dbg_macro lint to workspace-wide clippy config by @EffortlessSteven in #346
- fix: harden security.sh SHA validation logic by @EffortlessSteven in #347
- test: add e2e tests for support CLI subcommand by @EffortlessSteven in #348
- docs: update README test count — 15 ignored by @EffortlessSteven in #349
- fix: format e2e_cli_support.rs (cargo fmt) by @EffortlessSteven in #350
- fix: align justfile lint recipe with CI Quick by @EffortlessSteven in #351
- docs: update CHANGELOG unreleased with wave 1-4 changes by @EffortlessSteven in #352
- fix: replace allow(dead_code) with cfg(test) in copybook-overpunch by @EffortlessSteven in #353
- fix: add missing SPDX license headers to 7 source files by @EffortlessSteven in #354
- test: add e2e tests for inspect CLI flags by @EffortlessSteven in #355
- docs: update CONTRIBUTING.md prerequisites and test count by @EffortlessSteven in #356
- fix: remove unnecessary duplicate skip entries in deny.toml by @EffortlessSteven in #357
- fix: add doc comment for numeric module, update ignored test count by @EffortlessSteven in #358
- fix: resolve 14 broken intra-doc links in numeric module by @EffortlessSteven in #361
- test: add e2e tests for --strict-comments and --emit-filler flags by @EffortlessSteven in #359
- test: add e2e tests for --emit-meta, --emit-raw, --on-decode-unmappable flags by @EffortlessSteven in #360
- docs: update CHANGELOG unreleased with wave 5 changes by @EffortlessSteven in #362
- fix: harden fuzz scripts with set -euo pipefail and portable shebang by @EffortlessSteven in #363
- docs: add doc comments for 10 undocumented pub mod declarations by @EffortlessSteven in #364
- ci: add doc link validation to PR quick gate by @EffortlessSteven in #365
- test: add e2e tests for advanced CLI flags (float, bwz, use-raw, zoned) by @EffortlessSteven in #366
- docs: fix stale claims in CLAUDE.md (error codes, deps, workspace) by @EffortlessSteven in #367
- test: add e2e tests for CLI feature flag management (17 tests) by @EffortlessSteven in #368
- docs: update error taxonomy count and list all 10 families by @EffortlessSteven in #374
- test: add comprehensive e2e tests for verify subcommand (34 tests) by @EffortlessSteven in #373
- test: add e2e tests for encode CLI across codepages (21 tests) by @EffortlessSteven in #375
- fix: respect JsonNumberMode::Native in lib_api decode path by @EffortlessSteven in #378
- test: add e2e tests for determinism CLI subcommand (24 tests) by @EffortlessSteven in #376
- test: add e2e tests for decode CLI option interactions (19 tests) by @EffortlessSteven in #377
- fix: wire coerce_numbers through encode numeric paths by @EffortlessSteven in #379
- fix: wire bwz_encode through lib_api encode path by @EffortlessSteven in #380
- fix: wire RawMode::Field through lib_api decode path by @EffortlessSteven in #381
- docs: update quality metrics to match current state by @EffortlessSteven in #382
- docs: add examples to codec public API functions by @EffortlessSteven in #383
- docs: fix stale performance numbers in bench fixtures README by @EffortlessSteven in #384
- docs: add examples to core public API functions by @EffortlessSteven in #385
- docs: update test counts to 10,250+ across README and CLAUDE.md by @EffortlessSteven in #386
- feat: add CI bench PR comment automation (Issue #195) by @EffortlessSteven in #389
- docs: add examples to Schema query methods by @EffortlessSteven in #387
- docs: add examples to numeric encoding functions by @EffortlessSteven in #388
- docs: add examples to RecordFormat, JsonNumberMode, RawMode enums by @EffortlessSteven in #392
- docs: add examples to DecodeOptions and EncodeOptions builders by @EffortlessSteven in #390
- docs: add examples to charset, rdw, and error crates by @EffortlessSteven in #391
- docs: add examples to leaf microcrate enums by @EffortlessSteven in #393
- docs: add examples to error and overpunch enums by @EffortlessSteven in #394
- docs: add examples to determinism enums by @EffortlessSteven in #395
- docs: add examples to core schema and options enums by @EffortlessSteven in #396
- ci: fix perf receipts property test invocation by @EffortlessSteven in #398
- ci: fix 4 bugs in perf workflows and annotation script by @EffortlessSteven in #399
- docs: update stale documentation to v0.4.3 ground truth by @EffortlessSteven in #397
- docs: archive stale gate receipts and add baseline disclaimers by @EffortlessSteven in #400
- chore(tools): migrate script guards to copybook-scripts microcrate by @EffortlessSteven in #401
- chore: prepare crates for crates.io publishing v0.4.3 by @EffortlessSteven in #420
- feat: hierarchical JSON nesting and docs cleanup by @EffortlessSteven in #417
- test: fix COMP-3 18-digit packed decimal vectors by @EffortlessSteven in #421
- fix: strip publish-time internal dev-deps by @EffortlessSteven in #422
- fix: retry publish on crates.io rate limits by @EffortlessSteven in #423
- fix: trim copybook-codec-memory keywords for crates.io by @EffortlessSteven in #424
- fix: validate crates.io metadata before publish by @EffortlessSteven in #425
Full Changelog: v0.4.2...v0.4.3