Skip to content

Releases: dathere/qsv

0.73.0

21 Nov 18:51
Compare
Choose a tag to compare

Added

  • safenames: new command to modify header names to db-safe names in #606
  • apply: added censor-count operation in #599
  • apply: added escape operation in #600
  • excel: added --safe-names option in #598

Changed

  • apply: refactored to use enums instead of strings for operations in #601
  • fetch & fetchpost: --http-header -H shortcut in #596
  • excel: smarter date parsing for XLSX files; rename --safe-column-names to --safe-names in #603
  • Smarter safe names in #605
  • Bump uuid from 1.2.1 to 1.2.2 by @dependabot in #594
  • Bump mimalloc from 0.1.31 to 0.1.32 by @dependabot in #595
  • Bump censor from 0.2.0 to 0.3.0 by @dependabot in #597
  • Bump Swatinem/rust-cache from 1 to 2 by @dependabot in #602
  • cargo update bump several indirect dependencies
  • pin Rust nightly to 2022-11-19

Full Changelog: 0.72.0...0.73.0

0.72.0

14 Nov 14:21
Compare
Choose a tag to compare

Added

  • apply: added --keep-zero-time option in #590
  • lua and luajit: added --prologue & --epilogue options in #592
  • luau & luajit: switched from Lua to Luau; added special vars _idx and _rowcount in #593
  • luau & luajit: return exitcode 1 if interpretation error is encountered 655041b

Changed

  • schema & validate: expand description/usage text in 60dfebc
  • validate: return exitcode 0 if CSV is valid; exitcode 1 otherwise in #591
  • Bump hashbrown from 0.12.3 to 0.13.1 by @dependabot in #586
  • cargo bump update indirect dependencies, notably chrono from 0.4.22 to 0.4.23
  • Shortened command descriptions for luau & luajit and added salient notes to new interpreter section
  • adjust GitHub Actions workflows to use luau feature
  • pin Rust nightly to 2022-11-14

Full Changelog: 0.71.1...0.72.0

0.71.1

09 Nov 21:13
Compare
Choose a tag to compare

Changed

  • python feature is no longer enabled in the prebuilt binaries to avoid distribution issues and qsv panicking if the exact python version it was statically linked against is not available. If you require the python feature, you'll have to install/build from source.

Fixed

  • whirlwind tour: join's --no-case option has been replaced by --ignore-case by @alperyilmaz in #585

New Contributors

Full Changelog: 0.71.0...0.71.1

0.71.0

08 Nov 16:23
Compare
Choose a tag to compare

Added

  • apply: new encode and decode operations in #569
  • apply: add ability to show confidence to whatlang language detection in #579
  • count: add --width option in #582
  • fetch & fetchpost: Added --user_agent option by @minhajuddin2510 in #565 and f59bd85
  • Documented Homebrew installer 🚀 created by @FnControlOption

Changed

  • apply: refactor operations validation in #564 and f83ec6f
  • sortcheck: expand usage text and use fail_clierror macro 8513b53
  • stats: minor refactoring 3879513
  • tojsonl: it does "smart" conversion of CSV to JSONL af98290
  • validate: also show --progressbar when doing schemaless validation aae550a
  • only show enabled commands in command list in #583
  • Updated the benchmark script by @minhajuddin2510 in #581
  • Switch back to using num_cpus for detecting parallelism b7dbed8
  • qsv now links against Python 3.11 for the py command in #576
  • Bump robinraju/release-downloader from 1.5 to 1.6 by @dependabot in #568
  • Bump newline-converter from 0.2.0 to 0.2.1 by @dependabot in #567
  • Bump sysinfo from 0.26.5 to 0.26.7 by @dependabot in #566 and #572
  • Bump ahash from 0.8.0 to 0.8.1 by @dependabot in #575
  • Bump flexi_logger from 0.24.0 to 0.24.1 by @dependabot in #574
  • Bump pyo3 from 0.17.2 to 0.17.3 by @dependabot in #573
  • Bump jql from 5.1.1 to 5.1.2 by @dependabot in #577
  • Bump num_cpus from 1.13.1 to 1.14.0 by @dependabot in #580
  • Bump mimalloc from 0.1.30 to 0.1.31
  • Bump indicatif from 0.17.1 to 0.17.2
  • cargo update bump several indirect dependencies
  • updated rustfmt.toml with comment and string formatting options
  • bump MSRV to 1.65.0
  • pin Rust Nightly to 2022-11-07

Full Changelog: 0.70.0...0.71.0

0.70.0

24 Oct 13:54
Compare
Choose a tag to compare

Added

  • apply: additional operations - squeeze0, strip_prefix and strip_suffix #518 & #519
  • apply: add calcconv subcommand, which parses & evaluate math expressions, with support for units & conversions. #560

Changed

  • search & searchset: make match count optional #526
  • jsonl: remove panic and do proper error handling; add --ignore-errors option #531
  • py: py command does not do aggregations (reduce) operations #548
  • lua & luajit can do aggregations across CSV rows and py cannot #549
  • py: add more complex f-string formatting example #556
  • Standardize ignore case option #535
  • Use rustfmt nightly to take advantage of advanced features like StdExternalCrate #514 & #517
  • Update benchmark-basic.sh by @minhajuddin2510 in #542
  • Use fail macros more consistently #545
  • Use Redis ahash feature for performance
  • Added wix file for future Windows Installer by @minhajuddin2510 in #546
  • Bump console from 0.15.1 to 0.15.2 by @dependabot in #512
  • Bump pyo3 from 0.17.1 to 0.17.2 by @dependabot in #522
  • Bump jql from 5.0.2 to 5.1.0 by @dependabot in #521
  • Bump titlecase from 2.2.0 to 2.2.1 by @dependabot in #534
  • Bump itoa from 1.0.3 to 1.0.4 by @dependabot in #533
  • Bump sysinfo from 0.26.4 to 0.26.5 by @dependabot in #554
  • Bump mlua from 0.8.3 to 0.8.4 by @dependabot in #540
  • Bump uuid from 1.1.2 to 1.2.1 by @dependabot in #539
  • Bump flexi_logger from 0.23.3 to 0.24.0 by @dependabot in #538
  • Bump serde_json from 1.0.85 to 1.0.86 by @dependabot in #537
  • Bump actions/setup-python from 4.2.0 to 4.3.0 by @dependabot in #541
  • Bump filetime from 0.2.17 to 0.2.18 by @dependabot in #559
  • Bump redis from 0.21.6 to 0.22.1 by @dependabot in #555
  • Bump cached from 0.39.0 to 0.40.0 by @dependabot in #561
  • Bump whatlang from 0.16.1 to 0.16.2 by @dependabot in #562
  • cargo update bump several indirect dependencies
  • Pin Rust nightly to 2022-10-22

Fixed

  • excel: xls float temporary workaround for #516 that was ultimately fixed in PR 558 #520
  • tojsonl: escape newlines and double quotes. Fixes #552 #553
  • tojsonl: better error handling; when checking stdin for utf8, make sure its not empty. Fixes #530 #536

Removed

  • excel: removed xls float workaround now that calamine crate has been fixed. Fixes #516 removing need for PR 520 workaround. #558
  • removed obsolete Rust Nightly workflow 2a99318

New Contributors

Full Changelog: 0.69.0...0.70.0

0.69.0

28 Sep 12:18
Compare
Choose a tag to compare

Added

  • luajit: new command using LuaJIT, which is much faster than Lua #500

Changed

  • python: tweaks. Expanded usage text. Only show python version when logging is on. #507
  • fetch & fetchpost: apply clippy recommendation dd7220b
  • excel: use winfo! macro 7211ff2
  • Removed anyhow dependency #508
  • Bump actions/stale from 5 to 6 by @dependabot in #505
  • Bump sysinfo from 0.26.3 to 0.26.4 by @dependabot in #510
  • Cargo update bump several indirect dependencies
  • include Python 3.10 shared libraries when publishing for select platforms
  • bump MSRV to Rust 1.64.0
  • Pin Rust nightly to 2022-09-26

Fixed

  • python: corrected erroneous --helper example. Included hashhelper.py example.
  • extsort: fixed --help bug (#506)

Full Changelog: 0.68.0...0.69.0

0.68.0

16 Sep 18:59
Compare
Choose a tag to compare

Changed

  • Simplify python support. For prebuilt binaries, Python 3.10 is now required and the python 3.10 shared libraries are bundled for select platforms. If you require an earlier version of Python (3.6 and up), you'll have to install/compile from source. #492
  • Smarter self update. --update can still be explicitly invoked even when self-update feature has been disabled. Further, if you compiled qsv from source, self-update will only notify you of new releases, instead of proceeding with self-update. #490 and #493
  • lua: switch from Lua 5.4 to LuaJIT 2.1, primarily for performance #495
  • lua: when filtering using floats, "0.0" is false
  • join: removed unneeded utf8 check
  • search: simplify regex_unicode check
  • fetch & fetchpost: optimize imports; remove unneeded utf8 check
  • Bump anyhow from 1.0.64 to 1.0.65 by @dependabot in #498
  • Bump self_update from 0.31.0 to 0.32.0 by @dependabot in #499
  • add additional copyright holder to MIT License
  • Improved publishing workflow for prebuilt binaries
  • cargo update bumped several dependencies
  • pin Rust nightly to 2022-09-14

Fixed

  • fix typos by @kianmeng in #491
  • python: better error handling. When mapping/filtering, python expression errors no longer cause a panic, but instead fail to map/filter as expected (when mapping, "<ERROR>" is returned, when filtering, the filter is not applied), and continue processing. Also, other errors are properly propagated instead of panicking. #496
  • lua: better error handling. When mapping/filtering, Lua errors no longer cause a panic, but instead fail to map/filter as expected (when mapping, "<ERROR>" is returned, when filtering, the filter is not applied), and continue processing. #497

New Contributors

Full Changelog: 0.67.0...0.68.0

publish-testing: skip license file for now

17 Sep 20:08
Compare
Choose a tag to compare

This release is for testing the Release Github Action publishing workflow.

These downloads are not meant for general use.

0.67.0

09 Sep 10:01
Compare
Choose a tag to compare

Added

  • added self_update feature, so users can build qsv without self-update engine.
    Previously, self-update was enabled by default. #483 and #484

Changed

  • search & searchset: --quick option returns first match row to stderr #475
  • python: make --batch size configurable #485
  • stats: added more implementation comments; standardize string creation
  • replace: add conditional compilation to eliminate dead_code warning
  • lua: when filtering, non-zero integers are true
  • refactored workdir.rs test helpers
  • refactored util:init_logger() to log command-line arguments
  • Bump url from 2.3.0 to 2.3.1 by @dependabot in #489
  • Bump anyhow from 1.0.63 to 1.0.64 by @dependabot in #478
  • Bump sysinfo from 0.26.1 to 0.26.2 by @dependabot in #477
  • Bump robinraju/release-downloader from 1.4 to 1.5 by @dependabot in #481
  • cargo update bump indirect dependencies
  • pin Rust nightly to 2022-09-07

Full Changelog: 0.66.0...0.67.0

0.66.0

02 Sep 02:15
Compare
Choose a tag to compare

Added

  • apply: added Multi-column subcommands by @udsamani in #462
  • stats: added --round option #474
  • created fail_format! macro for more concise error handling in #471

Changed

  • Move command usage text to beginning of cmd source code, so we don't need to move around deeplinks to usage texts from README #467
  • Optimize conditional compilation of various qsv binary variants, removing dead code #473
  • fetch & fetchpost: removed initial burst of requests, making the commands "friendlier" to rate-limited APIs
  • search, searchset & replace: minor performance optimizations
  • created dedicated rustfmt GitHub action workflow to ensure code is always rust formatted. Previously, rustfmt check was in Linux workflow.
  • applied some clippy recommendations
  • Bump actix-governor from 0.3.1 to 0.3.2 by @dependabot in #461
  • cargo update bumped several dependencies
  • pin Rust nightly to 2022-08-31
  • set RUSTFLAGS to emit=asm when compiling pre-built binaries for performance
    see http://likebike.com/posts/How_To_Write_Fast_Rust_Code.html#emit-asm

Fixed

  • extsort code was being compiled for qsvdp even if it was not enabled
  • bump sysinfo from 0.25.2 to 0.26.0, fixing segfault on Apple Silicon
  • fixed qsvnp on Windows so it doesn't look for python shared libraries even if python is not enabled
  • fixed CliError::Other so it returns bad exitcode (exitcode 1) instead of incorrect_usage (exit code 2)

New Contributors

Full Changelog: 0.65.0...0.66.0