summaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
blob: 74d2f097b596e763aa380c458a8ab83daad08910 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# unreleased

## Features

- Only show one panel by default if the terminal width is not wide enough for two panels, see #182 (@sharkdp)

## Bugfixes

- Do not fail with an error if `--panels=auto` is used and the output is piped, see #184 (@sharkdp)

## 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`.


# v0.11.0

## Features

- Significantly improved performance, see #173 and #176 (@sharifhsn)
- 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)
- Added new `--group-bytes`/`-g` option, see #104 and #170 (@RinHizakura)
- Added new `--base B` option (where `B` can be `binary`, `octal`, `decimal` or `hexadecimal`), see #147 and #178 (@sharifhsn)
- 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)

## `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)

## Other

- More tests for the squeezing feature, see #177 (@mkatychev)

## 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.


# 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)


# v0.9.0

## Changes

- 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`.

## Features

- Allow relative and negative byte offsets (e.g. `hexyl --skip=-1block`), see #99 (@ErichDonGubler)
- Added `-l` as another alias for '-n/--length' (`xxd` compatibility), see #121 and #135 (@TheDoctor314)

## Bugfixes

- Argument `--length` silently takes precedence over `--bytes`, see #105
- Print warning on empty content, see #107 and #108
- Disallow block sizes of zero, see #110
- Fix newline appearing in `--version` output, see #131 and #133 (@scimas)

## Other

- Better diagnostic messages, see #98 (@ErichDonGubler)

## Packaging

- `hexyl` is now available on snapstore, see #116 (@purveshpatel511)


# v0.8.0

## Features

- 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:
  ``` 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)


# v0.7.0

## Bugfixes

- hexyl can now be closed with `Ctrl-C` when reading input from STDIN, see #84

## 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


# 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


# 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


# v0.5.0

## Features

- 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)
- 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`)


# 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


# v0.3.0

Windows support


# v0.2.0

Initial release