on master help sign in
Add CHANGELOG to the repository
0c5b4fcDavid Peter
CHANGELOG.mdnew file+564
@@ -0,0 +1,564 @@
1+# Upcoming release
2+
3+# v0.13.0
4+
5+## `bat` as a library
6+
7+Beginning with this release, `bat` can be used as a library (#423).
8+
9+This was a huge effort and I want to thank all people who made this possible: @DrSensor, @mitsuhiko, @mre, @eth-p!
10+
11+- Initial attempt in #469 (@mitsuhiko)
12+- Second attempt, complete restructuring of the `bat` crate, see #679 (@DrSensor)
13+- Updates to example, public API, error handling, further refactoring: #693 #873 #875 (@sharkdp)
14+
15+I want to stress that this is the very first release of the library. Things are very likely to change. A lot of things are still missing (including the documentation).
16+
17+That being said, you can start using it! See the example programs in [`examples/`](https://github.com/sharkdp/bat/tree/master/examples).
18+
19+You can see the API documentation here: https://docs.rs/bat/
20+
21+## Features
22+
23+- (**Breaking change**) Glob-based syntax mapping, see #877 and #592. With this change,
24+ users need to update their bat config files (`bat --config-file`), if they have any `--map-syntax` settings
25+ present.
26+
27+ The option now works like this:
28+ ```bash
29+ --map-syntax <glob-pattern>:<syntax-name>
30+ ```
31+
32+ For more information, see the `--help` text, the man page or the README.
33+
34+ This new feature allows us to properly highlight files like:
35+ * `/etc/profile`
36+ * `~/.ssh/config`
37+
38+- `--highlight-line` now accepts line ranges, see #809 (@lkalir)
39+- Proper wrapping support for output with wide Unicode characters, see #811 #787 and #815 (@Kogia-sima)
40+- A lot of updates to existing syntaxes via #644 (@benwaffle, @keith-hall)
41+- `BAT_CACHE_PATH` can be used to place cached `bat` assets in a non-standard path, see #829 (@neuronull)
42+- Support combination of multiple styles at the same time, see #857 (@aslpavel)
43+
44+## Bugfixes
45+
46+- Do not pass '--no-init' on newer less versions, see #749 and #786 (@sharkdp)
47+- 'bat cache' still takes precedence over existing files, see #666 (@sharkdp)
48+- `.sc` files should be treated as scala files, see #443 (@benwaffle)
49+- Allow underscores and dashes in page names, see #670 (@LunarLambda)
50+- Keep empty lines empty, see #601 (@mbarbar)
51+- Wrapping does not work when piping, see #758 (@fusillicode, @allevo, @gildo)
52+- Allow for non-unicode filenames, see #225 (@sharkdp)
53+- Empty file without header produces incomplete grid, see #798 (@eth-p)
54+- Files named `build` don't respect shebang lines, see #685 (@sharkdp)
55+
56+## Other
57+
58+- Parametrizable names for man page and shell completion files, see #659 #673 #656 (@eth-p)
59+- Enabled LTO, making `bat` about 10% faster, see #719 (@bolinfest, @sharkdp)
60+- Suggestions non how to configure `bat` for MacOS dark mode, see README (@jerguslejko)
61+- Extended ["Integration with other tools"](https://github.com/sharkdp/bat#integration-with-other-tools) section (@eth-p)
62+- Updated [instrutions on how to use `bat` as a `man`-pager](https://github.com/sharkdp/bat#man), see #652, see #667 (@sharkdp)
63+- Add section concerning file encodings, see #688 and #568 (@sharkdp)
64+- Updated sort order of command-line options in `--help` text and manpage, see #653 and #700 (@hrlmartins)
65+- Updates to the man page syntax, see #718 (@sharkdp)
66+- Japanese documentation updates, see #863 (@k-ta-yamada, @sorairolake and @wt-l00)
67+- Accept "default" as a theme, see #757 (@fvictorio)
68+- Updated Windows installation instructions, see #852 (@sorenbug)
69+- Updated man page, see #573 (@sharkdp)
70+
71+## New syntaxes
72+
73+- Jinja2, see #648 (@Martin819)
74+- SaltStack SLS, see #658 (@Martin819)
75+- `/etc/fstab`, see #696 (@flopp and @eth-p)
76+- `/etc/group` and `/etc/passwd`, see #698 (@argentite)
77+- `/proc/cpuinfo` and `/proc/meminfo`, see #593 (@sharkdp)
78+- Nim, see #542 (@sharkdp)
79+- Vue, see #826 (@chaaaaarlotte)
80+- CoffeScript, see #833 (@sharkdp)
81+
82+## New themes
83+
84+- Dracula, see #687 (@clarfon)
85+- Nord, see #760 (@crabique)
86+- Solarized light and dark, see #768 (@hakamadare)
87+
88+## Packaging
89+
90+- `bat` is now in the official Ubuntu and Debian repositories, see #323 and #705 (@MarcoFalke)
91+- `bat` can now be installed via MacPorts, see #675 (@bn3t)
92+- Install fish completions into 'vendor_completions.d', see #651 (@sharkdp)
93+
94+## Thanks
95+
96+- To @eth-p for joining me as a maintainer! I'm very grateful for all the work you put into
97+ managing and responding to issues, improving our deployment, adding PR/issue templates (#837) as
98+ well as fixing bugs and implementing new features.
99+
100+# v0.12.1
101+
102+## Bugfixes
103+
104+- Fixes a bug for older Windows versions (*"The procedure entry point `CreateFile2` could not be located"*), see #643 (@rivy)
105+
106+# v0.12.0
107+
108+## Features
109+
110+- Binary file content can now be viewed with `bat -A`, see #623, #640 (@pjsier and @sharkdp)
111+- `bat` can now be used as a man pager. Take a look at the README and #523 for more details.
112+- Add new style component to separate multiple `--line-range`s, see #570 (@eth-p)
113+- Added `-L` as an alias for `--list-languages`
114+
115+## Bugfixes
116+
117+- Output looks unbalanced when using '--style=grid,numbers' without 'header', see #571 (@eth-p)
118+- issues with filenames starting with "cache", see #584
119+- Can't build cache with new theme without creating cache dir, see #576 (@frm)
120+- `--terminal-width -10` is parsed incorrectly, see #611
121+
122+## Other
123+
124+- Added fish completions to DEB package, see #554
125+
126+## New syntaxes
127+
128+- Emacs Org mode, see #36 (@bricewge)
129+- `requirements.txt`
130+- DotENV `.env`
131+- SSH config syntax (`-l ssh_config`), see #582 (@issmirnov)
132+- `/etc/hosts`, see #583 (@issmirnov)
133+- GraphQL, see #625 (@dandavison)
134+- Verilog, see #616
135+- SCSS and Sass, see #637
136+- `strace` syntax, see #599
137+
138+## Packaging
139+
140+- `bat` is now in the official Gentoo repositories, see #588 (@toku-sa-n)
141+- `bat` is now in the official Alpine Linux repositories, see #586 (@5paceToast)
142+- `bat` is in the official Fedora repositories, see #610 (@ignatenkobrain)
143+
144+# v0.11.0
145+
146+## Features
147+
148+- Three new special color themes are available: `ansi-light`, `ansi-dark` and `base16`. These
149+ are useful for people that often switch from dark to light themes in their terminal emulator
150+ or for people that want the colors to match their terminal theme colors. For more details,
151+ see #543 and #490 (@mk12, implementation idea by @trishume)
152+- Hand-written auto completion script for Fish shell, see #524 and #555 (@ev-dev and @eth-p)
153+- The `-p`/`--plain` option can now be used twice (typically `-pp`). The first `-p` switches the
154+ `--style` to "plain". The second `-p` disables the pager. See #560 and #552 (@eth-p)
155+
156+## Bugfixes
157+
158+- Do not replace arguments to `less` when using `--pager`, see #509
159+- Binary files will now be indicated by a warning in interactive mode, see #530 #466 #550 (@maxfilov)
160+- Empty files are (once again) printed with a single header line, see #504 and #566 (@reidwagner
161+ and @sharkdp)
162+- `--terminal-width=0` is now disallowed, see #559 (@eth-p)
163+- Accidental printing of files named `cache`, see #557
164+
165+## Other
166+
167+- New integration tests, see #500 and #502 (@reidwagner and @sharkdp)
168+- New ["Integration with other tools"](https://github.com/sharkdp/bat#integration-with-other-tools) section in the README.
169+- Migrated to Rust 2018 (@expobrain)
170+
171+## New syntaxes
172+
173+- F# syntax has been updated, see #531 (@stroborobo)
174+- Fish shell, see #548 (@sanga)
175+
176+## Packaging
177+
178+- `bat` is now available on Chocolatey, see #541 (@rasmuskriest)
179+
180+# v0.10.0
181+
182+## Features
183+
184+- Added new `--highlight-line <N>` option, see #453, #346 and #175 (@tskinn and @sharkdp)
185+
186+## Changes
187+
188+- **Change the default configuration directory on macOS** to `~/.config/bat`, see #442 (@lavifb). If you are on macOS, you need to copy your configuration directory from the previous place (`~/Library/Preferences/bat`) to the new place (`~/.config/bat`).
189+- Completely disabled the generation of shell completion files, see #372
190+- Properly set arguments to `less` if `PAGER` environment variable contains something like `less -F` (which is missing the `-R` option), see #430 (@majecty)
191+- Report the name of missing files, see #444 (@ufuji1984)
192+- Don't start pager if file doesn't exist, see #387
193+- Rename `bat cache --init` to `bat cache --build`, see #498
194+- Move the `--config-dir` and `--cache-dir` options from `bat cache` to `bat` and hide them from the help text.
195+
196+## Bugfixes
197+
198+- Blank line at the end of output when using `--style=plain`, see #379
199+- EOF must be sent twice on stdin if no other input is sent, see #477 (@reidwagner)
200+
201+## New syntaxes
202+
203+- Twig (@ahmedelgabri)
204+- `.desktop` files (@jleclanche)
205+- AsciiDoc (@markusthoemmes)
206+- Assembly (x86_64 and ARM)
207+- Log files (@caos21)
208+- Protobuf and ProtobufText (@caos21)
209+- Terraform (@caos21)
210+- Jsonnet (@hfm)
211+- Varlink (@haraldh)
212+
213+## Other
214+
215+- Added Japanese version of README (@sh-tech and @object1037)
216+- Code improvements (@barskern)
217+
218+# v0.9.0
219+
220+## Features
221+
222+- A new `-A`/`--show-all` option has been added to show and highlight non-printable characters (in analogy to GNU `cat`s option):
223+
224+ ![](https://camo.githubusercontent.com/c3e769482ef3184f6be6adaa34bdc8d19c378254/68747470733a2f2f692e696d6775722e636f6d2f324b54486859542e706e67)
225+
226+ see #395 and #381 for more details.
227+
228+- Added `--pager` option (to configure the pager from the configuration file), see #362 (@majecty)
229+
230+- Added `BAT_CONFIG_PATH` environment variable to set a non-default path for `bat`s configuration file, see #375 (@deg4uss3r)
231+
232+- Allow for multiple occurences of `--style` to allow for the configuration
233+ of styles from the config file, see #367 (@sindreij)
234+
235+- Allow for multiple `--line-range` arguments, see #23
236+
237+- The `--terminal-width` option can now also accept offsets, see #376
238+
239+## Changes
240+
241+- Use of italics is now *disabled by default* (see #389 for details). They can be
242+ re-enabled by adding `--italic-text=always` to your configuration file.
243+
244+- The default tab-width has been set to 4.
245+
246+- Added new "Sublime Snazzy" theme.
247+
248+- Shell completions are currently *not* shipped anymore, see #372 for details.
249+
250+## Bugfixes
251+
252+- Avoid endless recursion when `PAGER="bat"`, see #383 (@rodorgas)
253+
254+## Other
255+
256+- `bat` is now available on openSUSE, see #405 (@dmarcoux)
257+
258+- Added section about the new configuration file in the README (@deg4uss3r)
259+
260+- Chinese translation of README (@chinanf-boy)
261+
262+- Re-written tests for `--tabs` (@choznerol)
263+
264+- Speed up integration tests, see #394
265+
266+# v0.8.0
267+
268+## Features
269+
270+- Support for a configuration file with the following simple format:
271+
272+ ```bash
273+ --tabs=4
274+ --theme="Sublime Snazzy"
275+
276+ # A line-comment
277+ --map-syntax .ignore:.gitignore
278+ --map-syntax PKGBUILD:bash
279+ --map-syntax Podfile:ruby
280+
281+ # Flags and options can also be on a single line:
282+ --wrap=never --paging=never
283+ ```
284+
285+ The configuration file path can be accessed via `bat --config-file`. On Linux,
286+ it is stored in `~/.config/bat/config`.
287+
288+- Support for the `BAT_OPTS` environment variable with the same format as specified
289+ above (in a single line). This takes precedence over the configuration file.
290+
291+ See also #310.
292+
293+- Support for custom syntax mappings via the `-m`/`--max-syntax` option.
294+
295+ This allows users to (re)map certain file extensions or file names to an existing syntax:
296+
297+ ``` bash
298+ bat --map-syntax .config:json ...
299+ ```
300+
301+ The option can be use multiple times. Note that you can easily make these mappings permanent by using bats new configuration file.
302+
303+ See #169
304+
305+- Support pager command-line arguments in `PAGER` and `BAT_PAGER`, see #352 (@Foxboron)
306+
307+- Add support for wildcards in Windows CMD, see #309 (@zxey)
308+
309+- First-line syntax detection for all input types, see #205
310+
311+- Encoding support for UTF-16LE and UTF-16BE, see #285
312+
313+- New syntaxes: Robot framework (@sanga)
314+
315+## Changes
316+
317+- Binary files are now detected and not displayed when the output goes to an interactive terminal, see #205
318+
319+## Bugfixes
320+
321+- JavaDoc comments break syntax highlighting in .java files, see #81
322+
323+- Bat Panics on Haskell Source Code, see #314
324+
325+## Other
326+
327+- Better `-h` and `--help` texts.
328+
329+- Updated documentation on how to configure `bat`s pager
330+
331+- Updated documentation for light backgrounds, see #328 (@russtaylor)
332+
333+- Generate shell completions during build, see #115 (@davideGiovannini)
334+
335+- A lot of new tests have been written
336+
337+- `bat` is now available via [Termux](https://termux.com/), see #341 (@fornwall)
338+
339+- `bat` is now available via [nix](https://nixos.org/nix), see #344 (@mgttlinger)
340+
341+- `bat` is now available via [Docker](https://hub.docker.com/r/danlynn/bat/), see #331 (@danlynn)
342+
343+# v0.7.1
344+
345+## Features
346+
347+- Use the `ansi_colours` package by @mina86 for better true-color approximation on 8 bit color terminals, see #319 and #202.
348+
349+## Bugfixes
350+
351+- Bat Panics on Haskell Source Code, see #314
352+- Disable wrapping when `--style=plain`/`-p` is used, see #289
353+
354+## Other
355+
356+- Added Ansible install instructions (@aeimer)
357+- Added section about Cygwin to the README (@eth-p)
358+
359+# v0.7.0
360+
361+## Features
362+
363+- Tabs are now (optionally) expanded to spaces. This can be controlled with the new
364+ `--tabs` command-line option or the `BAT_TABS` environment variable. The
365+ new feature also closes two bugs #166 and #184. For more information, see #302 (@eth-p).
366+
367+- Added support for the `BAT_STYLE` environment variable, see #208 (@ms2300)
368+
369+- Added `OneHalf` theme for terminals with a light-gray background, see #256
370+
371+- Added new syntaxes for CSV, JSX in JavaScript and TypeScript, Cabal, Dart,
372+ F#, PureScript, Swift, Crystal, PowerShell (Many Thanks to @tobenna and @mimadrid)
373+
374+## Changes
375+
376+- Query `git diff` only when needed, see #303 (@ShikChen)
377+
378+- Disable wrapping when `--plain` is used, see #289 (@eth-p)
379+
380+## Bugfixes
381+
382+- Can read files named `cache`, see #275 (@BK1603)
383+
384+- A lot of bugfixes for Windows, see #252, #264
385+
386+- Detect `less` reliably and in a portable way, see #271 and #290 (@Aankhen)
387+
388+- last decoration line is not formatted properly with `--wrap never`, see #299 (@Rogach)
389+
390+- Do not show file header for directories, see #292
391+
392+## Other
393+
394+- Enabled a new `aarch64` build target, see #258 (@rachitchokshi)
395+
396+- Provide Debian packages for `armhf`, see #280 (@rachitchokshi)
397+
398+- Added README section about "`bat` on Windows" (@Aankhen)
399+
400+- Windows installation via scoop (@meltinglava)
401+
402+# v0.6.1
403+
404+## Bugfixes
405+
406+- Fixed panic when running `bat --list-languages | head`, see #232 (@mchlrhw)
407+- Respect `--color` settings for `--list-themes` and `--list-languages`, see #233
408+- Git modifications now work on Windows
409+
410+## Other
411+
412+- There will be auto-generated Windows releases, starting with this version (@anykao)
413+
414+# v0.6.0
415+
416+## Features
417+
418+- The `--list-themes` option now shows a preview for each highlighting theme (@ms2300)
419+- Added `-p`/`--plain` as an alias for `--style=plain`, see #212 (@ms2300)
420+- Major refactorings, enabling some progress on #150. In non-interactive mode, `bat` will now copy input bytes 1:1.
421+- New languages: Elm, Kotlin, Puppet, TypeScript, see #215 #216 #217 #218
422+- New syntax highlighting theme: zenburn (@colindean)
423+
424+## Changes
425+
426+- New themes in `$BAT_CONFIG_DIR/themes` are now loaded *in addition* to
427+ the default themes (they may also override), see #172
428+- The `Default.tmTheme` symlink is not necessary anymore.
429+
430+## Bugfixes
431+
432+* Using `bat cache --init` leads to duplicated syntaxes, see #206
433+
434+## Other
435+
436+* Extended and cleaned-up `--help` text.
437+* Added initial version of a man page, see #52
438+* New README sections: *Development* and *Troubleshooting*, see #220
439+
440+# v0.5.0
441+
442+## Features
443+
444+- Added `--line-range n:m` option to print a range of lines, see #159 (@tskinn)
445+- The syntax highlighting theme can now be controlled by the `BAT_THEME` environment variable, see [README](https://github.com/sharkdp/bat#highlighting-theme) and #177 (@mandx)
446+- The `PAGER` and `BAT_PAGER` environment variables can be used to control the pager that `bat` uses, see #158 and the [new README section](https://github.com/sharkdp/bat#using-a-different-pager)
447+- Added syntax highlighting for Nix, see #180
448+- Added syntax highlighting for AWK (Gert Hulselmans)
449+
450+## Changes
451+
452+- The customization of syntax sets and theme sets is now separated. Syntax definitions are now loaded *in addition* to the ones that are stored in the `bat` binary by default. Please refer to these new sections in the README: [Adding new syntaxes](https://github.com/sharkdp/bat#adding-new-syntaxes--language-definitions), [Adding new themes](https://github.com/sharkdp/bat#adding-new-themes), also see #172
453+- The color for the filename is now the default foreground color. The colors for the grid and the line numbers is now determined from the syntax highlighting theme, which now also works for light backgrounds, see #178.
454+
455+## Bugfixes
456+
457+- Escape Sequences get partially stripped, see #182 (@eth-p)
458+- Use separate Git repository for snapshot testing, see #165 and #161
459+- Markdown breaking on JavaScript, see #183
460+
461+## Other
462+
463+- Binaries for armv7 are now provided, see #196
464+- `bat` is now in the official [Arch package repositories](https://www.archlinux.org/packages/community/x86_64/bat/).
465+- Optimizations in the RGB => 8-bit conversion (@mina86)
466+
467+# v0.4.1
468+
469+(this is just a small bugfix release, see 0.4.0 for all features and changes)
470+
471+## Bugfixes
472+
473+- Fix problem with `cargo test` when `bat` is not checked out in a Git repository, see #161
474+
475+# v0.4.0
476+
477+## Features
478+
479+* Support for line-wrapping, see #54 and #102 (@eth-p)
480+* New and updated `--style` parameter, see #74 and README (@pitkley)
481+* Added `--theme` and `--list-themes` options, see #89 (@rleungx)
482+* Added syntax highlighting for: Julia (@iamed2), Dockerfiles, VimL, CMake, INI, Less
483+* Added a few popular Sublime Text highlighting themes, see #133
484+* Support for bold, italic and underline font styles, see #96
485+* Support for 32bit systems is now available, see #84
486+* Added `-u` and `-n` options, see #134
487+* ANSI color support on Windows 10
488+
489+## Changes
490+
491+* The customization folder for own syntaxes has been renamed from `syntax` to `syntaxes`, see README.
492+* Changed Markdown syntax to the default Sublime Text syntax, see #157
493+* Sorted language listing (@rleungx)
494+* Command line arguments like `--theme` or `--color` can now override themselves.
495+* Improved `--help` text.
496+
497+## Bugfixes
498+
499+- Fixed crash for (really) small terminal sizes, see #117 (@eth-p)
500+- Syntax detection for `.bashrc`, `CMakeLists.txt` etc., see #100
501+- Properly handle lines with invalid UTF-8, see #7 (@BrainMaestro)
502+- Better error handling, see #17 (@rleungx and @sharkdp)
503+- Proper handling of UTF-8 characters in `less`, see #98 (@ghuls)
504+- Build fix on nightly, see #148 (@tathanhdinh)
505+
506+## Other
507+
508+- [Comparison with alternative projects](https://github.com/sharkdp/bat/blob/master/doc/alternatives.md).
509+- New "bat" logo in the README, see #119 (@jraulhernandezi)
510+- Output test cases (@BrainMaestro)
511+- Lots of great refactoring work (@BrainMaestro)
512+
513+# v0.3.0
514+
515+## Features
516+
517+* Automatic paging by integrating with `less`, see #29 (@BrainMaestro)
518+* Added support for reading from standard input, see #2
519+* Added support for writing to non-interactive terminals (pipes, files, ..); new
520+ `--color=auto/always/never` option, see #26 (@BrainMaestro)
521+* Added `--list-languages` option to print all available syntaxes, see #69 (@connorkuehl)
522+* New option to specify the syntax via `-l`/`--language`, see #19 (@BrainMaestro)
523+* New option to control the output style (`--style`), see #5 (@nakulcg)
524+* Added syntax highlighting support for TOML files, see #37
525+
526+## Changes
527+
528+* The `init-cache` sub-command has been removed. The cache can now be controlled via
529+ `bat cache`. See `bat cache -h` for all available commands.
530+
531+## Bug fixes
532+
533+* Get git repository from file path instead of current directory, see #22 (@nakulcg)
534+* Process substitution can now be used with bat (`bat <(echo a) <(echo b)`), see #80
535+
536+## Thanks
537+
538+I'd like to say a big THANK YOU to all contributors and everyone that has given us
539+some form of feedback.
540+
541+Special thanks go to @BrainMaestro for his huge support with new features, bug reports
542+and code reviews!
543+
544+# v0.2.3
545+
546+- Added a new statically linked version of bat (`..-musl-..`)
547+
548+# v0.2.2
549+
550+- Remove openssl dependency completely, see #30.
551+
552+# v0.2.1
553+
554+- Added Elixir syntax, see #25.
555+- Use libcurl-openssl instead of libcurl-gnutls, see #30.
556+
557+# v0.2.0
558+
559+- Support for custom syntaxes, add 'Markdown extended' theme
560+- Bugfix: Git modifications not shown from child folder
561+
562+# v0.1.0
563+
564+Initial release