github hpjansson/chafa 1.16.0
Chafa 1.16.0

latest releases: 1.16.2, 1.16.1
3 months ago

This is a feature release with lots of additional polish and some new API.

Thanks to everyone who chipped in with issues and code. Special thanks to @AnonymouX47 for helping out with the grid implementation and for going above and beyond with QA and bugfixing in general.

  • Added terminal probing. Currently we can determine geometry, colors and sixel capabilities this way. This supplements the existing heuristics.

  • The internal terminal database and heuristics were refactored for clarity, with new API added to simplify the configuration process.

  • I/O is now threaded, resulting in improved responsiveness and pipelining.

  • New option: --grid=WxH, --grid=[auto|on|off] or -g. This lays out multiple images in a grid for easy browsing.

  • New option: --label=[on|off] or -l. Labels each image with its filename. Works in both continuous and grid layouts.

  • New option: --probe=[auto|on|off]. Controls whether to actively probe the terminal. Can take a real number denoting how long to wait for a response.

  • Sixel quality improved significantly. The quantizer was reimplemented with modern algorithms (#174), and blue noise dithering was introduced (#238).

  • The new blue noise dithering is also available in symbols mode, and can be turned on with --dither noise. It can be turned off with --dither none.

  • Numerous small improvements were made to sixel handling:

    • Terminal cursor placement quirks are now represented and handled.
    • Images can now cover their cell extents completely.
    • Workaround for animations "walking up the screen" on quirky terminals.
  • The JPEG XL loader was improved with optional memory mapping and better container support (@oupson).

  • Enabled wildcard expansion in Windows builds (#266).

  • Added completions for the fish shell (@folliehiyuki) and updated those for zsh (@sstark).

  • Bug fixes:
    #111 Provide auto detection of background for perception of transparency (found by @acxz).
    #228 Sixel capability not detected in foot + tmux (found by @amigthea).
    #236 Ghostty shows pwd/lock indicator when using Chafa (found by @edrozenberg).
    #238 Sixel image quality significantly different from img2sixel and ImageMagick (found by @rashil2000).
    #239 Chafa leaves echo on (found by @veltza).
    #245 JPEG file not recognized (found by @ploum).
    #246 Examples using deprecated functions (found by @sechshelme).
    #249 Sixel detection doesn't set default values (found by @veltza).
    #254 -t 1 doesn't work with -f iterm (@AnonymouX47).
    #255 Animations scroll/walk up the screen (found by @AnonymouX47).
    #265 Enable Kitty image protocol for Warp (found by @SohamP2812).
    #266 On Windows, in a cmd.exe window, filename wildcard expansion is broken (found by @garoto).
    #273 -t 1 messes up some images (found by @AnonymouX47).
    #274 -f {kitty,iterm} swaps BG color channels for SVG (found by @AnonymouX47).
    #278 Images not always padded to cell boundary (found by @veltza).
    [unfiled] Fix broken bashisms resulting in logic failure (@eli-schwartz).
    [unfiled] Small leak in chafa_canvas_print_rows() (@korei999).
    [unfiled] Uninitialized histogram in nearest-neighbor interp.

Don't miss a new chafa release

NewReleases is sending notifications on new releases.