2026-02-14 13:53:54 +01:00
# v0.17.0
2024-12-13 00:11:15 +00:00
## Features
2025-10-20 03:38:21 +08:00
- Add option to output result in C include file style, see #242 (@wpcwzy )
2025-08-31 21:13:57 +02:00
- Add `--color-scheme` option, see #247 (@aticu )
- Add `braille` character table, see #247 (@aticu )
2025-08-31 21:40:15 +02:00
- Add command line argument to generate shell completion, see #155 (@friedz )
2026-02-14 13:08:00 +01:00
- Add colors to `--help` /`-h` , see #253 (@starsep )
2025-08-31 21:13:57 +02:00
2024-12-27 14:43:18 +01:00
## Bugfixes
2025-08-31 21:40:15 +02:00
- Fix memory allocation bug when terminal width is less than 10, see #244 (@selfup )
2024-12-27 14:43:18 +01:00
# v0.16.0
## Features
2024-12-13 00:11:15 +00:00
* New `--print-color-table` option, see #229 (@sahinfalcon )
2024-11-21 00:54:16 +08:00
## Bugfixes
- Throw an error when try to view a directory, see #234 (@Integral -Tech)
2024-12-13 00:11:15 +00:00
2024-10-29 22:17:12 +01:00
# v0.15.0
2023-12-11 23:38:51 +01:00
## Features
2024-10-29 22:17:12 +01:00
- Add codepage 1047 for EBCDIC, see #226 (@v1gnesh )
2023-12-11 23:38:51 +01:00
## Other
2024-07-01 22:39:28 +09:00
- Rewrite CLI using the derive API, see #225 (@sorairolake )
2023-12-11 23:38:51 +01:00
# v0.14.0
## Features
* New `--character-table` option, with the ability to use [codepage 437 ](https://www.azabani.com/2020/11/15/xd.html ), see #194 and #195 (@sharifhsn )
* New `--character-table=ascii` option for a ASCII-only character table, see #212 and #36 (@sharkdp )
## Bugfixes
* Show output when doing `hexyl /dev/zero` , see #211 (@sharifhsn )
* Respect NO_COLOR environment variable, see #210 (@sharkdp )
2023-07-26 08:50:47 +02:00
# v0.13.1
## Bugfixes
- Correctly handle discontinuous input (stdin), see #196 and #197 (@sharifhsn )
2023-05-10 22:19:07 +02:00
# v0.13.0
## Features
- Support both little and big Endian dumps using `--endianness={little,big}` , see #189 and #104 (@RinHizakura )
## Changes
- **Breaking**: Changed the meaning of the short flag `-C` to be consistent with `hexdump -C` . Previously, this would *hide* the character panel, but now `-C` *shows* the character panel, in case it has been previously (e.g. in an `alias` ) disabled with `--no-characters` , see #187 (@sharkdp )
## `hexyl` as a library
- New `endianness` method for `PrinterBuilder`
2022-12-07 23:47:47 +01:00
# v0.12.0
2022-12-07 21:30:10 +01:00
## Features
- Only show one panel by default if the terminal width is not wide enough for two panels, see #182 (@sharkdp )
2022-12-07 23:47:47 +01:00
- Respect the `NO_COLOR` environment variable, see #179 (@sharifhsn )
2022-12-07 21:30:10 +01:00
## Bugfixes
- Do not fail with an error if `--panels=auto` is used and the output is piped, see #184 (@sharkdp )
2022-12-07 21:50:12 +01:00
## Changes
- Breaking: For `xxd` -compatibility reasons, `--group_bytes` has been renamed to `--group-size` (with an `--groupsize` alias), see #121 (@sharkdp )
## `hexyl` as a library
- Breaking: `num_group_bytes` has been renamed to `group_size` .
2022-12-07 21:30:10 +01:00
2022-12-05 10:01:03 +01:00
# v0.11.0
2020-10-30 19:00:36 +01:00
2021-07-11 19:59:56 +02:00
## Features
2022-05-22 21:36:04 +02:00
2022-12-05 09:11:47 +01:00
- Significantly improved performance, see #173 and #176 (@sharifhsn )
2022-09-10 11:11:02 -04:00
- Added variable panels through the `--panels` and `--terminal-width` flags, see [#13 ](https://github.com/sharkdp/hexyl/issues/13 ) and [#164 ](https://github.com/sharkdp/hexyl/pull/164 ) (@sharifhsn )
2022-11-26 13:06:28 +01:00
- Added new `--group-bytes` /`-g` option, see #104 and #170 (@RinHizakura )
2022-12-05 09:11:47 +01:00
- Added new `--base B` option (where `B` can be `binary` , `octal` , `decimal` or `hexadecimal` ), see #147 and #178 (@sharifhsn )
2022-12-05 09:45:38 +01:00
- Show actual zero bytes as `⋄` in the character panel (previously: `0` ), in order not to confuse them with ASCII
`0` bytes if colors are deactivated. Closes #166 (@sharkdp )
2021-07-11 19:59:56 +02:00
2022-12-05 09:11:47 +01:00
## `hexyl` as a library
- Breaking change: `Printer::new` is deprecated as a part of the public API. Alternatively, you can now construct a `Printer` using the `PrinterBuilder` builder API, see [#168 ](https://github.com/sharkdp/hexyl/pull/168 ). (@sharifhsn )
2022-12-05 09:45:38 +01:00
## Other
- More tests for the squeezing feature, see #177 (@mkatychev )
2022-12-05 09:11:47 +01:00
## Thank you
Special thanks go to @sharifhsn , not just for the new features,
bugfixes and performance improvements. But also for many internal
improvements of the code base and other maintenance tasks.
2021-07-11 19:59:56 +02:00
2022-05-22 22:24:47 +02:00
# v0.10.0
## Features
- Added new `--plain` , `--no-characters` , and `--no-position` flags, see #154 (@mkatychev )
- Allow hex numbers and units for `--block-size` argument, see #111 and #144 (@merkrafter )
## Other
- Added a man page, see #151 (@sorairolake )
- Mention ability to specify length in hex, see #143 (@merkrafter )
- `--length` and `--bytes` are now marked as conflicting command-line options, see #152 (@sorairolake )
2021-07-11 19:59:56 +02:00
# v0.9.0
## Changes
2020-10-30 22:26:18 +00:00
- Breaking change (binary): setting the `-o/--display-offset` flag no longer overrides the value set by `--skip` [#115 ](https://github.com/sharkdp/hexyl/issues/115 ). The first displayed address is now the sum of the two values - this matches the behaviour of `xxd` .
2020-10-30 19:00:36 +01:00
## Features
2020-10-30 20:02:16 +01:00
- Allow relative and negative byte offsets (e.g. `hexyl --skip=-1block` ), see #99 (@ErichDonGubler )
2021-07-11 19:50:46 +02:00
- Added `-l` as another alias for '-n/--length' (`xxd` compatibility), see #121 and #135 (@TheDoctor314 )
2020-10-30 20:02:16 +01:00
2020-10-30 19:00:36 +01:00
## Bugfixes
- Argument `--length` silently takes precedence over `--bytes` , see #105
2020-10-30 19:34:12 +01:00
- Print warning on empty content, see #107 and #108
2020-10-31 10:10:46 +01:00
- Disallow block sizes of zero, see #110
2021-04-22 23:24:27 -06:00
- Fix newline appearing in `--version` output, see #131 and #133 (@scimas )
2020-10-30 19:00:36 +01:00
## Other
2020-10-30 20:02:16 +01:00
- Better diagnostic messages, see #98 (@ErichDonGubler )
2020-10-30 19:00:36 +01:00
## Packaging
2020-10-30 19:57:07 +01:00
- `hexyl` is now available on snapstore, see #116 (@purveshpatel511 )
2020-10-30 19:00:36 +01:00
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.8.0
## Features
2020-06-07 14:37:17 +02:00
- A new `--skip <N>` / `-s <N>` option can be used to skip the first `N` bytes of the input, see #16 , #88 (@Tarnadas , @MaxJohansen , @ErichDonGubler )
- The `--length` /`--bytes` /`--skip` /`--display-offset` options can now take units for their value argument, for example:
2020-06-07 11:31:04 +02:00
``` bash
hexyl /dev/random --length=1KiB
hexyl $(which hexyl) --skip=1MiB --length=10KiB
` ``
Both decimal SI prefixes (kB, MB, …) as well as binary IEC prefixes (KiB, MiB, …) are supported.
In addition, there is a new ` --block-size <SIZE>` option that can be used to control the size of the ` block`
unit:
` `` bash
hexyl /dev/random --block-size=4kB --length=2block
` ``
See: #44 (@ErichDonGubler and @aswild)
## Other
- Various improvements throughout the code base by @ErichDonGubler
## Packaging
- ` hexyl` is now available on Void Linux, see #91 (@notramo)
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.7.0
## Bugfixes
2021-08-27 21:36:56 +00:00
- hexyl can now be closed with ` Ctrl-C` when reading input from STDIN, see #84
2020-06-07 11:31:04 +02:00
## Changes
- Breaking change (library): [` Printer::print_all`](https://docs.rs/hexyl/latest/hexyl/struct.Printer.html#method.print_all) does not take a second argument anymore.
- Added an example on how to use ` hexyl` as a library: https://github.com/sharkdp/hexyl/blob/v0.7.0/examples/simple.rs
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.6.0
## Features
- ` hexyl` can now be used as a library, see #67 (@tommilligan)
- Added a new ` -o`/` --display-offset` option to add a certain offset to the
reported file positions, see #57 (@tommilligan)
## Bugfixes
- Remove additional space on short input, see #69 (@nalshihabi)
## Other
- Performance improvements, see #73 and #66
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.5.1
## Bugfixes
- A bug in the squeezing logic caused a wrong hexdump, see #62 (@awidegreen)
- Some colors are printed even if they're disabled, see #64 (@awidegreen)
- Fixed build failure on OpenBSD 6.5, see #61
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.5.0
## Features
2021-08-27 21:36:36 +00:00
- Added support for squeezing where reoccurring lines are squashed together and visualized with an asterisk. A new ` -v`/` --no-squeezing` option can be used to disable the feature. For details, see #59 (@awidegreen)
2020-06-07 11:31:04 +02:00
- Added a new ` --border` option with support for various styles (Unicode, ASCII, None), see #54 (@dmke)
- The ` --length`/` -n` argument can be passed as a hexadecimal number (` hexyl -n 0xff /dev/urandom`), see #45 (@Qyriad)
- Added ` --bytes`/` -c` as an alias for ` --length`/` -n`, see #48 (@selfup)
## Changes
- Print header immediately before the first line, see #51 (@mziter)
# v0.4.0
## Features
- Added a new ` --color=always/auto/never` option which can be used
to control ` hexyl`s color output, see #30 (@bennetthardwick)
- Use 16 colors instead of 256, see #38
## Changes
- Various speed improvements, see #33 (@kballard)
## Bugfixes
- Proper Ctrl-C handling, see #35
- Proper handling of broken pipes (` hexyl … | head`)
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.3.1
- Various (huge) performance improvements, see #23 and #24 (@kballard )
- Replaced 24-bit truecolor ANSI codes by 8-bit codes to support
more terminal emulators, fixes #9
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.3.0
Windows support
2022-05-22 22:24:47 +02:00
2020-06-07 11:31:04 +02:00
# v0.2.0
Initial release