Skip to content
This repository has been archived by the owner on Mar 31, 2024. It is now read-only.

Latest commit

 

History

History
624 lines (474 loc) · 23.1 KB

CHANGELOG.md

File metadata and controls

624 lines (474 loc) · 23.1 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog. This project adheres to Semantic Versioning.

To publish a new release run scripts/release from the project directory.

Added

  • Generate completions for mdless (see GH-216).

Fixed

  • Include generated shell completions in release artifacts.
  • Fix completions for mdcat (see GH-214 and GH-216)

0.29.0 – 2022-10-21

Changed

Removed

  • Support for tree_magic_mini for mime-type detection; mdcat now only uses the file tool (see GH-204).

0.28.0 – 2022-07-31

Changed

  • Update all dependencies, in particular syntect to 5.0.0 and pulldown-cmark to 0.9.2.

0.27.1 – 2022-04-17

Fixed

  • Build error on Windows (see #201).

0.27.0 – 2022-04-10

Added

  • Add extensive tracing output, to aid debugging (see #147).

Changed

  • mdcat no longer invokes file to detect SVG images, but now requires the presence of a system-wide magic database (see #154). Disable default features to restore the previous behaviour to invoke file to detect mimetypes.

Fixed

  • File completion with zsh (see #198).

0.26.1 – 2022-02-12

Changed

0.26.0 – 2022-02-12

Changed

  • Always output links as OSC-8 hyperlinks unless --dump is given. In particular, mdcat now prints hyperlinks if invoked as mdless or with -p, as recent less versions support OCS-8 hyperlinks (see #191).

Removed

  • mdcat no longer attempts to detect OSC8 link support of the underlying terminal.

0.25.1 – 2022-01-17

Changed

  • Update pulldown-cmark to 0.9.1 which fixes a minor parsing issue.

0.25.0 – 2021-12-23

Changed

  • Update pulldown-cmark to 0.9.
  • Buffer writes to terminal and pager, to reduce the amount of syscalls.

0.24.2 – 2021-11-19

Added

  • Support for $TERM=foot* (see #193).

Fixed

  • Fix compiler error with newer anyhow versions (see #192).

0.24.1 – 2021-10-30

Fixed

  • Fix semi-broken release.
  • Document support for foot in manpage.

0.24.0 – 2021-10-30

Added

0.23.2 – 2021-07-18

Changed

  • WezTerm is now detected by TERM and TERM_PROGRAM environment variables (see #186).

0.23.1 – 2021-07-14

Changed

  • Use TERM_PROGRAM for determining WezTerm terminal (see #185).

0.23.0 – 2021-07-04

Added

0.22.4 – 2021-04-15

Changed

  • Update dependencies

0.22.3 – 2021-02-22

Added

  • Refuse to read more than 100MiB from external resources, e.g. images; mdcat cannot display images of that size reasonably anyway (see #176).

Fixed

  • Fix type error on FreeBSD (see #177).

0.22.2 – 2021-01-01

Changed

  • Replace reqwest with ureq to fetch images via HTTP/HTTPS (see #168 and #169); the latter has considerably less dependencies and builds faster. It also builds statically out of the box, hence the static musl builds no longer require curl to fetch images.

Removed

  • The reqwest cargo feature (see #168 and #169).

0.22.1 – 2020-10-17

Fixed

  • Include manpage source in Windows packages. Currently the manpage doesn't build on Windows CI.

0.22.0 – 2020-10-17

Added

  • Enable OSC8 hyperlinks in Kitty (see #165). Kitty supports hyperlinks since version 0.19, see Kitty #68. Note that mdcat unconditionally prints hyperlinks if it detects a kitty terminal. It makes no attempt to detect whether the Kitty version is compatible or the allow_hyperlinks setting is enabled.
  • mdcat --version (but not mdcat -V) now informs whether HTTP/HTTPS support is builtin or requires curl.
  • mdcat now includes a manpage (see #167).

Changed

  • mdcat now asks the controlling terminal for the terminal size and thus correctly detects the terminal size even if standard input, standard output and standard error are all redirected (see #166).
  • mdcat no longer requires kitty icat to detect the size of kitty windows (see #166). Consequently mdcat can now show images on Kitty terminals even over SSH.
  • mdcat --help no longer uses colours, and always wraps at 80 characters now.

0.21.1 – 2020-09-01

Fixed

  • Update pulldown cmark to correctly ignore footnote refs (see #155).

0.21.0 – 2020-08-12

Added

  • Add --paginate flag to paginate the output of mdcat (see #152); with this flag mdcat sends it output to less -R or any alternative pager set in $MDCAT_PAGER or $PAGER. This flag also disables all terminal-specific formatting as the pager likely won't support it.
  • Paginate output by default if invoked as mdless, that is, if mdcat is hard-linked to mdless.

Fixed

  • Render email autolinks (i.e. <hello@example.com>) as mailto: links.

0.20.0 – 2020-07-05

Added

  • mdcat::TerminalCapabilities now exposes constructors for specific terminal emulators.
  • Render reference link definitions as inline links if possible (see #149). This mainly affects image links inside inline links which get rendered as reference links.
  • mdcat::Environment now contains all environment information required to render properly, namely the local hostname and the base URL.

Changed

  • mdcat::push_tty now takes an mdcat::Environment instead of base_dir. base_dir is now part of mdcat::Environment.
  • Image links now use purple foreground text (see #140 and #149).
  • Image links render as inline links if the terminal does not support inline images and the image is not inside another link (see #141).
  • mdcat::TerminalCapabilities now uses Option to denote missing capabilities.

Fixed

  • Always treat links targets as URLs, never as paths.
  • On ITerm2 only use the last segment of image URLs as filename for inline images (see #149). Previously mdcat used the full URL based on a misunderstanding of the Inline Images Protocol.

0.19.0 – 2020-06-19

Added

  • Release packages now include generated shell completions for Bash, Zsh and Fish.

Changed

  • Blockquotes no longer have green foreground text (see #144).

0.18.4 – 2020-06-14

Fixed

  • Fix typo in release workflow.
  • Update all dependencies to no longer depend on yanked crate versions.

0.18.3 – 2020-06-14

Fixed

  • Properly ignore alt text of inline images (see #148).

0.18.2 – 2020-05-31

Fixed

  • Properly upload binaries for releases.

0.18.1 – 2020-05-31

Fixed

  • Fix typo in release workflow.

0.18.0 – 2020-05-31

Added

  • Add mdcat::Error as type alias to std::io::Error.

Changed

  • New simpler rendering algorithm (see #[142]) which solves numerous rendering issues (see below).
  • Handle internal errors with anyhow to add more context to errors (see #139}.
  • mdcat::push_tty only fails with std::io::Error: mdcat never visibly fails unless it can’t write output.

Fixed

  • Respect --local-only and resource access policy; this got lost in some refactoring (see #146).
  • Consistent margins and newlines around paragraphs, HTML blocks and inside list items (see #142).
  • Correctly indent nested code blocks in lists and block quotes (see #142).
  • No longer print leading blank lines before lists (see #142).
  • Correctly indent block quotes (see #142).
  • Colorize the entire text of links (see #142).

0.17.1 – 2020-05-24

Fixed

0.17.0 – 2020-05-20

Changed

  • mdcat is now distributed under the MPL 2 license; some source files remain Apache 2.0 due to 3rd party rights (see #138).

Fixed

  • Do not fail with broken pipe error when rending large images (see #134 by @fspillner).

0.16.1 – 2020-05-15

Changed

  • mdcat::push_tty now takes a mdcat::Settings struct which groups all external settings.

Fixed

  • Ignore broken pipes; mdcat | head no longer errors when head closes stdout of mdcat early (see #136).

0.16.0 – 2020-04-11

Changed

  • Upgrade to syntect 4.1 and enable its pure Rust regex backend to simplify building (see #131). This crate now builds without Clang which fixes Clang-related build issues (see #90)

0.15.1 – 2020-02-15

Changed

  • Update pulldown-cmark to 0.7.

0.15.0 – 2020-01-11

Added

  • Release builds now perform full link-time optimization to create a smaller binary. We do recommend to also strip the mdcat binary.
  • Render SVG images in kitty (see #114).
  • Update to reqwest 0.10.
  • Process file list as input (see #54 and #115, by @norman-abramovitz):
    • Add --fail flag to exit on the first error when processing a file list; the default behaviour is to continue with the next file in case of error.

Changed

  • Replace remote_resources feature with reqwest feature to use reqwest for retrieving remote resources, and fall back to the curl command if reqwest is disabled.

0.14.0 – 2019-12-18

Added

Changed

  • Update pulldown-cmark to 0.6 which supports CommonMark 0.29 and improves parser speed and correctness.
  • Enable SIMD in pulldown-cmark to squeeze out the last bit of performance.
  • Remove all features except remote_resources to reduce build complexity.

Removed

  • No longer depend on immeta.

0.13.0 – 2019-03-30

Added

  • Render task lists nicely (see #72).
  • Render strike-through text (see #71). Some terminals do not support this feature, and mdcat does not have a fallback currently (see #73).

0.12.1 – 2018-12-24

Fixed

  • Do not add newline after inline text with styles disabled (see #49).

0.12.0 – 2018-12-20

Added

  • Add TerminalCapability struct as replacement for mdcat::Terminal trait to remove dynamic dispatch and allow for more accurate and less complicated conditional compilation of terminal support for different platforms (see #45).
  • Move to Rust 2018, and raise minimum supported Rust version to 1.31 (see #46).

Changed

  • Drop support for Rust 1.29 and older.
  • Do not test specific Rust on versions on Travis CI any longer; Rust stable becomes the lowest supported Rust version.

Removed

  • mdcat::Terminal trait and implementations (see #45).

Fixed

  • Set hostname to local hostname for inline links to file:// URLs, which should properly resolve file:// URLs over SSH (see OSC 8 file URLs, #42 and #44).

0.11.0 – 2018-10-25

Changed

  • Always print colours regardless of whether stdout if a tty or not.
  • Replace --colour option with a --no-colour flag to turn off styled output.
  • mdcat::push_tty no longer takes ownership of the terminal argument (see #41).
  • Travis CI builds Windows binaries now.
  • Test formatting output.

0.10.1 – 2018-09-09

Fixed

  • Properly package musl binary on Travis CI; restores Linux binary in releases.

0.10.0 – 2018-09-09

Added

  • Support colours on Windows 10 console (see #36).
  • Support musl target on Linux (see #37 and #38).
  • Published Linux binary statically links musl now, and has no runtime dependencies (see #29 and #38).

0.9.2 – 2018-08-26

Fixed

  • Do not falsely ignore deployments from Travis CI for Linux and macOS.

0.9.1 – 2018-08-26

Added

  • Publish binaries for Linux, macOS and Windows (see #28).

Fixed

  • Correctly build macOS and Linux binaries on Travis CI.

0.9.0 – 2018-08-26

Added

  • mdcat builds on Windows now (see #33 and #34).

Changed

  • Refactor internal terminal representation, replacing the terminal enum with a new Terminal trait and dynamic dispatch (see #35).
  • Allow to disable specific terminal backends (see #35).
  • Update minimum Rust version to 1.27.

0.8.0 – 2018-02-15

Added

  • Render SVG images in iTerm2 with rsvg-convert (requires librsvg).
  • Expose TerminalWrite in mdcat crate (see #20 by @Byron).

0.7.0 – 2018-02-08

Added

  • Show images from HTTP and HTTPS URLs inline in iTerm2.
  • Add --local flag to render only local images inline; for remote images, eg, HTTP URLs, show only the image title and the URL.
  • Expose mdcat as a library crate (see #18), but with no guarantees about a stable interface, as mdcat stays at version 0.x for now.
  • Show --help with colours.

Changed

  • Adhere to Semantic Versioning, but stay pre-1.0 so anything still goes.

0.6.0 – 2018-02-02

Added

Changed

  • Improve --help output: Hide some redundant options, add a bug reporting URL and explain the purpose of mdcat.
  • Reduce dependencies and thus build time

0.5.0 – 2018-01-27

Added

  • Show links inline in iTerm2 and terminals based on VTE 0.50 or newer (see #8, #14 and #15).

Changed

  • Improve --help output.

Fixed

  • Remove redundant default value from --colour help text (see #10, by @wezm).
  • Replace light black with green; the former doesn't work with Solarized Dark.

0.4.0 – 2018-01-21

Changed

  • Use 8-bit ANSI colours for syntax highlighting to fit all kinds of terminal colour themes.

Fixed

  • Remove excess space at the end of code blocks

Removed

  • Remove --light switch which became redundant due to better syntax highlighting.

0.3.0 – 2018-01-19

Added

  • Print image links
  • Show images inline on iTerm.

Changed

  • Rename to mdcat; I have no plans to add paging to this tool.

0.2.0 – 2018-01-16

Added

  • Highlight code blocks with Solarized color theme (light or dark).
  • Naively show inline and block HTML.
  • Set iTerm marks for headings.
  • Auto-detect whether mdless can use iTerm2 marks.
  • Add --colour flag to enable or disable coloured output.

0.1.1 – 2018-01-14

Fixed

  • Fix Travis CI badge on crates.io.
  • Fix license layout in README.

0.1.0 – 2018-01-14

Added

  • Support inline formatting.
  • Support headings.
  • Support code blocks and block quotes.
  • Support ordered and unordered lists, with nest.
  • Show links, with references grouped by section.