forked from pool/chafa
d02d507d87
- 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 OBS-URL: https://build.opensuse.org/request/show/1137672 OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=39
412 lines
20 KiB
Plaintext
412 lines
20 KiB
Plaintext
-------------------------------------------------------------------
|
|
Mon Jan 8 20:19:46 UTC 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 06:24:38 UTC 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
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Nov 13 20:17:11 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.12.4:
|
|
* 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:
|
|
- #100[1] Reading image data from stdin fails on Windows
|
|
- #104[3] Artifacts with transparent animations on Kitty
|
|
- #108[5] Bad interaction with lolcat
|
|
- #112[7] Bad documentation for -c default
|
|
- #113[9] Autogen/build fails on CentOS 7 (partial solution)
|
|
- huntr.dev: Uncontrolled memory allocation in lodepng
|
|
- [unfiled] -lm should not be in pkg-config Libs: list
|
|
- [unfiled] The --watch switch was broken with the
|
|
introduction of --animate.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 4 11:52:17 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.12.3:
|
|
* 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.
|
|
* Fix #96 Regression: Fails to build on Linux/Debian
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 4 11:51:53 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.12.2:
|
|
* Made everything compile for the x86_64-w64-mingw32 target using gcc.
|
|
* Added support for the Windows 10 Command Prompt.
|
|
* Improved error reporting.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 20 07:53:37 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.12.1:
|
|
* 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()
|
|
+ [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.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 6 09:22:07 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.12.0:
|
|
* 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[2], 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 cp437 > 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. #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:
|
|
- #62 Too big alloc on bogus terminal dimensions
|
|
- huntr.dev: Null pointer dereference caused by calling post_func on unused
|
|
batch entries
|
|
- [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.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 5 08:32:33 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.10.3:
|
|
* Improved input validation in the XWD loader.
|
|
* huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Apr 25 08:21:26 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.10.2:
|
|
* Added disclosure guidelines in SECURITY.md
|
|
* Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file
|
|
* [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.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Apr 4 10:37:27 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 0.10.1:
|
|
* #87 Garbled last row of pixels on some images
|
|
* [unfiled] Correctly label new functions since 1.10
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Mar 21 11:08:11 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 0.10.0:
|
|
* New option: --animate <bool>. On by default. Can be turned off
|
|
to replace animations with a still frame #79.
|
|
* New option: --center <bool> or -C <bool>. Off by default. Can
|
|
be turned on to center images #83.
|
|
* New options: --margin-bottom <n> and --margin-right <n>. These
|
|
permit using all available space (with --margin-bottom 0) or some
|
|
smaller amount #61.
|
|
* New option: --polite <bool>. On by default. Can be turned off to
|
|
correct issues caused by previous terminal state (e.g. no sixel scrolling)
|
|
and improve presentation (e.g. by temporarily hiding the cursor). This can
|
|
leave the terminal in an altered state, which is somewhat rude.
|
|
* New option: --threads <n>. Allows manually specifying the number of threads to
|
|
use. Defaults to one per detected logical CPU core.
|
|
* When invoked with redirected input and no arguments, act like a
|
|
filter as if invoked with -.
|
|
* If input or output is being redirected, default to playing animations only once
|
|
instead of looping forever. This can be overridden with -d inf.
|
|
* Replaced obsolete Autoconf macros.
|
|
* Improved image loaders:
|
|
+ GIF: Load GIF87a images as well as GIF89a.
|
|
+ PNG: Add an internal copy of LodePNG, bypassing ImageMagick.
|
|
This improves performance and helps with eventually phasing out the latter.
|
|
+ XWD: Support images generated by convert.
|
|
* Improved terminal support:
|
|
+ Contour: Enable sixel support.
|
|
+ foot: Open-ended TERM string matching.
|
|
+ Konsole: Enable sixel support.
|
|
+ WezTerm: Enable sixel support.
|
|
* Bug fixes:
|
|
+ #76 Smolscale uses too much stack space.
|
|
+ #81 Chafa --version is returned to stderr, not stdout.
|
|
+ [unfiled] Potential memory overrun when using Floyd-Steinberg dithering
|
|
in symbols mode.
|
|
+ [unfiled] iTerm2 compatibility issue with WezTerm and possi
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 1 10:08:10 UTC 2021 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.8.0:
|
|
* Added basic support for the Kitty and iTerm2 graphics protocols.
|
|
These are enabled automatically when corresponding terminal support
|
|
is detected, or manually with -f kitty or -f iterm.
|
|
* Implemented an 8-color mode, selectable with -c 8
|
|
* Implemented a foreground-only switch, --fg-only. This produces
|
|
character art using foreground colors only, and will avoid
|
|
modifying or resetting the background color. Looks best with
|
|
non-contiguous symbols (e.g. ascii).
|
|
* Added builtins for Japanese kana fullwidth symbols. These can
|
|
now be used without loading any external fonts (try -c none --symbols wide).
|
|
* Added builtins for legacy computer symbols (mainly wedges and
|
|
sextant blocks). These were widely used in PETSCII and Teletext,
|
|
and can be enabled using --symbols or --fill with their respective
|
|
tags: legacy, wedge and sextant (@hodefoting).
|
|
* Since there is a growing number of builtin symbols that may not
|
|
be available everywhere, the default selection has been restricted
|
|
to the widely supported block and border sets.
|
|
* If possible, we now select a visually blank character from the
|
|
specified symbol/fill sets instead of hardcoding ASCII space for
|
|
featureless cells. One practical upshot of this is that the constant-width
|
|
braille range can be used to produce consistent images even in contexts
|
|
with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
|
|
* Improved terminal size detection when used with pipelines and redirection.
|
|
This should now produce an image properly sized for your terminal:
|
|
curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
|
|
* ChafaCanvas gained API functions for programmatically getting and
|
|
setting character cell contents. These are used in a new example
|
|
in tests/ncurses.c demonstrating ncurses integration.
|
|
* Made --disable-rpath the default in order to simplify packaging.
|
|
* Added a HACKING file featuring a much needed release checklist.
|
|
* Improved terminal support:
|
|
+ Ctx will now use optimizing REP sequences at high -O levels.
|
|
+ foot now defaults to sixels.
|
|
+ iTerm2 now defaults to the iTerm2 protocol.
|
|
+ Kitty now defaults to the Kitty protocol.
|
|
+ st now defaults to truecolor symbols.
|
|
* Bug fixes:
|
|
+ #44 Missing error handling on stdout writes.
|
|
+ [unfiled] Solid symbols erroneously replaced by fill in FGBG mode.
|
|
+ [unfiled] Integer formatter was not using fast path for 8-bit values.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 7 18:30:46 UTC 2021 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.6.1:
|
|
* Add NOCONFIGURE variable to autogen.sh to skip configure
|
|
Bug fixes:
|
|
* #50 SIGBUS while loading huge GIFs
|
|
* #52 Produces small glitches in output with some images
|
|
* #54 Haiku port fails on 32bit
|
|
* [unfiled] Exclude RTL code points that could break the output.
|
|
* [unfiled] Apple Terminal lacks truecolor support, so make it
|
|
default to 256 colors
|
|
* [unfiled] Fix typo affecting middle dot symbol.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jan 15 08:39:16 UTC 2021 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.6.0:
|
|
* Added support for fullwidth symbols that take up two character
|
|
cells. These are common in East Asian scripts. Single-cell and
|
|
double-cell symbols can be mixed, and -f symbols mode will use
|
|
both if possible.
|
|
* New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous,
|
|
ugly, bad. "Ambiguous" symbols have uncertain widths and may
|
|
render poorly in some terminals. "Ugly" denotes symbols that
|
|
are unsuitable for Chafa's cell-based graphics (multicolor
|
|
emoji, ideographic descriptors, etc). "Bad" is a superset of
|
|
these two categories. Bad symbols are always excluded unless
|
|
explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols
|
|
+bad in the frontend).
|
|
* The font loader (--glyph-file option) now does a better job
|
|
with proportional fonts.
|
|
* Added options for controlling lossless optimization of output.
|
|
Currently, attribute reuse and character repetition (REP
|
|
sequence) are implemented.
|
|
* Added -O option to the frontend. This controls the optimization
|
|
level.
|
|
* Added a simple abstraction layer for terminal control sequences
|
|
(ChafaTermInfo and ChafaTermDb). This allows for improved
|
|
terminal support.
|
|
* FbTerm is now supported with TERM=fbterm in the environment.
|
|
* Bug fixes:
|
|
- #43 Fix signal handler.
|
|
- [unfiled] Crash when invalid font paths were passed on command line.
|
|
- [unfiled] Small typo in fontgen's READM).
|
|
- [unfiled] Bad contrast adjustment in images with transparency.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Apr 12 21:17:36 UTC 2020 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.4.1:
|
|
* Added configure option --disable-rpath. This allows packagers to
|
|
prevent the hard-coded library search path from being embedded in
|
|
the chafa command-line tool (Mo Zhou, #39).
|
|
* Added defaults for the yaft terminal.
|
|
Bug fixes:
|
|
* #40 - Fails to build on hurd-i386 + other i386 (reported by Mo
|
|
Zhou).
|
|
* [unfiled] - Rare failed assert with mostly transparent sixel image
|
|
(reported by Reddit user spryfigure).
|
|
* [unfiled] - Minor typo in function docstring.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 2 08:08:26 UTC 2020 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.4.0:
|
|
* Added sixel graphics support. Chafa will automatically produce sixels
|
|
if the connected terminal supports it. It can also be forced using the
|
|
new -f or --format flag. This is a new implementation written from the
|
|
ground up to maximize throughput.
|
|
* Added the --glyph-file option, which loads glyph-symbol mappings from
|
|
any file format supported by FreeType (TTF, PCF, etc). This allows for
|
|
custom font support and improved symbol selection.
|
|
* Added the --speed option specifying animation speed. It accepts a
|
|
unitless multiplier, a specific number of frames per second, or max
|
|
for maximum throughput.
|
|
* There are now two ways to assign colors to symbol cells. Formerly,
|
|
this was done based on the average color of the covered area. The new
|
|
default is to use the median color, which produces sharper edges,
|
|
but is slightly more prone to high-frequency noise. The new option
|
|
--color-extractor selects the method to employ.
|
|
* When displaying multiple files, the default delay between files has
|
|
been changed from three seconds to zero. Animations will still play
|
|
through once. This can be overridden on the chafa command line with -d
|
|
or --duration.
|
|
* Minor tweaks to built-in symbols.
|
|
Performance improvements:
|
|
* Halved pixel storage requirements from 64 bits to 32 bits,
|
|
resulting in significant memory savings.
|
|
* Now builds with -ffast-math, yielding a big speedup for DIN99d.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Mar 4 06:39:45 UTC 2020 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 1.2.2:
|
|
* Fix #34 Cannot compile example
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Aug 24 06:28:14 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
- Update descriptions.
|
|
- Avoid double-shipping documentation, and make docs noarch.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 20 07:23:02 UTC 2019 - mvetter@suse.com
|
|
|
|
- Update to 1.2.1:
|
|
* Detect kitty and mlterm virtual terminals and apply optimal
|
|
defaults accordingly
|
|
* Make Automake build more strict and fix a few compatibility nits
|
|
* Fix #30 - Failed to build on hurd-i386
|
|
* Fix crash on certain broken GIFs
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Aug 5 07:10:33 UTC 2019 - mvetter@suse.com
|
|
|
|
- Update to 1.2.0:
|
|
* Added --dither, --dither-grain and --dither-intensity options.
|
|
These allow for sub-cell dithering in quantized modes (none,
|
|
2, 16, 240 and 256). Especially beneficial when used with
|
|
-p off.
|
|
* Added API for ordered and diffusion-based dithering in quantization.
|
|
* Added API support for multiple 8bpc pixel modes: RGB, BGR, RGBA,
|
|
BGRA, ARGB, ABGR with either premultiplied or unassociated alpha channels.
|
|
* Smooth scaling is now done internally, meaning libchafa
|
|
consumers no longer need to prescale images.
|
|
* Implemented a machine learning tool that can generate custom
|
|
fonts for efficient image reproduction from a provided dataset.
|
|
This is left uninstalled since it's still experimental
|
|
* Throughput improvements:
|
|
+ GIF animations now start playing instantly.
|
|
+ GIF CPU overhead reduced by 75%, peak memory use down 95%-99% (!).
|
|
+ XWD common case CPU overhead down 60-70%, peak memory down 70%.
|
|
+ Additional halving of CPU overhead in 240- and 256-color modes.
|
|
+ Streamlined pixel pipeline for better parallelization.
|
|
* Installation instructions:
|
|
+ New: Guix (Guy Fleury Iteriteka).
|
|
+ New: openSUSE (@jubalh).
|
|
* Bug fixes:
|
|
+ [unfiled] Certain SVGs had transparency replaced with a white background (nemo).
|
|
+ [unfiled] -lm dependency belongs in libchafa, not frontend.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Feb 8 11:47:49 UTC 2019 - mvetter@suse.com
|
|
|
|
- Initial package chafa 1.0.1 for openSUSE
|