0.118.0
版本发布时间: 2023-10-27 21:24:04
jqnatividad/qsv最新发布版本:0.134.0(2024-09-10 20:11:27)
Highlights:
- With the Polars upgrade to 0.34.2, the
sqlp
andjoinp
enjoy expanded capabilities and a noticeable performance boost. 🦄🏇 - We now publish the 500, 1000, 5000 and 15000 Geonames cities indices for the
geocode
command, with users able to easily switch indices with theindex-load
subcommand. As the name implies, the 500 index contains cities with populations of 500 or more, the 1000 index contains cities with populations of 1000 or more, and so on.
The 15000 index (default) is the smallest (13mb) and fastest with ~26k cities. The 500 index is the largest(56mb) and slowest, with ~200k cities. The 5000 index is 21mb with ~53k cities. The 1000 index is 44mb with ~140k cities. 🎠 - The
geocode
command now returns US Census FIPS codes for US places with the%json
and%pretty-json
formats, returning both US State and US County FIPS codes, with upcoming support for Cities and other US Census geographies (School Districts, Voting Districts, Congressional Districts, etc.) 🎠 - Improved performance for
stats
,schema
andtojsonl
commands with the stats cache bincode refactor. This is especially noticeable for large CSV files asstats
previously created large bincode cache files by default.
The bincode cache allows other commands (currently, onlyschema
andtojsonl
) to skip recomputing statistics and deserialize the saved stats data structures directly into memory. Now, it will only create a bincode file if the--stats-binout
option is specified (typically, before using theschema
antojsonl
commands).stats
will still continue to create a stats CSV cache file by default, but it will be much smaller than the bincode file, and is universally applicable, unlike the bincode cache. 🏇 - self-update will now verify updates. This is done by verifying the zipsign signature of the release zip archive before applying it. This should make it harder for malicious actors to compromise the self-update process. Version 0.118.0 has the verification code, and future releases will use this new verification process.
Regardless, we will zipsign all zip archives starting with this release.
Users can manually verify the signatures by downloading the zipsign public key and running the
zipsign
command line tool. See Verifying the Integrity of the Prebuilt Binaries Zip Archive for more info. 🦄 - The
frequency
command now supports the--ignore-case
option for case-insensitive frequency counts. 🦄🎠 - The
schema
command can now compile case-insensitive enum constraints. 🦄 - Improved performance for
apply
andapplydp
commands with faster compile-time perfect hash functions for operations lookups. 🏇 - Several minor performance improvements and bug fixes with
snappy
,sniff
&cat
commands. 🏇
Added
-
frequency
: added--ignore-case
option https://github.com/jqnatividad/qsv/pull/1386 -
geocode
: added 500, 1000, 5000, 15000 Geonames cities convenience shortcuts toindex
subcommands https://github.com/jqnatividad/qsv/commit/bd9f4c34b0a88cc6a446872ed4cda41e8a1ca102 -
schema
: added--ignore-case
option when compiling enum constraints; replaced Hashset with faster AHashset https://github.com/jqnatividad/qsv/commit/a16a1ca25f93699a5ee27327f4257e8e559bc5e8 -
snappy
: addedbuf_size
parm to compress helper fn https://github.com/jqnatividad/qsv/commit/e0c0d1f7eb22917d43f638121babe23e366c9dd8 -
sniff
added--just-mime
option https://github.com/jqnatividad/qsv/pull/1372 - added zipsign signature verification to self-update https://github.com/jqnatividad/qsv/pull/1389
Changed
-
apply
&applydp
: replaced binary_search with faster compile-time perfect hash functions for operations lookups https://github.com/jqnatividad/qsv/pull/1371 -
stats
,schema
andtojsonl
: stats cache bincode refactor https://github.com/jqnatividad/qsv/pull/1377 -
luau
: replaced sanitise-file-name with more popular sanitize-filename crate https://github.com/jqnatividad/qsv/commit/8927cb70bc92e9e1360547e96d1ac10e6037e9e3 -
cat
: minor optimization by preallocating with capacity https://github.com/jqnatividad/qsv/commit/c13c34120c47bb7ab603a97a0a7cae7f0de7b146 -
sqlp
&joinp
: expanded speed/functionality with upgrade to Polars 0.34.2 https://github.com/jqnatividad/qsv/pull/1385 -
tojsonl
: improved boolean inferencing. Now correctly infers booleans, even if the enum domain range is more than 2, but has cardinality 2 case-insensitive https://github.com/jqnatividad/qsv/commit/6345f2dc01f6451075ba7f23c35d8ba8cced9293 - build(deps): bump strum_macros from 0.25.2 to 0.25.3 by @dependabot in https://github.com/jqnatividad/qsv/pull/1368
- build(deps): bump regex from 1.10.1 to 1.10.2 by @dependabot in https://github.com/jqnatividad/qsv/pull/1369
- build(deps): bump uuid from 1.4.1 to 1.5.0 by @dependabot in https://github.com/jqnatividad/qsv/pull/1373
- build(deps): bump hashbrown from 0.14.1 to 0.14.2 by @dependabot in https://github.com/jqnatividad/qsv/pull/1376
- build(deps): bump self_update from 0.38.0 to 0.39.0 by @dependabot in https://github.com/jqnatividad/qsv/pull/1378
- build(deps): bump ahash from 0.8.5 to 0.8.6 by @dependabot in https://github.com/jqnatividad/qsv/pull/1383
- build(deps): bump serde from 1.0.189 to 1.0.190 by @dependabot in https://github.com/jqnatividad/qsv/pull/1388
- build(deps): bump futures from 0.3.28 to 0.3.29 by @dependabot in https://github.com/jqnatividad/qsv/pull/1390
- build(deps): bump futures-util from 0.3.28 to 0.3.29 by @dependabot in https://github.com/jqnatividad/qsv/pull/1391
- build(deps): bump tempfile from 3.8.0 to 3.8.1 by @dependabot in https://github.com/jqnatividad/qsv/commit/4f6200cb57fdeb612aeb74d796b4b0c1fde7c243
- apply select clippy suggestions
- update several indirect dependencies
- pin Rust nightly to 2023-10-26
Fixed
-
dedup
: fixed --ignore-case not being honored during internal sort option https://github.com/jqnatividad/qsv/pull/1387 -
applydp
: fixed wrong usage text usingapply
and notapplydp
https://github.com/jqnatividad/qsv/commit/c47ba86f305508a41e19ce39f2bd6323a0a60e1e -
geocode
: fixedindex-update
not honoring--timeout
parameter https://github.com/jqnatividad/qsv/commit/3272a9e3ac75e8b8f2d9f13b0cec81a0c41c7ed4 -
geocode
: fixedindex-load
to work properly with convenience shortcuts https://github.com/jqnatividad/qsv/commit/5097326ee41d39787b472b4eea95ddec76bb06b5
Full Changelog: https://github.com/jqnatividad/qsv/compare/0.117.0...0.118.0
1、 qsv-0.118.0-aarch64-apple-darwin.zip 24.08MB
2、 qsv-0.118.0-aarch64-unknown-linux-gnu.zip 13.08MB
3、 qsv-0.118.0-geocode-index.bincode 12.68MB
4、 qsv-0.118.0-geocode-index.bincode.cities1000 43.72MB
5、 qsv-0.118.0-geocode-index.bincode.cities15000 12.68MB
6、 qsv-0.118.0-geocode-index.bincode.cities500 56.36MB
7、 qsv-0.118.0-geocode-index.bincode.cities5000 21.5MB
8、 qsv-0.118.0-i686-pc-windows-msvc.zip 12.74MB
9、 qsv-0.118.0-i686-unknown-linux-gnu.zip 13.64MB
10、 qsv-0.118.0-x86_64-apple-darwin.zip 26.23MB
11、 qsv-0.118.0-x86_64-pc-windows-gnu.zip 26.14MB
12、 qsv-0.118.0-x86_64-pc-windows-msvc.zip 25.99MB
13、 qsv-0.118.0-x86_64-unknown-linux-gnu.zip 25.6MB
14、 qsv-0.118.0-x86_64-unknown-linux-musl.zip 14.48MB
15、 qsv-0.118.0.msi 27.17MB