github jqnatividad/qsv 0.88.0

latest releases: 0.134.0, 0.133.1, 0.133.0...
19 months ago

Added

  • extdedup: new command to deduplicate arbitrarily large CSV/text files using a memory-buffered, on-disk hash table. Not only does it dedup very large files using constant memory, it does so while retaining the file's original sort order, unlike dedup which loads the entire file into memory to sort it first before deduping by comparing neighboring rows #762
  • Added Out-of-Memory (OOM) handling for "non-streaming" commands (i.e. commands that load the entire file into memory) using a heuristic that if an input file's size is lower than the free memory available minus a default headroom of 20 percent, qsv processing stops gracefully with a detailed message about the potential OOM condition. This headroom can be adjusted using the QSV_FREEMEMORY_HEADROOM_PCT environment variable, which has a minimum value of 10 percent #767
  • add -Q, --quiet option to all commands that return counts to stderr (dedup, extdedup, search, searchset and replace) in #768

Changed

  • sort & sortcheck: separate test suites and link from usage text #756
  • frequency: amortize allocations, preallocate with_capacity. Informal benchmarking shows an improvement of ~30%! 🚀 #761
  • extsort: refactor. Aligned options with extdedup; now also support stdin/stdout; added --memory-limit option #763
  • safenames: minor optimization a7df378
  • excel: minor optimization 75eac78
  • stats: add date inferencing false positive warning, with a recommendation how to prevent false positives a84a4e6
  • sortcheck: added note to usage text that dupe_count is only valid if file is sorted ab69f14
  • reorganized Installation section to differentiate installation options 9ef8bfc
  • bump MSRV to 1.67.1
  • applied select clippy recommendations
  • Bump flexi_logger from 0.25.0 to 0.25.1 by @dependabot in #755
  • Bump pyo3 from 0.18.0 to 0.18.1 by @dependabot in #757
  • Bump serde_json from 1.0.92 to 1.0.93 by @dependabot in #760
  • Bump filetime from 0.2.19 to 0.2.20 by @dependabot in #759
  • Bump self_update from 0.34.0 to 0.35.0 by @dependabot in #765
  • cargo update bump several indirect dependencies
  • pin Rust nightly to 2023-02-12

Fixed

  • sortcheck: correct wrong progress message showing invalid dupe_count (as dupe count is only valid if the file is sorted) 8eaa824
  • py & luau: correct usage text about stderr 1b56e72

Full Changelog: 0.87.1...0.88.0

Don't miss a new qsv release

NewReleases is sending notifications on new releases.