Releases: riquito/tuc
Releases · riquito/tuc
v1.3.0
Changes
- perf: much faster (2x to 5x depending on the workload)
- detect and apply better algorithms before starting
- mmap support
- feat: you can now pass a file path as argument to tuc
- feat: add the ability to display fallback output when a field is out of bound
(you can set it per-field using-f <range>=somefallbackor by providing
a default fallback with--fallback-oob somefallback)
(it will be opened with mmap if available and as long as --no-mmap is not set) - feat: it is now possible to type \t while formatting fields and
output a TAB (as we already do for \n) e.g.-f '{1}\t{2}' - feat: new argument --fixed-memory (-M) to cut lines in chunks of
a fixed size (in kilobytes), to allow cutting arbitrary long lines - feat: --characters now depends on the (default) regex feature
- feat: ignore broken pipe when feeding output to tools such as
head - feat: display short help when run without arguments
- feat: help and short help are colored, as long as output is a tty and
unless env var TERM=dumb or NO_COLOR (any value) is set - chore: --json internally uses serde_json, faster and more precise
- chore: improved test coverage
v1.2.0
Changes
- feat: new option --json to format output as JSON array
- feat: -r can be used when cutting --characters. It replaces
the (empty) delimiter between characters with whatever you provided - feat: exit early when some combinations of fields cannot be used together
- feat: updated dependencies. In particular the regex crate which offers new
functionalities (word boundary assertions) - fix: field formatting is now applied to field 1 even if no delimiters
are found (similar to how we print the unformatted field 1) - doc: many error messages have been rewritten for better clarity
- doc: new svg demo in the README
v1.1.0
Changes
- feat: no more need to pass --join when using --replace, it's implied
- feat: new error messages when applying some incompatible options
- doc: improved documentation, help, man page
- doc: mention that --regex requires an argument
- test: improved test coverage
- fix: better error message when --regex argument is missing
v1.0.0
Time for a new release, 1.0.0 !
Since no known bugs have been found since a while, it's time to give a sense of maturity with a 1.0.0 release.
Changes
- refactor: regex feature is enabled by default
- perf: disable unnecessary regex features to reduce binary size
- refactor: check fields bounds using unsigned_abs
- chore: updated dependencies
- chore: prebuilt binaries are built with rust 1.67.1
- doc: added link to tuc playground
- doc: fix typos
For maintainers: first, thank you. You help so many projects with your valuable work.
With the release of 1.0.0 I took the decision to compile tuc with regex support enabled by default. This means that prebuilt binaries have changed from tuc and tuc-regex to tuc (now with regex) and tuc-lite (tuc-lite is tuc without regex support, to offer a smaller binary). I believe is best for tuc to have regex support by default: sorry for the confusion. I'm not sure if tuc-lite is meaningful for every distribution/OS out there, I'll leave that decision up to you. And thanks again.
v0.11.0
- fix: --lines could throw out of bounds with -f 1: in some situations
- chore: dependency updates
- doc: fixed typos
- doc: new section about community-managed install methods (macports)
- doc: man page generated using the mode modern pandoc 2.5
v0.10.0
- breaking: -E is now an option (-e), and accept the regex as value
- doc: added man page
- doc: improved documentation
- chore: updated pico-args
v0.9.0
- breaking: --lines output each bound on their own line
- feat: --regex support
- feat: minor tuning of buffers
- feat: internal improvements for --lines
- fix: right side of a range can be negative
- fix: emit proper error if right side of a range is behind left side
- fix: --lines with negative indexes were broken
- fix: --greedy-delimiter was cutting wrongly lines starting with delimiter
v0.8.0
- add support for --greedy-delimiter
- bounds can be formatted
- major refactoring for better code maintainability
v0.7.0
- add support for --join
- add support for --lines
- add support for --complement
- add support for --zero-terminated
v0.6.0
- add split-by-byte using --bytes
- add split-by-character using --characters
- faster performance when -p (compress delimiters) is on
- faster performance when reading the input
- CI now fails if the linter is not satisfied
- reviewd CI/release actions, simpler, faster
- release binaries for ARM too