fix(archive): handle invalid UTF-8 passwords in 7z decompression
[ouch.git] / CHANGELOG.md
blob7d6f9095830dcf564c5a8227cd903681871c6ab5
1 # Changelog
3 All notable changes to this project will be documented in this file.
5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8 _This changelog was created after v0.3.1. As a result, there may be slight inaccuracies with prior versions._
10 Categories Used:
12 - New Features - new features added to ouch itself, not CI
13 - Bug Fixes
14 - Improvements - general enhancements
15 - Tweaks - anything that doesn't fit into other categories, small typo fixes, most CI stuff,
16   meta changes (e.g. README updates), etc.
17 - Regression - removal of a feature (that might be readded, or reworked in the future)
19 **Bullet points in chronological order by PR**
21 ## [Unreleased](https://github.com/ouch-org/ouch/compare/0.5.1...HEAD)
23 ### New Features
25 - Add multithreading support for `zstd` compression [\#689](https://github.com/ouch-org/ouch/pull/689) ([nalabrie](https://github.com/nalabrie))
27 ### Bug Fixes
29 - Fix output corrupted on parallel decompression [\#642](https://github.com/ouch-org/ouch/pull/642) ([AntoniosBarotsis](https://github.com/AntoniosBarotsis))
31 ### Tweaks
33 - CI refactor [\#578](https://github.com/ouch-org/ouch/pull/578) ([cyqsimon](https://github.com/cyqsimon))
35 ### Improvements
37 - Fix logging IO bottleneck [\#642](https://github.com/ouch-org/ouch/pull/642) ([AntoniosBarotsis](https://github.com/AntoniosBarotsis))
38 - Support decompression  over stdin [\#692](https://github.com/ouch-org/ouch/pull/692) ([rcorre](https://github.com/rcorre))
40 ## [0.5.1](https://github.com/ouch-org/ouch/compare/0.5.0...0.5.1)
42 ### Improvements
44 - Explicitly declare feature flags `use_zlib` & `use_zstd_thin` [\#564](https://github.com/ouch-org/ouch/pull/564) ([cyqsimon](https://github.com/cyqsimon))
46 ### Tweaks
48 - Mention support for `7z` and `rar` in help message.
50 ## [0.5.0](https://github.com/ouch-org/ouch/compare/0.4.2...0.5.0)
52 ### New Features
54 - Add support for listing and decompressing `.rar` archives [\#529](https://github.com/ouch-org/ouch/pull/529) ([lmkra](https://github.com/lmkra))
55 - Add support for 7z [\#555](https://github.com/ouch-org/ouch/pull/555) ([Flat](https://github.com/flat) & [MissileLab](https://github.com/MisileLab))
57 ### Bug Fixes
59 - Fix mime type detection [\#529](https://github.com/ouch-org/ouch/pull/529) ([lmkra](https://github.com/lmkra))
60 - Fix size unit inconsistency [\#502](https://github.com/ouch-org/ouch/pull/502) ([marcospb19](https://github.com/marcospb19))
62 ### Improvements
64 - Hint completions generator to expand file paths [\#508](https://github.com/ouch-org/ouch/pull/508) ([marcospb19](https://github.com/marcospb19))
66 ## [0.4.2](https://github.com/ouch-org/ouch/compare/0.4.1...0.4.2)
68 ### New Features
70 - Add flags to configure the compression level
71   - `--level` to precisely set the compression level [\#372](https://github.com/ouch-org/ouch/pull/372) ([xgdgsc](https://github.com/xgdgsc))
72   - `--fast` and `--slow` [\#374](https://github.com/ouch-org/ouch/pull/374) ([figsoda](https://github.com/figsoda))
73 - Add `--format` option [\#341](https://github.com/ouch-org/ouch/pull/341) ([figsoda](https://github.com/figsoda))
75 ### Improvements
77 - Multi-threaded compression for gzip and snappy using gzp [\#348](https://github.com/ouch-org/ouch/pull/348) ([figsoda](https://github.com/figsoda))
78 - Add `ls` as an alternative alias for listing [\#360](https://github.com/ouch-org/ouch/pull/360) ([orhun](https://github.com/orhun))
80 ### Bug Fixes
82 - Fix decompression of zip archives with files larger than 4GB [\#354](https://github.com/ouch-org/ouch/pull/354) ([figsoda](https://github.com/figsoda))
83 - Fix handling of unknown extensions during decompression [\#355](https://github.com/ouch-org/ouch/pull/355) ([figsoda](https://github.com/figsoda))
84 - Remove remaining mentions of `.lz` that refers to the LZMA format [\#344](https://github.com/ouch-org/ouch/pull/344) ([marcospb19](https://github.com/marcospb19))
85 - Handle Zip when modification times are missing [\#433](https://github.com/ouch-org/ouch/pull/433) ([marcospb19](https://github.com/marcospb19))
87 ## [0.4.1](https://github.com/ouch-org/ouch/compare/0.4.0...0.4.1)
89 ### New Features
91 - Add cli option to (de)compress quietly [\#325](https://github.com/ouch-org/ouch/pull/325) ([a-moreira](https://github.com/a-moreira))
93 ### Improvements
95 - Allow ouch to decompress archive into existing folder [\#321](https://github.com/ouch-org/ouch/pull/321) ([a-moreira](https://github.com/a-moreira))
96 - Accept inserting subcommand-independent flags in any position [\#329](https://github.com/ouch-org/ouch/pull/329) ([marcospb19](https://github.com/marcospb19))
97 - Improve extension parsing logic [\#330](https://github.com/ouch-org/ouch/pull/330) ([figsoda](https://github.com/figsoda))
98 - Slight refactor when ensuring archive-only inputs [\#331](https://github.com/ouch-org/ouch/pull/331) ([vrmiguel](https://github.com/vrmiguel))
99 - Use BStr to display possibly non-UTF8 byte sequences[\#332](https://github.com/ouch-org/ouch/pull/332) ([vrmiguel](https://github.com/vrmiguel))
100 - Use ubyte instead of humansize #333 [\#333](https://github.com/ouch-org/ouch/pull/333) ([vrmiguel](https://github.com/vrmiguel))
101 - Stop keeping track of the names of unpacked files [\#334](https://github.com/ouch-org/ouch/pull/334) ([vrmiguel](https://github.com/vrmiguel))
102 - Clean up [\#335](https://github.com/ouch-org/ouch/pull/335) ([figsoda](https://github.com/figsoda))
104 ### Bug fixes
106 - Stop incorrectly asking to remove the parent dir [\#321](https://github.com/ouch-org/ouch/pull/321) ([a-moreira](https://github.com/a-moreira))
108 ### Tweaks
110 - Add scoop install instructions to readme [\#323](https://github.com/ouch-org/ouch/pull/323) ([rasa](https://github.com/rasa))
112 ## [0.4.0](https://github.com/ouch-org/ouch/compare/0.3.1...0.4.0) (2022-11-20)
114 ### New Features
116 - Add release-helper.sh to make github releases easier [\#146](https://github.com/ouch-org/ouch/pull/146) ([marcospb19](https://github.com/marcospb19))
117 - Add support for lz4 [\#150](https://github.com/ouch-org/ouch/pull/150) ([figsoda](https://github.com/figsoda))
118 - add supported formats to help message [\#189](https://github.com/ouch-org/ouch/pull/189) ([figsoda](https://github.com/figsoda))
119 - add link to github to help message [\#191](https://github.com/ouch-org/ouch/pull/191) ([figsoda](https://github.com/figsoda))
120 - Update to Rust 2021 edition [\#192](https://github.com/ouch-org/ouch/pull/192) ([marcospb19](https://github.com/marcospb19))
121 - Implement accessibility mode [\#197](https://github.com/ouch-org/ouch/pull/197) ([AntonHermann](https://github.com/AntonHermann))
122 - Add heuristics to decompressing archives [\#209](https://github.com/ouch-org/ouch/pull/209) ([sigmaSd](https://github.com/sigmaSd))
123 - Add progress bar to compressing/decompressing [\#210](https://github.com/ouch-org/ouch/pull/210) ([sigmaSd](https://github.com/sigmaSd))
124 - Support snappy format [\#215](https://github.com/ouch-org/ouch/pull/215) ([figsoda](https://github.com/figsoda))
125 - Allow ignoring hidden files and files matched by .gitignore files [\#245](https://github.com/ouch-org/ouch/pull/245) ([vrmiguel](https://github.com/vrmiguel))
126 - Automatically generate man pages with clap_mangen [\#273](https://github.com/ouch-org/ouch/pull/273) ([figsoda](https://github.com/figsoda))
127 - Set last modified time during zip compression [\#279](https://github.com/ouch-org/ouch/pull/279) ([figsoda](https://github.com/figsoda))
129 ### Bug Fixes
131 - Perform exhaustive matching on error variants [\#147](https://github.com/ouch-org/ouch/pull/147) ([marcospb19](https://github.com/marcospb19))
132 - Fix short flag for the --dir flag [\#149](https://github.com/ouch-org/ouch/pull/149) ([marcospb19](https://github.com/marcospb19))
133 - Rewrite tests [\#163](https://github.com/ouch-org/ouch/pull/163) ([figsoda](https://github.com/figsoda))
134 - switch from lz4_flex to lzzzz, enable lz4 tests [\#173](https://github.com/ouch-org/ouch/pull/173) ([figsoda](https://github.com/figsoda))
135 - Fix error message panic when cannot list non-archive files [\#182](https://github.com/ouch-org/ouch/pull/182) ([marcospb19](https://github.com/marcospb19))
136 - Fix not overwriting files/dirs when trying to create a dir [\#190](https://github.com/ouch-org/ouch/pull/190) ([SpyrosRoum](https://github.com/SpyrosRoum))
137 - Skip compressing file if its the same file as the output [\#193](https://github.com/ouch-org/ouch/pull/193) ([sigmaSd](https://github.com/sigmaSd))
138 - Fix warnings in doc comments [\#196](https://github.com/ouch-org/ouch/pull/196) ([AntonHermann](https://github.com/AntonHermann))
139 - Remove Lzip because its incorrect, and improve extension comparison [\#198](https://github.com/ouch-org/ouch/pull/198) ([sigmaSd](https://github.com/sigmaSd))
140 - Fix error with format infer [\#205](https://github.com/ouch-org/ouch/pull/205) ([marcospb19](https://github.com/marcospb19))
141 - Truncate long messages in the progress bar [\#214](https://github.com/ouch-org/ouch/pull/214) ([sigmaSd](https://github.com/sigmaSd))
142 - Fix zip memory warnings [\#217](https://github.com/ouch-org/ouch/pull/217) ([Crypto-Spartan](https://github.com/Crypto-Spartan))
143 - Fix the hint suggestion for compressing multiple files [\#219](https://github.com/ouch-org/ouch/pull/219) ([Crypto-Spartan](https://github.com/Crypto-Spartan))
144 - Simple eprintln fixes [\#226](https://github.com/ouch-org/ouch/pull/226) ([Crypto-Spartan](https://github.com/Crypto-Spartan))
145 - Actually use relative paths when extracting [\#229](https://github.com/ouch-org/ouch/pull/229) ([sigmaSd](https://github.com/sigmaSd))
146 - Mark directories when compressing to zip regardless of their contents [\#230](https://github.com/ouch-org/ouch/pull/230) ([sigmaSd](https://github.com/sigmaSd))
147 - Recover last modified time when unpacking zip archives [\#250](https://github.com/ouch-org/ouch/pull/250) ([vrmiguel](https://github.com/vrmiguel))
148 - Remove single quotes from clap doc comments [\#251](https://github.com/ouch-org/ouch/pull/251) ([jcgruenhage](https://github.com/jcgruenhage))
149 - Fix incorrect warnings for decompression [\#270](https://github.com/ouch-org/ouch/pull/270) ([figsoda](https://github.com/figsoda))
150 - Fix infinite compression if output file is inside the input folder [\#288](https://github.com/ouch-org/ouch/pull/288) ([figsoda](https://github.com/figsoda))
151 - Fix not overwriting a folder when compressing [\#295](https://github.com/ouch-org/ouch/pull/295) ([marcospb19](https://github.com/marcospb19))
152 - Check for EOF when asking questions [\#311](https://github.com/ouch-org/ouch/pull/311) ([marcospb19](https://github.com/marcospb19))
154 ### Improvements
156 - Infer file extension when decompressing [\#154](https://github.com/ouch-org/ouch/pull/154) ([sigmaSd](https://github.com/sigmaSd))
157 - Extension: Use hardcoded slices instead of `Vecs` when creating an `Extension` [\#155](https://github.com/ouch-org/ouch/pull/155) ([vrmiguel](https://github.com/vrmiguel))
158 - Avoid allocating in `nice_directory_display` when possible, make `Extension` non-exhaustive [\#156](https://github.com/ouch-org/ouch/pull/156) ([vrmiguel](https://github.com/vrmiguel))
159 - Optimize `strip_cur_dir` [\#167](https://github.com/ouch-org/ouch/pull/167) ([vrmiguel](https://github.com/vrmiguel))
160 - Improve zip errors when paths are not utf8 valid [\#181](https://github.com/ouch-org/ouch/pull/181) ([marcospb19](https://github.com/marcospb19))
161 - Simplify/optimize several file inferring functions [\#204](https://github.com/ouch-org/ouch/pull/204) ([vrmiguel](https://github.com/vrmiguel))
162 - List command: print file immediately after it is processed [\#225](https://github.com/ouch-org/ouch/pull/225) ([sigmaSd](https://github.com/sigmaSd))
163 - Use `Cow<'static, str>` in `FinalError` [\#246](https://github.com/ouch-org/ouch/pull/246) ([vrmiguel](https://github.com/vrmiguel))
164 - Don't allocate when possible in `to_utf`, `nice_directory_display` [\#249](https://github.com/ouch-org/ouch/pull/249) ([vrmiguel](https://github.com/vrmiguel))
165 - Allow overriding the completions output directory [\#251]](https://github.com/ouch-org/ouch/pull/251) ([jcgruenhage](https://github.com/jcgruenhage))
166 - Use Lazy to optimize env::current_dir repeated call [\#261]](https://github.com/ouch-org/ouch/pull/261) ([marcospb19](https://github.com/marcospb19))
167 - Apply clippy lints and simplify smart_unpack [\#267](https://github.com/ouch-org/ouch/pull/267) ([figsoda](https://github.com/figsoda))
168 - Respect file permissions when compressing zip files [\#271](https://github.com/ouch-org/ouch/pull/271) ([figsoda](https://github.com/figsoda))
169 - Apply clippy lints [\#273](https://github.com/ouch-org/ouch/pull/273) ([figsoda](https://github.com/figsoda))
170 - Warn user if file extension is passed as file name [\#277](https://github.com/ouch-org/ouch/pull/277) ([marcospb19](https://github.com/marcospb19))
171 - Check for errors when setting the last modified time [\#278](https://github.com/ouch-org/ouch/pull/278) ([marcospb19](https://github.com/marcospb19))
172 - Use to the humansize crate for formatting human-readable file sizes [\#281](https://github.com/ouch-org/ouch/pull/281) ([figsoda](https://github.com/figsoda))
173 - Reactivate CI targets for ARM Linux and Windows MinGW [\#289](https://github.com/ouch-org/ouch/pull/289) ([figsoda](https://github.com/figsoda))
174 - Improve error message when compressing folder with single-file formats [\#303](https://github.com/ouch-org/ouch/pull/303) ([marcospb19](https://github.com/marcospb19))
176 ### Tweaks
178 - Updating rustfmt [\#144](https://github.com/ouch-org/ouch/pull/144) ([marcospb19](https://github.com/marcospb19))
179 - Remove import comments [\#162](https://github.com/ouch-org/ouch/pull/162) ([marcospb19](https://github.com/marcospb19))
180 - Refactor utils into a module [\#166](https://github.com/ouch-org/ouch/pull/166) ([vrmiguel](https://github.com/vrmiguel))
181 - README update [\#161](https://github.com/ouch-org/ouch/pull/161) & [\#175](https://github.com/ouch-org/ouch/pull/175) ([marcospb19](https://github.com/marcospb19))
182 - Fix typo [\#153](https://github.com/ouch-org/ouch/pull/153) ([figsoda](https://github.com/figsoda)) & [\#176](https://github.com/ouch-org/ouch/pull/176) ([marcospb19](https://github.com/marcospb19))
183 - Organizing utils [\#179](https://github.com/ouch-org/ouch/pull/179) ([marcospb19](https://github.com/marcospb19))
184 - Update issue templates [\#186](https://github.com/ouch-org/ouch/pull/186) ([marcospb19](https://github.com/marcospb19))
185 - put compression backends behind features, clean up Cargo.toml [\#187](https://github.com/ouch-org/ouch/pull/187) ([figsoda](https://github.com/figsoda))
186 - remove trailing blank lines in error messages [\#188](https://github.com/ouch-org/ouch/pull/188) ([figsoda](https://github.com/figsoda))
187 - Improve/fix issue & question templates [\#199](https://github.com/ouch-org/ouch/pull/199) & [\#200](https://github.com/ouch-org/ouch/pull/200) ([figsoda](https://github.com/figsoda))
188 - Simplify decompress function [\#206](https://github.com/ouch-org/ouch/pull/206) ([sigmaSd](https://github.com/sigmaSd))
189 - Add redundant check for --yes and --no flags conflict [\#221](https://github.com/ouch-org/ouch/pull/221) ([marcospb19](https://github.com/marcospb19))
190 - Ignore broken symlinks when compressing [\#224](https://github.com/ouch-org/ouch/pull/224) ([sigmaSd](https://github.com/sigmaSd))
191 - Remove redundant user_wants_to_continue function [\#227](https://github.com/ouch-org/ouch/pull/227) ([Crypto-Spartan](https://github.com/Crypto-Spartan))
192 - Fix missing \#\[must_use\] attribute on a method returning `Self` [\#243](https://github.com/ouch-org/ouch/pull/243) ([vrmiguel](https://github.com/vrmiguel))
193 - Update dependencies [\#253](https://github.com/ouch-org/ouch/pull/253) ([Crypto-Spartan](https://github.com/Crypto-Spartan))
194 - Update dependencies [\#257](https://github.com/ouch-org/ouch/pull/257) ([Artturin](https://github.com/Artturin))
195 - Add pull request template [\#263](https://github.com/ouch-org/ouch/pull/263) ([figsoda](https://github.com/figsoda))
196 - Clean up the description for the `-d/--dir` argument to `decompress` [\#264](https://github.com/ouch-org/ouch/pull/264) ([hivehand](https://github.com/hivehand))
197 - Show subcommand aliases on --help [\#275](https://github.com/ouch-org/ouch/pull/275) ([marcospb19](https://github.com/marcospb19))
198 - Update dependencies [\#276](https://github.com/ouch-org/ouch/pull/276) ([figsoda](https://github.com/figsoda))
199 - Rewrite progress module [\#280](https://github.com/ouch-org/ouch/pull/280) ([figsoda](https://github.com/figsoda))
200 - Create scripts for benchmarking ouch [\#280](https://github.com/ouch-org/ouch/pull/280) ([figsoda](https://github.com/figsoda))
202 ### Regression
204 - Remove automatic detection for partial compression [\#286](https://github.com/ouch-org/ouch/pull/286) ([marcospb19](https://github.com/marcospb19))
205 - Remove progress feature [\#300](https://github.com/ouch-org/ouch/pull/300) ([figsoda](https://github.com/figsoda))
207 ### New Contributors
209 - [@sigmaSd](https://github.com/sigmaSd) made their first contribution in [\#154](https://github.com/ouch-org/ouch/pull/154)
210 - [@Crypto-Spartan](https://github.com/Crypto-Spartan) made their first contribution in [\#217](https://github.com/ouch-org/ouch/pull/217)
211 - [@Artturin](https://github.com/Artturin) made their first contribution in [\#257](https://github.com/ouch-org/ouch/pull/257)
213 ## [0.3.1](https://github.com/ouch-org/ouch/compare/0.3.0...0.3.1) (2021-11-02)
215 ### Tweaks
217 - Version bump
219 ## [0.3.0](https://github.com/ouch-org/ouch/compare/0.2.0...0.3.0) (2021-11-02)
221 ### New Features
223 - Properly detect if we are compressing a partially compressed file [\#54](https://github.com/ouch-org/ouch/issues/54) & [\#91](https://github.com/ouch-org/ouch/pull/91) ([SpyrosRoum](https://github.com/SpyrosRoum))
224 - Support `.tgz` [\#47](https://github.com/ouch-org/ouch/issues/47) & [\#85](https://github.com/ouch-org/ouch/pull/85) ([figsoda](https://github.com/figsoda))
225 - Add support for short tar archive extensions [\#101](https://github.com/ouch-org/ouch/issues/101) ([dnaka91](https://github.com/dnaka91))
226 - Migrate from `oof` to `clap` for argument parsing [\#105](https://github.com/ouch-org/ouch/issues/105) & [\#108](https://github.com/ouch-org/ouch/pull/108) ([SpyrosRoum](https://github.com/SpyrosRoum))
227 - Shell completions & man page [\#122](https://github.com/ouch-org/ouch/pull/122) ([figsoda](https://github.com/figsoda))
228 - Implement command 'list' to show archive contents [\#129](https://github.com/ouch-org/ouch/pull/129) ([AntonHermann](https://github.com/AntonHermann))
229 - Print number of unpacked files by [\#130](https://github.com/ouch-org/ouch/pull/130) ([boozec](https://github.com/boozec))
231 **Disclaimer: _Our installation script does not support installing man pages and shell completions yet, but PRs are welcome!_**
233 ### Bug Fixes
235 - Empty folders are ignored in archive compression formats [\#41](https://github.com/ouch-org/ouch/issues/41) ([GabrielSimonetto](https://github.com/GabrielSimonetto))
236 - fix macOS executable paths [\#69](https://github.com/ouch-org/ouch/pull/69) ([vrmiguel](https://github.com/vrmiguel))
237 - Print the format type when the format is in an incorrect position [\#84](https://github.com/ouch-org/ouch/pull/84) ([boozec](https://github.com/boozec))
238 - Compressing a single file to a single format that's not `tar` or `zip` panics [\#87](https://github.com/ouch-org/ouch/issues/87) & [\#89](https://github.com/ouch-org/ouch/pull/89) ([marcospb19](https://github.com/marcospb19))
239 - Compression flag `--output` not working with single file compression [\#90](https://github.com/ouch-org/ouch/issues/90) & [\#93](https://github.com/ouch-org/ouch/pull/93) ([figsoda](https://github.com/figsoda))
240 - Fix NO_COLOR issues, remove some dead code [\#66](https://github.com/ouch-org/ouch/issues/66), [\#62](https://github.com/ouch-org/ouch/issues/62), & [\#95](https://github.com/ouch-org/ouch/pull/95) ([figsoda](https://github.com/figsoda))
241 - Add proper error message when using conflicting flags \(e.g. `--yes --no`\) [\#55](https://github.com/ouch-org/ouch/issues/55) & [\#99](https://github.com/ouch-org/ouch/pull/99) ([SpyrosRoum](https://github.com/SpyrosRoum))
242 - Fix wrong archive format detection patterns [\#125](https://github.com/ouch-org/ouch/pull/125) ([SpyrosRoum](https://github.com/SpyrosRoum))
243 - Decompressing file without extension gives bad error message [\#137](https://github.com/ouch-org/ouch/issues/137) ([marcospb19](https://github.com/marcospb19))
244 - Fix decompression overwriting files without asking and failing on directories [\#141](https://github.com/ouch-org/ouch/pull/141) ([SpyrosRoum](https://github.com/SpyrosRoum))
246 ### Improvements
248 - Add tests to check the resulting compressed files through MIME types [\#72](https://github.com/ouch-org/ouch/issues/72) & [\#74](https://github.com/ouch-org/ouch/pull/74) ([vrmiguel](https://github.com/vrmiguel))
249 - Add proper error message when adding several files to a non-archive format such as bzip or gzip [\#78](https://github.com/ouch-org/ouch/issues/78) & [\#79](https://github.com/ouch-org/ouch/pull/79) ([vrmiguel](https://github.com/vrmiguel))
250 - Apply clippy lints and small refactors [\#86](https://github.com/ouch-org/ouch/pull/86) ([figsoda](https://github.com/figsoda))
251 - Use `fs-err` crate instead of `std::fs` [\#56](https://github.com/ouch-org/ouch/issues/56) & [\#94](https://github.com/ouch-org/ouch/pull/94) ([GabrielSimonetto](https://github.com/GabrielSimonetto))
252 - Change FinalError builder pattern to take and give ownership of self [\#97](https://github.com/ouch-org/ouch/issues/97) ([SpyrosRoum](https://github.com/SpyrosRoum))
253 - Omit "./" at the start of the path [\#109](https://github.com/ouch-org/ouch/pull/109) & [\#116](https://github.com/ouch-org/ouch/pull/116) ([exoego](https://github.com/exoego))
254 - Introduce new enum for policy on how to handle y/n questions [\#124](https://github.com/ouch-org/ouch/issues/124) ([AntonHermann](https://github.com/AntonHermann))
255 - Add missing docs [\#128](https://github.com/ouch-org/ouch/pull/128) ([GabrielSimonetto](https://github.com/GabrielSimonetto))
256 - CI: Check the format with Github Action [\#126](https://github.com/ouch-org/ouch/pull/126) ([boozec](https://github.com/boozec))
257 - CI: Rewrite [\#135](https://github.com/ouch-org/ouch/pull/135) ([figsoda](https://github.com/figsoda))
258 - Improving error messages and removing dead error treatment code [\#140](https://github.com/ouch-org/ouch/pull/140) ([marcospb19](https://github.com/marcospb19))
260 ### Tweaks
262 - CI: don't upload unused artifacts [\#75](https://github.com/ouch-org/ouch/pull/75) ([marcospb19](https://github.com/marcospb19))
263 - Compression info lines should use the \[INFO\] formatting like when decompressing [\#76](https://github.com/ouch-org/ouch/issues/76) ([vrmiguel](https://github.com/vrmiguel))
264 - CI: bump VM's Ubuntu version to 20 [\#81](https://github.com/ouch-org/ouch/pull/81) ([vrmiguel](https://github.com/vrmiguel))
265 - CI: stop building for ARM and Windows MinGW [\#82](https://github.com/ouch-org/ouch/pull/82) ([vrmiguel](https://github.com/vrmiguel))
266 - Updating Cargo.lock to newer dependencies [\#92](https://github.com/ouch-org/ouch/pull/92) ([marcospb19](https://github.com/marcospb19))
267 - Create CONTRIBUTING.md [\#98](https://github.com/ouch-org/ouch/pull/98) ([marcospb19](https://github.com/marcospb19))
268 - Minor cleanups and refactors [\#100](https://github.com/ouch-org/ouch/pull/100) ([figsoda](https://github.com/figsoda))
269 - Readme revision [\#102](https://github.com/ouch-org/ouch/pull/102) ([marcospb19](https://github.com/marcospb19))
270 - Fix README small markdown error [\#104](https://github.com/ouch-org/ouch/pull/104) ([marcospb19](https://github.com/marcospb19))
271 - Escaping pipes in installation commands [\#106](https://github.com/ouch-org/ouch/pull/106) ([marcospb19](https://github.com/marcospb19))
272 - Add 'Packaging Status' badge to README / note about installing on NixOS [\#107](https://github.com/ouch-org/ouch/issues/107) ([figsoda](https://github.com/figsoda))
273 - Change decompress command INFO messages [\#117](https://github.com/ouch-org/ouch/pull/117) & [\#119](https://github.com/ouch-org/ouch/pull/119) ([exoego](https://github.com/exoego))
274 - Change decompress flag `--output` to `--dir` [\#118](https://github.com/ouch-org/ouch/pull/118) ([khubo](https://github.com/khubo))
275 - Updating CONTRIBUTING.md [\#132](https://github.com/ouch-org/ouch/pull/132) ([marcospb19](https://github.com/marcospb19))
276 - Remove tar combinations from compression format [\#133](https://github.com/ouch-org/ouch/pull/133) ([SpyrosRoum](https://github.com/SpyrosRoum))
277 - Simplify cli canonicalize implementation [\#139](https://github.com/ouch-org/ouch/pull/139) ([marcospb19](https://github.com/marcospb19))
279 ### New Contributors
281 - [@figsoda](https://github.com/figsoda) made their first contribution in #86
282 - [@boozec](https://github.com/boozec) made their first contribution in #84
283 - [@SpyrosRoum](https://github.com/SpyrosRoum) made their first contribution in #97
284 - [@dnaka91](https://github.com/dnaka91) made their first contribution in #101
285 - [@exoego](https://github.com/exoego) made their first contribution in #109
286 - [@AntonHermann](https://github.com/AntonHermann) made their first contribution in #124
287 - [@khubo](https://github.com/khubo) made their first contribution in #118
289 ## [0.2.0](https://github.com/ouch-org/ouch/compare/0.1.6...0.2.0) (2021-10-06)
291 ### New Features
293 - Add Cargo lock file [\#46](https://github.com/ouch-org/ouch/pull/46) ([psibi](https://github.com/psibi))
294 - Allow compression of empty folders [\#57](https://github.com/ouch-org/ouch/pull/57) ([GabrielSimonetto](https://github.com/GabrielSimonetto))
295 - Make decompress command explicit [\#61](https://github.com/ouch-org/ouch/pull/61) ([GabrielSimonetto](https://github.com/GabrielSimonetto))
296 - Add support for Zstd [\#64](https://github.com/ouch-org/ouch/pull/64) ([vrmiguel](https://github.com/vrmiguel))
298 ### Bug Fixes
300 - Fix download script, download from new linux urls [\#40](https://github.com/ouch-org/ouch/issues/40)
302 ### Improvements
304 - Don't use colors when `stdout` or `stderr` are being redirected [\#60](https://github.com/ouch-org/ouch/pull/60) ([vrmiguel](https://github.com/vrmiguel))
305 - Making an error message for running decompress without arguments [\#63](https://github.com/ouch-org/ouch/issues/63)
306 - Increasing read and writer buffers capacity [\#65](https://github.com/ouch-org/ouch/pull/65) ([marcospb19](https://github.com/marcospb19))
308 ### New Contributors
310 - [@psibi](https://github.com/psibi) made their first contribution in [\#46](https://github.com/ouch-org/ouch/pull/46)
311 - [@GabrielSimonetto](https://github.com/GabrielSimonetto) made their first contribution in [\#57](https://github.com/ouch-org/ouch/pull/57)
313 ## [0.1.6](https://github.com/ouch-org/ouch/compare/0.1.5...0.1.6) (2021-09-17)
315 ### New Features
317 - Extension detection method supports more than 2 format suffixes. [\#28](https://github.com/ouch-org/ouch/issues/28)
318 - Change Display implementation of crate::Error to an more structured FinalUserError [\#39](https://github.com/ouch-org/ouch/pull/39) ([marcospb19](https://github.com/marcospb19))
319 - Actions: new targets: Linux ARM64 \(glibc\), x86-64 \(musl\), Windows \(MinGW\) [\#43](https://github.com/ouch-org/ouch/pull/43) ([vrmiguel](https://github.com/vrmiguel))
321 ### Improvements
323 - Further testing to oof cli [\#38](https://github.com/ouch-org/ouch/pull/38) ([demfabris](https://github.com/demfabris))
324 - Reuse Confirmation struct when checking for overwrite permission [\#42](https://github.com/ouch-org/ouch/pull/42) ([vrmiguel](https://github.com/vrmiguel))
326 ## [0.1.5](https://github.com/ouch-org/ouch/compare/0.1.5-rc...0.1.5) (2021-05-27)
328 ### New Features
330 - Add support for dot-dot \(`..`\) in output file/directory [\#4](https://github.com/ouch-org/ouch/issues/4)
331 - Add install.sh script [\#37](https://github.com/ouch-org/ouch/issues/37)
332 - Add checking for typos on the compression subcommand [\#21](https://github.com/ouch-org/ouch/pull/21) ([vrmiguel](https://github.com/vrmiguel))
334 ### Bug Fixes
336 - Fix the -n, --no flag usage and add an alias for the compress subcommand [\#22](https://github.com/ouch-org/ouch/pull/22) ([vrmiguel](https://github.com/vrmiguel))
338 ### Improvements
340 - Added compression and decompression tests for each current supported format [\#24](https://github.com/ouch-org/ouch/pull/24) ([marcospb19](https://github.com/marcospb19))
341 - Add tests to oof [\#27](https://github.com/ouch-org/ouch/pull/27) ([demfabris](https://github.com/demfabris))
343 ### Tweaks
345 - Switch panics to errors [\#21](https://github.com/ouch-org/ouch/pull/21) ([vrmiguel](https://github.com/vrmiguel))
347 ### New Contributors
349 - [@demfabris](https://github.com/demfabris) made their first contribution in [\#27](https://github.com/ouch-org/ouch/pull/27)
351 ## [0.1.5-rc](https://github.com/ouch-org/ouch/compare/0.1.4...0.1.5-rc) (2021-04-07)
353 ### New Features
355 - Better error messages ([vrmiguel](https://github.com/vrmiguel))
356 - New `--help` message [df1bc87](https://github.com/ouch-org/ouch/commit/df1bc879cbfc91286f0570e944df113b28b638db) ([marcospb19](https://github.com/marcospb19))
357 - Create subproject `oof`, a thin argparsing lib [\#12](https://github.com/ouch-org/ouch/pull/12) ([marcospb19](https://github.com/marcospb19))
358 - Pretty-printing for bytes [\#17](https://github.com/ouch-org/ouch/pull/17) ([vrmiguel](https://github.com/vrmiguel))
359 - Verify inputs when decompressing [\#18](https://github.com/ouch-org/ouch/pull/18) ([vrmiguel](https://github.com/vrmiguel))
360 - CI: use MUSL when compiling for Linux [8e6804](https://github.com/ouch-org/ouch/commit/8e680402a929986796c9418605b2d84314fd2684) ([vrmiguel](https://github.com/vrmiguel))
361 - CI: build and test for Linux ARMv7 [\#19](https://github.com/ouch-org/ouch/pull/19) ([vrmiguel](https://github.com/vrmiguel))
363 ### Bug Fixes
365 - Argparsing: problems with the `-o, --output` flag [\#13](https://github.com/ouch-org/ouch/issues/13) ([marcospb19](https://github.com/marcospb19))
366 - Short flags not receiving values [\#15](https://github.com/ouch-org/ouch/pull/15) ([vrmiguel](https://github.com/vrmiguel))
368 ## [0.1.4](https://github.com/ouch-org/ouch/compare/08489b028c8e85176bf5d55576f75c1817df9019...0.1.4) (2021-03-29)
370 ### New Features
372 - confirmation dialogs for file overwriting [\#2](https://github.com/ouch-org/ouch/pull/2) ([vrmiguel](https://github.com/vrmiguel))
373 - `-y, --yes` and `-n, --no` flags for automatic answering of confirmation dialogs [\#7](https://github.com/ouch-org/ouch/issues/7) ([vrmiguel](https://github.com/vrmiguel))