When this code was written, the client specification instructed clients
that they MUST download pages from the tldr.sh domain. However, this
domain was deprecated and shut down in December 2025.
- Adapt to `thing.paint(style)` API; was `style.paint(thing)`
- Remove `yansi::Paint::enable_windows_ascii()` in style usage decision;
removed in yansi commit b186eb5bfb, which introduced "automatic"
support for Windows: "If support is not available, styling is disabled
and no styling sequences are emitted", fitting the `Auto` option
- Respect `--color=always` even if we know it won't work
---------
Co-authored-by: Niklas Mohrin <dev@niklasmohrin.de>
* Change custom page files to use a `.md` extension.
* Add a breaking change warning to the documentation for the usage of custom pages.
* Add a temporary check for old custom pages to assist in the migration to the new naming convention.
Co-authored-by: Danilo Bargen <mail@dbrgn.ch>
Right now we only support building with Rustls. However, there are quite
a few architectures that aren't yet supported by "ring" (the crypto
library used by Rustls), for example MIPS, PowerPC or SPARC.
To offer an alternative, I added the "native-tls" feature that can be
used instead of "native-roots". When used, the native TLS stack is used
instead of Rustls (i.e. SChannel on Windows, Secure Transport on macOS
and OpenSSL otherwise).
- Config: Add `cache_dir` to `[directories]` section
- Logic to handle legacy env var, config override and default cache dir
selection is now in the `Config::try_from(RawConfig)` impl
- Deprecate old `TEALDEER_CACHE_DIR` env variable
- Update docs
Co-authored-by: Hans Gaiser <hansg91@gmail.com>
ansi_term is not actively maintained anymore (see
https://rustsec.org/advisories/RUSTSEC-2021-0139). Replace it with a
suitable alternative.
I looked at termcolor, owo-colors and yansi and picked yansi:
- It is very simple
- It does not do terminal color support checking (we already do that in
tealdeer)
- Its color enum type is almost identical to the one from ansi_term, so
migrating is easy
The only change from a config API point of view is that "purple" is now
renamed to "magenta", but "purple" still works.
As reported in https://github.com/dbrgn/tealdeer/issues/244, some users
on macOS had problems with `rustls-tls-native-roots`. Since we did not
find the root cause of this, we'll build macOS release builds with
`rustls-tls-webpki-roots` instead.
Fixes#244.