| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: chafa | Distribution: openSUSE Tumbleweed |
| Version: 1.18.3 | Vendor: openSUSE |
| Release: 1.1 | Build date: Thu Sep 24 08:22:54 2026 |
| Group: Amusements/Toys/Graphics | Build host: reproducible |
| Size: 281891 | Source RPM: chafa-1.18.3-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://hpjansson.org/chafa/ | |
| Summary: Image-to-text converter for terminal | |
Chafa is a command-line utility that converts all kinds of images, including animated image formats like GIFs, into ANSI/Unicode character output that can be displayed in a terminal.
LGPL-3.0-or-later
* Thu Sep 24 2026 Michael Vetter <mvetter@suse.com>
- Update to 1.18.3:
* libheif 1.12.0 or later is now formally required for HEIF support. We were
already calling functions introduced in 1.9.0 and 1.12.0.
* Sixels are no longer used inside tmux when the outer terminal can't display
them. tmux claims the capability on its own behalf regardless of what's
outside it, so we now ask what its client supports instead #348.
* Padding and fully transparent areas revealed by alpha thresholding are now
correctly painted in the flat background color instead of the closest match #354.
* #347 Alignment-induced crash on AMD/CachyOS.
* CLI: Hang when --files was used and standard input was a pipe.
* CLI: Potential busy-wait for a complete token from a file list.
* CLI: TIFF images decoded with wrong channel order on big-endian.
* CLI: Integer overflow in image loader size arithmetic.
* CLI: Unbounded allocation decoding GIF frames larger than the file's logical extent.
* OOB read one entry past the end of the palette color table.
* Double free of the pixel canvas after chafa_canvas_new_similar().
* Spurious pen added to palettes with fewer than 255 colors.
* Thu Apr 30 2026 Michael Vetter <mvetter@suse.com>
- Update to 1.18.2:
* Support BigTIFF images (#328).
* Integer overflow and OOB write with big output size.
* OOB write in symbol-mode Floyd-Steinberg dithering.
* CLI: Incomplete sanitization of filenames printed to terminal.
* CLI: Integer overflow in XWD header validation.
* CLI: Pointer arithmetic past end of GIF file allocation.
* OOB reading canvas cell colors in FGBG mode.
* Compiler warnings from headers with C99 and -Wpedantic.
* Mon Feb 09 2026 Michael Vetter <mvetter@suse.com>
- Update to 1.18.1:
* New option: --probe-mode=[any|ctty|stdio]. This specifies whether to probe
the terminal through stdio or ctty (usually /dev/tty). Defaults to any,
which will probe stdio if it looks like a tty, otherwise the ctty. This
allows the terminal to be probed when I/O is redirected (#325)
* We now try harder to restore the terminal to a usable state after SIGINT is
received, even if we couldn't do a clean exit in a reasonable time frame
(#309)
* Bash completions were added and zsh completions updated (#315).
* Improved compatibility for the Kitty protocol, specifically with iTerm2.
* Bug fixes:
+ #184 Test failure on sparc64.
+ #292 Test failure on i386.
+ #321 Bad console modes on win32 after exit.
+ [unfiled] Stalling on closed output pipe on OpenBSD.
* Tue Nov 11 2025 Michael Vetter <mvetter@suse.com>
- Update to 1.18.0:
* Increased GLib minimum version to 2.58 (released in 2018).
* New options: --files=FNAME and --files0=FNAME. These allow reading
lists of input files from a file or standard input. Paths can be
separated by newlines or a zero byte (--files0). These options can
be specified multiple times.
* New option: --link=[auto|on|off]. When used with --label, this
controls whether each label should be an OSC 8-style hyperlink to
its input file.
* Multiple files can now be decoded in parallel. This greatly speeds
up grid mode on multi-core systems. Controllable with --threads.
* ConHost support was removed due to incompleteness and lack of interest.
* Image loaders:
+ Added support for CoreGraphics loaders on MacOS (#301).
+ Added support for HEIF files on all platforms (#297).
* Terminal support:
+ Improved detection of ghostty inside tmux (#296).
+ Added support for GNU/Hurd console.
* Tests:
+ Expanded symbol matching tests with more cases and detailed diagnostics.
+ Added a test for CLI tool return values in various scenarios.
* Bug fixes:
+ #293 Don't leave stdin in non-blocking mode.
+ [unfiled] Use glibtoolize when libtoolize is unavailable.
+ [unfiled] GNU/Hurd: Don't stall if pipe is closed on remote end.
+ [unfiled] _mm_empty() not always called immediately after MMX use.
+ [unfiled] FP division by zero possible in sixel palette generation.
+ [unfiled] Don't wait for response if probing is unsupported.
+ [unfiled] Wrong exit code returned on some failures.
* Sat Jul 05 2025 Michael Vetter <mvetter@suse.com>
- Update to 1.16.2:
* #288 SVG scaling seems to be done after bitmap conversion
* [unfiled] MinGW: Undeclared function error for strlen()
* [unfiled] Assert when using chafa_canvas_draw_all_pixels() with Kitty passthrough
* [unfiled] Hangs when running with closed stdin
* [unfiled] Potential overrun when output dimension is exactly 1 pixel.
* [unfiled] Small memory leak on failed load in the grid layout.
* [unfiled] Occasional warnings from JPEG loader that should not be printed.
* Mon Jun 02 2025 Michael Vetter <mvetter@suse.com>
- Update to 1.16.1:
* Bug fixes:
[#282] Fish completion not included in release tarball
[#283] Piping and redirection are broken in Windows
* Mon Jun 02 2025 Michael Vetter <mvetter@suse.com>
- Update to 1.16.0:
* 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
* Enabled wildcard expansion in Windows builds (#266).
* Added completions for the fish shell and updated those for zsh.
* Bug fixes:
+ #111 Provide auto detection of background for perception of transparency
+ #228 Sixel capability not detected in foot + tmux
+ #236 Ghostty shows pwd/lock indicator when using Chafa
+ #238 Sixel image quality significantly different from img2sixel and ImageMagick
+ #239 Chafa leaves echo on
+ #245 JPEG file not recognized
+ #246 Examples using deprecated functions
+ #249 Sixel detection doesn't set default values
+ #254 -t 1 doesn't work with -f iterm
+ #255 Animations scroll/walk up the screen
+ #265 Enable Kitty image protocol for Warp
+ #266 On Windows, in a cmd.exe window, filename wildcard expansion is broken
+ #273 -t 1 messes up some images
+ #274 -f {kitty,iterm} swaps BG color channels for SVG
+ #278 Images not always padded to cell boundary
+ [unfiled] Fix broken bashisms resulting in logic failure
+ [unfiled] Small leak in chafa_canvas_print_rows()
+ [unfiled] Uninitialized histogram in nearest-neighbor interp.
* Sun Nov 03 2024 Joshua Smith <smolsheep@opensuse.org>
- Update to 1.14.5:
Fixes:
* Improve sixel and general terminal support inside tmux
* Support JPEGs with CMYK color space
* Fix --font-ratio doing nothing
* Ensure CLI tool gets linked with libm.
* Tue Sep 10 2024 Michael Vetter <mvetter@suse.com>
- Update to 1.14.4:
* Bug fixes:
[#216] Dither intensity does not work properly
* Mon Sep 09 2024 Michael Vetter <mvetter@suse.com>
- Update to 1.14.3:
* Sixel transparency has been reenabled for still frames. Animations
will be pre-composited on an opaque background to prevent flicker/glitchiness (#211)
* Now supports the Ghostty terminal, defaulting to the Kitty graphics protocol there.
* Bug fixes:
[#185] Chafa version 1.14 breaks image preview on lf.
[#210] Crash with -f sixels.
[#211] Sixels are too small in Windows Terminal.
[#212] Aspect-preserving calculations are off in some cases.
[unfiled] Inconsistent fraction parsing in CLI arguments.
[unfiled] A few small memory leaks in the JPEG XL loader.
* Fri Jul 26 2024 Michael Vetter <mvetter@suse.com>
- Update to 1.14.2:
* #203 Chafa 1.14.1 fails to build on i686
* #205 Symbols mode not working since 1.14.1
* #206 Crash when importing more than 32767 glyphs
* Fix erroneous base64 encoding of final byte in some circumstances
* Tue Jun 18 2024 Michael Vetter <mvetter@suse.com>
- Update to 1.14.1:
* A JPEG XL (.jxl) loader was added using libjxl (#188).
* Added detection of the Eat "Emulate a Terminal" Emacs terminal.
* 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.
* Bug fixes:
[#189] Fix installation of zsh completions.
[#190] Fix a small memory leak in ChafaCanvas.
[#192] Wrong sixel padding in some circumstances.
[#195] tmux passthrough enabled when already set.
[#196] iTerm mode not enabled automatically.
* Tue May 21 2024 pallas wept <pallaswept@proton.me>
- Enable optional image formats
* jpeg
* svg
* tiff
* webp
* Mon Jan 08 2024 Joshua Smith <jsmithfpv@gmail.com>
- Update to 1.14.0:
* Removed ImageMagick loader support. Packagers can now remove
this dependency
* 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.
* 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
* New option: --view-size=<WxH>. Specifies width and height of
the viewport, overriding the detected terminal size
* New option: --fit-width. Fits images to the width of the
viewport, allowing them to be taller than the viewport's height
* 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
* New option: --exact-size=<auto|on|off>. Preserves the input
pixel size when possible. Useful to avoid artifacts caused
by resampling
* New symbol selector: imported. This selects glyphs loaded with
- -glyph-file
* Fontgen: Added a BDF font writer
* Fontgen: Cleanup and modernization
* 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
* Fix "unknown file format" when using AVIF on stdin
* Fix broken linking with libwebp-1.3.1
* Fix make check with --without-tools
* Fix --duration not working well with still images
* Fix sixel rendering of animations
* Fix operator precedence in geometry calculation
* Mon May 22 2023 Michael Vetter <mvetter@suse.com>
- Update to 1.12.5:
* Fix #123 crash on canvas created with chafa_canvas_new_similar()
* Fix #141 distortion when rowstride is not a multiple of 4
* Fix missing comma in --help output
/usr/bin/chafa /usr/share/doc/packages/chafa /usr/share/doc/packages/chafa/NEWS /usr/share/doc/packages/chafa/README /usr/share/doc/packages/chafa/README.md /usr/share/licenses/chafa /usr/share/licenses/chafa/COPYING.LESSER /usr/share/man/man1/chafa.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Sep 27 22:31:12 2026