Releases: ouch-org/ouch
0.5.1
0.5.1
is a small release to fix a couple of problems found in 0.5.0
.
- Misleading help message.
- Misleading CHANGELOG and README for packages.
For those who want to build Ouch with different flags, there is one enhancement:
New Contributors
Full Changelog: 0.5.0...0.5.1
0.5.0
What's new in 0.5.0
?
New Features
- Add
.rar
support (decompression and listing, see clarification below) (#529 by @lmkra) - Add
.7z
support (#555 by @Flat)
Improvements
- Switch to the faster
lz4
implementation,lz4_flex
(#445 by @PSeitz) - Improve error message when decompressing with missing extensions (#518 by @marcospb19)
- Strip binary when building with cargo (#535 by @marcospb19)
- Completions: hint generator to expand to file paths (#508 by @marcospb19)
Bug Fixes
- Fix size unit inconsistency (#502 by @marcospb19)
- Fix unaligned output when using parallelism (#509 by @marcospb19)
Clarifications about .rar
support
The added .rar
support includes unpacking (decompressing and listing) but not packing (compressing a new archive), that's due to RAR's license restrictions, as it only allows their proprietary software (WinRAR) to pack new archives.
With that in mind, we advice you not to use .rar
if possible, instead, use .zip
, .tar.gz
, .tar.zst
, .tar.xz
or .tar
with other supported format.
New Contributors
Thanks to everyone who helped with this release! 🎉🎉
- @PSeitz made their first contribution in #445
- @lmkra made their first contribution in #529
- @Flat made their first contribution in #555
And a special thank you to @Flat for fixing our releases. ❤️
Full Changelog: 0.4.2...0.5.0
0.4.2
ouch 0.4.2
Changelog
New Features
Improvements
- Multi-threaded compression for gzip and snappy using gzp #348 (@figsoda)
- Add
ls
as an alternative alias for listing #360 (@orhun)
Bug Fixes
- Fix decompression of zip archives with files larger than 4GB #354 (@figsoda)
- Fix handling of unknown extensions during decompression #355 (@figsoda)
- Remove remaining mentions of
.lz
that refers to the LZMA format #344 (@marcospb19) - Handle Zip when modification times are missing #433 (@marcospb19)
New Contributors
Full Changelog: 0.4.1...0.4.2
0.4.1
ouch 0.4.1
Changelog
New Features
Improvements
- Allow ouch to decompress archive into existing folder #321 (a-moreira)
- Accept inserting subcommand-independent flags in any position #329 (marcospb19)
- Improve extension parsing logic #330 (figsoda)
- Slight refactor when ensuring archive-only inputs #331 (vrmiguel)
- Use BStr to display possibly non-UTF8 byte sequences#332 (vrmiguel)
- Use ubyte instead of humansize #333 #333 (vrmiguel)
- Stop keeping track of the names of unpacked files #334 (vrmiguel)
- Clean up #335 (figsoda)
Bug fixes
- Stop incorrectly asking to remove the parent dir #321 (a-moreira)
- Fixed overwriting archive file when decompressing archive detected with MIME types.
Tweaks
Acknowledgements
Big thanks for the contributors of this version, @a-moreira, @figsoda and @rasa !
0.4.0
After 100+ PRs and 326 commits from 15 contributors, here's a summary for 0.4.0
!
Packaging Ouch
If your package was broken by this release, or you want more info about packaging Ouch, check this page.
Highlights of this release
- More than 15 bug fixes (including major bugs).
- New accessible mode.
- Added
list
command. - Added support for
.lz4
and.sz
(snappy). - Infer file type while decompressing via MIME types.
- New flags to ignore hidden files and
.gitignore
'd files when compressing. - Flag
-o/--output
was renamed to-d/--dir
.
Contributors
Many thanks to all who contributed to Ouch!
Here's a non-exhaustive list of people who contributed to this release:
@marcospb19
@figsoda
@sigmaSd
@vrmiguel
@Crypto-Spartan
@jcgruenhage
@LovecraftianHorror
@Artturin
@AntonHermann
@hivehand
@SpyrosRoum
@khubo
@exoego
@dnaka91
@dcariotti
Also, thanks to those who helped with packaging and issue reporting.
More changes
Other than the highlighted features, here are more 33 PRs with changes:
- Fix short flag for the --dir flag by @marcospb19 in #149
- Fix typo by @marcospb19 in #176
- Improve zip errors when paths are not utf8 valid by @marcospb19 in #181
- Fix error message panic when cannot list non-archive files by @marcospb19 in #182
- add supported formats to help message by @figsoda in #189
- Fix not overwriting files/dirs when trying to create a dir by @SpyrosRoum in #190
- add link to github to help message by @figsoda in #191
- Fix error with format infer by @marcospb19 in #205
- Skip compressing file if its the same file as the output by @sigmaSd in #193
- Fix zip memory warnings by @Crypto-Spartan in #217
- Fix the hint suggestion for compressing multiple files by @Crypto-Spartan in #219
- Ignore broken symlinks when compressing by @sigmaSd in #224
- simple eprintln fixes by @Crypto-Spartan in #226
- Actually use relative paths when extracting by @sigmaSd in #229
- Mark directories when compressing to zip regardless of their contents by @sigmaSd in #230
- Make yes, no, and accessible flags global by @LovecraftianHorror in #236
- feat: recover last modified time when unpacking zip archives by @vrmiguel in #250
- fix warning for zip with additional formats by @Crypto-Spartan in #239
- Fix the
decompress
-d
argument description by @hivehand in #265 - Fix wrong filename suggestions when compressing folders into non-archives by @vrmiguel in #269
- fix: incorrect warnings for decompression by @figsoda in #270
- fix: respect file permissions when compressing zip files by @figsoda in #271
- Generate man pages with clap_mangen by @figsoda in #273
- Show subcommand aliases on
--help
by @marcospb19 in #275 - Warn user if file extension is passed as file name by @marcospb19 in #277
- Check for errors when setting the last modified time by @marcospb19 in #278
- set last modified time during zip compression by @figsoda in #279
- fix infinite compression if output file is inside the input folder by @figsoda in #288
- Fix not overwriting a folder when compressing by @marcospb19 in #295
- fix error message when compressing zip archive by @marcospb19 in #299
- Fix fatal error if read fails when compressing by @marcospb19 in #297
- Improve error message when compressing folder with single-file formats by @marcospb19 in #303
- Check for EOF when asking questions by @marcospb19 in #311
PRs made for optimization, testing, refactoring, and documentation are not listed.
Regressed feature during development
This version was supposed to feature a progress bar with estimated time left and throughput data (MBs/s), unfortunately, it couldn't be shipped in this version because it introduced a couple of bugs.
We agreed to regress the progress bar until we could fix all these issues.
Full changelog
GitHub Diff: 0.3.1...0.4.0
CHANGELOG.md file: https://github.com/ouch-org/ouch/blob/main/CHANGELOG.md
0.3.1
Updating Cargo.lock
.
0.3.0
With 125 commits from 10 contributors in the last 28 days, here is 0.3.0!
Thanks for all the people who contributed!
Main features:
- Shell completions!
- Man pages!
- Huge error messages improvements
- With details and hints to help you fix them, when possible.
- Essential bug fixes.
- Better argparsing library.
- 7 different
.tar
format aliases are now supported.
Disclaimer
Our installation script does not support installing man pages and shell completions yet, but PRs are welcome!
New Contributors
- @figsoda made their first contribution in #86
- @dcariotti made their first contribution in #84
- @SpyrosRoum made their first contribution in #97
- @dnaka91 made their first contribution in #101
- @exoego made their first contribution in #109
- @AntonHermann made their first contribution in #124
- @khubo made their first contribution in #118
Full Changelog: 0.2.0...0.3.0
All PRs:
- CI: fix macOS executable paths by @vrmiguel in #69
- test: check the resulting compressed files through MIME types by @vrmiguel in #74
- CI: don't upload unused artifacts by @marcospb19 in #75
- Check if a folder is being compressed to a non-archive format by @vrmiguel in #79
- CI: bump VM's Ubuntu version to 20 by @vrmiguel in #81
- CI: stop building for ARM and Windows MinGW by @vrmiguel in #82
- Apply clippy lints and small refactors by @figsoda in #86
- Extension: add support for tgz by @figsoda in #85
- Print the format type when the format is in an incorrent position by @dcariotti in #84
- Fix single format compression by @marcospb19 in #89
- Fix single file decompression with specified output directory by @figsoda in #93
- Updating Cargo.lock to newer dependencies by @marcospb19 in #92
- refactor: better NO_COLOR support by @figsoda in #95
- Create CONTRIBUTING.md by @marcospb19 in #98
- Change FinalError builder pattern to take and give ownership of self by @SpyrosRoum in #97
- Add proper error handling for conflicting flags by @SpyrosRoum in #99
- Properly detect if we are compressing a partially compressed file by @SpyrosRoum in #91
- Add support for short tar archive extensions by @dnaka91 in #101
- Minor cleanups and refactors by @figsoda in #100
- Readme revision by @marcospb19 in #102
- Fix README small markdown error by @marcospb19 in #104
- Escaping pipes in installation commands by @marcospb19 in #106
- Omit "./" at the start of the path by @exoego in #109
- add repology badge by @figsoda in #113
- Use a same term as in command by @exoego in #117
- Change message when decompressing in current directory by @exoego in #119
- refactoring: Extract function by @exoego in #116
- Migrate from
oof
toclap
by @SpyrosRoum in #108 - Introduce new type for policy on how to handle overwrite questions by @AntonHermann in #124
- Check the format with Github Action by @dcariotti in #126
- Introduce fs_err as a replacement for fs by @GabrielSimonetto in #94
- change output flag to dir flag by @khubo in #118
- Fix archive detection by @SpyrosRoum in #125
- Updating CONTRIBUTING.md by @marcospb19 in #132
- Generate shell completions and man page by @figsoda in #122
- Print number of unpacked files by @dcariotti in #130
- Add Missing docs by @GabrielSimonetto in #128
- rewrite ci by @figsoda in #135
- Remove tar combinations from compression format by @SpyrosRoum in #133
- Simplify cli canonicalize implementation by @marcospb19 in #139
- Improving error messages and removing dead error treatment code by @marcospb19 in #140
- Fix decompression overwritting files without asking and failing on directories by @SpyrosRoum in #141
0.2.0
Made the decompress
command explicit, and other internal improvements with error treatment.
0.1.6
Reworked internal implementation fixing some bugs, adding more checks, and supporting more than 2 extensions per format.
0.1.5
Binaries built during this GitHub Actions run