(Go: >> BACK << -|- >> HOME <<)

Skip to content

Tags: hpjansson/chafa

Tags

1.14.1

Toggle 1.14.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.14.1 (2024-06-17)

This release brings bug fixes, compatibility improvements and some performance
enhancements.

* A JPEG XL (.jxl) loader was added using libjxl (github#188, @oupson).

* Added detection of the Eat "Emulate a Terminal" Emacs terminal (Simon Law).

* Symbols mode was sped up significantly on AVX2-capable platforms.

* Tests: A new test driver was added. It will log the specifics of any failures,
  which aids debugging of CI builds (issue found by Mo Zhou).

* Bug fixes:
  github#189  Fix installation of zsh completions (Felix Yan).
  github#190  Fix a small memory leak in ChafaCanvas (found by @jstkdng).
  github#192  Wrong sixel padding in some circumstances (found by @dnkl).
  github#195  tmux passthrough enabled when already set (found by Ron Lau).
  github#196  iTerm mode not enabled automatically (found by @sudo-burger).

1.14.0

Toggle 1.14.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.14.0 (2024-01-08)

This is a feature release with mostly practical improvements and bug fixes.
It also adds a modest amount of new API in preparation for things to come.

* Removed ImageMagick loader support. Packagers can now remove this dependency
  (github#157).

* Polite mode is now off by default. The new default eliminates cursor flicker
  and makes the output more robust against unusual terminal settings. The old
  behavior can be restored with "--polite on".

* Added image loaders for the AVIF and QOI formats. Thanks to @jerch for
  suggesting the latter.

* sRGB gamma is now handled correctly in scaling operations.

* New option: --passthrough=<auto|none|screen|tmux>. This allows passing
  graphics protocols like Sixels, iTerm and Kitty through a terminal
  multiplexer. It will be enabled automatically for Kitty, and can be enabled
  manually for other protocols with more limited support (github#116,
  github#162, thanks to Samantha Collins and @m040601).

* New option: --view-size=<WxH>. Specifies width and height of the viewport,
  overriding the detected terminal size (github#140, reported by Jamin
  Thornsberry).

* New option: --fit-width. Fits images to the width of the viewport, allowing
  them to be taller than the viewport's height (github#115, thanks to
  @SuperDuperDeou).

* New option: --relative=<bool>. Enables relative cursor positioning. Useful if
  you've pre-positioned the cursor at a particular offset where you want frames
  to appear, but tends to make the output illegible in pagers, e.g. 'less -R'
  (github#146, thanks to @Delgan and @AnonymouX47).

* New option: --exact-size=<auto|on|off>. Preserves the input pixel size when
  possible. Useful to avoid artifacts caused by resampling (github#119,
  reported by @ErrorNoInternet).

* New symbol selector: "imported". This selects glyphs loaded with
  --glyph-file (github#124, reported by @clort81).

* MS Windows: Experimental support for ConHost output (-f conhost). This allows
  direct output on older versions of MS Windows (github#170, @oshaboy).

* Fontgen: Added a BDF font writer (Mo Zhou).

* Fontgen: Cleanup and modernization (Mo Zhou).

* The help text and manual page were overhauled for readability, and the API
  documentation now includes symbol indexes by version and deprecation status.

* Added a zsh completion script (Wu Zhenyu).

* Installation methods added: Scoop (Launch Lee) and Winget (@sitiom).

* CI: Ported to GitHub actions (Erica Ferrua Edwardsdóttir).

* Bug fixes:
  github#107  "Unknown file format" when using AVIF on stdin (found by @ndren).
  github#152  Broken linking with libwebp-1.3.1 (found by Vladimír Čunát).
  [unfiled]   Fix make check with --without-tools (Samuel Thibault).
  [unfiled]   Fix --duration not working well with still images (@Delgan).
  [unfiled]   Fix sixel rendering of animations (@Delgan).
  [unfiled]   Fix operator precedence in geometry calculation (Johan Mattsson).

1.12.5

Toggle 1.12.5's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.12.5 (2023-05-21)

This is a bugfix release.

* Bug fixes:
  github#123  Crash on canvas created with chafa_canvas_new_similar()
              (reported by Erica Ferrua Edwardsdóttir).
  github#141  Distortion when rowstride is not a multiple of 4 (reported by
              @jstkdng).
  [unfiled]   Missing comma in --help output (reported by @Freed-Wu).

1.12.4

Toggle 1.12.4's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.12.4 (2022-11-12)

This release improves support for Microsoft Windows and fixes several bugs.

* MS Windows: Added support for Unicode command-line arguments.

* MS Windows: Enabled support for building a DLL.

* Improved quality of accelerated symbol picking (the default with -w 6 and
  lower), especially along sharp edges.

* The XWD loader now supports unaligned image data, which can occur when the
  header is of an uneven length. Such images will no longer be rejected.

* Bug fixes:
  github#100  Reading image data from stdin fails on Windows (reported by
              @TransparentLC).
  github#104  Artifacts with transparent animations on Kitty (reported by Akash
              Patel).
  github#112  Bad documentation for -c default (reported by Jakub Wilk).
  github#113  Autogen/build fails on CentOS 7 (partial solution) (reported by
              Ivan Shatsky).
  huntr.dev   Uncontrolled memory allocation in lodepng (reported by
              @JieyongMa).
  [unfiled]   -lm should not be in pkg-config Libs: list (Tomasz Kłoczko).
  [unfiled]   The --watch switch was broken with the introduction of --animate.

1.12.3

Toggle 1.12.3's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.12.3 (2022-07-01)

A bug crept into the previous release that prevented successful package builds
in some environments. This has been fixed.

* Increased GLib minimum version to 2.26.

* Enabled a few compiler warnings not included in '-Wall -Wextra' in order to
  catch more potential issues early. Also started using '-Werror' selectively.

* Silenced deprecation warnings for older GLib APIs that we would like to
  keep using a bit longer.

* Bug fixes:
  github#96  Regression: Fails to build on Linux/Debian (reported by Mo Zhou).

1.12.2

Toggle 1.12.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.12.2 (2022-06-28)

This release adds basic support for Microsoft Windows.

* Made everything compile for the x86_64-w64-mingw32 target using gcc.

* Added support for the Windows 10 Command Prompt.

* Improved error reporting.

1.12.1

Toggle 1.12.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.12.1 (2022-06-20)

This release fixes one important input validation bug and several instances of
undefined behavior revealed by fuzzing.

* Increased GLib minimum version to 2.20.

* Added 12 new test inputs, including bad inputs to handle gracefully.

* Added a few symbols to API documentation that were accidentally left out.

* Bug fixes:
  huntr.dev  CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode()
             (Sudhakar Verma of CrowdStrike).
  [unfiled]  Undefined behavior in libnsgif due to uninitialized frame fields.
  [unfiled]  Signed integer overflow in chafa_pack_color().
  [unfiled]  Integer overflow in normalization pass on some images.
  [unfiled]  Potential unaligned access with corrupt XWD images.
  [unfiled]  Integer overflow in quantization on some images.
  [unfiled]  Calculating offset from NULL pointer in LodePNG.

1.12.0

Toggle 1.12.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.12.0 (2022-06-06)

This is a feature release with new image loaders aimed at phasing out
ImageMagick. It also has new convenience functions, character art improvements,
tests and bug fixes.

Special thanks go to the very fine security researchers at huntr.dev for their
help in hardening Chafa over the last few releases.

* The ImageMagick dependency is now optional and deprecated. Packagers are
  encouraged to drop the ImageMagick dependency (--without-imagemagick) and
  add direct dependencies on relevant image codecs. ImageMagick support will be
  removed in a future release.

* Added image loaders for the following formats: JPEG, SVG, TIFF, WebP. Like
  the existing GIF, PNG and XWD loaders, these are much faster and generally
  safer than their ImageMagick counterparts. If ImageMagick is enabled, it will
  be used as a fallback. Supported image loaders will be listed in the
  --version output.

* Implemented a 16/8 mode producing 8 colors and an additional 8 bright
  foreground-only colors for a total of 16 foreground and 8 background colors.
  When using ANSI escape sequences in symbol mode, the sequence for bold text
  is used to enable bright colors. This scheme corresponds to that of the IBM
  PC's VGA hardware text modes and was popular with terminal emulators in the
  late 1980s to early 2000s.

  With a few tweaks, output from this mode can be turned into ANSI art scene
  .ANS files compatible with utilities like the wonderful Ansilove, e.g:

  $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \
      in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp432 > out.ans
  $ ansilove out.ans -o out.png

* New builtin Latin symbols (available with --symbols latin). This class
  comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A
  and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like
  symbols from other ranges, using Terminus as the reference font. The ASCII
  class is also a subset of this class.

* Reworked ASCII symbols to be more representative of modern terminal fonts. As
  with the other Latin ranges, the reference font is now Terminus.

* New option: --scale <n>. This takes a real number specifying the on-screen
  scaling factor relative to the input's pixel size, respecting the terminal
  size. The special argument 'max' will fit the output to the terminal. The
  defaults are 1.0 for iTerm, Kitty and sixels, and 4.0 for symbols. Suggested
  by Lionel Dricot in github#84.

* Deprecated option: --zoom. Use '--scale max' instead.

* Added a battery of simple tests that can be run with 'make check'.

* Made 'configure' friendlier. It's now more lenient with dependencies, and
  the summary is more detailed and colorized if possible.

* Bug fixes:
  github#62  Too big alloc on bogus terminal dimensions (reported by
             Sotiris Papatheodorou and Mo Zhou).
  huntr.dev  Null pointer dereference caused by calling post_func on unused
             batch entries (reported by @Han0nly).
  [unfiled]  Small memory leaks when using iTerm and Kitty formats.
  [unfiled]  Wide symbol coverages leaked in symbol map destructor.
  [unfiled]  No error code if files failed to load.

1.10.3

Toggle 1.10.3's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.10.3 (2022-05-04)

This release fixes multiple input validation issues. These were found in the
'chafa' command-line tool and do not affect the library backend.

* Improved input validation in the XWD loader.

* Bug fixes:
  huntr.dev  Buffer over-read when compiled with -O0 or non-x86 target
             (reported by @JieyongMa).

1.10.2

Toggle 1.10.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
hpjansson Hans Petter Jansson
1.10.2 (2022-04-25)

This release adds security/responsible disclosure guidelines and fixes a few
issues with input validation in the 'chafa' command-line tool.

* Added disclosure guidelines in SECURITY.md (suggested by Jamie Slome).

* Bug fixes:
  huntr.dev  Null pointer dereference in libnsgif with crafted GIF file
             (reported by @JieyongMa).
  [unfiled]  File magic would not effectively rule out internal loaders.
  [unfiled]  Very big images could cause absurd allocation requests triggering
             an abort in the loader.