# bat v0.21.0 - Product: bat (https://whatsnew.fyi/product/bat) - Vendor: David Peter - Date: 2022-05-12 - Version: v0.21.0 - Original notes: https://github.com/sharkdp/bat/releases/tag/v0.21.0 - Permalink: https://whatsnew.fyi/product/bat/releases/v0.21.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Correctly render tab stops in --show-all - **added** — Add a --style=default option and make it the default, which is less verbose than full - **added** — Enable BusyBox less as pager - **changed** — File extensions are now matched case-insensitively - **security** — Bump regex dependency from 1.5.4 to 1.5.5 to fix CVE-2022-24713 - **fixed** — bat no longer crashes when encountering files that reference missing syntaxes - **changed** — Skip syntax highlighting on long lines (> 16384 chars) to improve performance - **changed** — Vastly improve startup time by lazy-loading syntaxes via syntect 5.0.0, making bat display small files approximately 75% faster - **changed** — Include info about custom assets in --diagnostics if used - **added** — Map clang-format config file (.clang-format) to YAML syntax - **changed** — Improve log syntax handling of escape characters in double quoted strings - **added** — Associate /var/spool/mail/* and /var/mail/* with the Email syntax - **added** — Add cmd-help syntax to scope --help messages - **changed** — Slightly adjust Zig syntax - **added** — Associate .inf files with the INI syntax - **added** — Allow configuration of show_nonprintable with PrettyPrinter - **changed** — Change the binary format of syntaxes.bin due to syntaxes now being lazy-loaded via syntect 5.0.0 - **changed** — Mark bat::error::Error enum as #[non_exhaustive] to allow adding new variants without future semver breakage - **changed** — Change Error::SyntectError(syntect::LoadingError) to Error::SyntectError(syntect::Error) - **added** — Add Error::SyntectLoadingError(syntect::LoadingError) enum variant ##### Features - Correctly render tab stops in `--show-all`, see #2038 (@Synthetica9) - Add a `--style=default` option and make it the default. It is less verbose than `full`, see #2061 (@IsaacHorvath) - Enable BusyBox `less` as pager, see #2162 (@nfisher1226) - File extensions are now matched case-insensitively. See #1854, #2181 (@Enselic) ##### Bugfixes - Bump `regex` dependency from 1.5.4 to 1.5.5 to fix [CVE-2022-24713](https://blog.rust-lang.org/2022/03/08/cve-2022-24713.html), see #2145, #2139 (@Enselic) - `bat` no longer crashes when encountering files that references missing syntaxes. See #915, #2181 (@Enselic) ##### Performance - Skip syntax highlighting on long lines (> 16384 chars) to help improve performance. See #2165 (@keith-hall) - Vastly improve startup time by lazy-loading syntaxes via syntect 5.0.0. This makes bat display small files ~75% faster than before. See #951, #2181 (@Enselic) ##### Other - Include info about custom assets in `--diagnostics` if used. See #2107, #2144 (@Enselic) ##### Syntaxes - Mapped clang-format config file (.clang-format) to YAML syntax (@TruncatedDinosour) - log syntax: improved handling of escape characters in double quoted strings. See #2123 (@keith-hall) - Associate `/var/spool/mail/*` and `/var/mail/*` with the `Email` syntax. See #2156 (@cyqsimon) - Added cmd-help syntax to scope --help messages. See #2148 (@victor-gp) - Slightly adjust Zig syntax. See #2136 (@Enselic) - Associate `.inf` files with the `INI` syntax. See #2190 (@Enselic) ##### `bat` as a library - Allow configuration of `show_nonprintable` with `PrettyPrinter`, see #2142 - The binary format of syntaxes.bin has been changed due to syntaxes now being lazy-loaded via syntect 5.0.0. See #2181 (@Enselic) - Mark `bat::error::Error` enum as `#[non_exhaustive]` to allow adding new variants without future semver breakage. See #2181 (@Enselic) - Change `Error::SyntectError(syntect::LoadingError)` to `Error::SyntectError(syntect::Error)`. See #2181 (@Enselic) - Add `Error::SyntectLoadingError(syntect::LoadingError)` enum variant. See #2181 (@Enselic)