Skip to content

v2.3.12—drop a gem on 'em

Compare
Choose a tag to compare
@dankamongmen dankamongmen released this 29 Jul 04:55
· 2139 commits to master since this release
v2.3.12
1e248e4

I think this will be a pretty solid one. Did a lot of testing and bugfixing this week.

  • Fix crash/errors on Linux framebuffer graphics when they weren't multiples of the cell geometry (#1996)
  • Scrub Linux framebuffer so multiframe partially-transparent graphics don't combine.
  • Support Type-1 DVB bitmap subtitles with ffmpeg (#1311). ncplayer will now display them when pixel blitting is available, regardless of whether pixel blitting is being used for the main image. They're only available from the new function ncvisual_subtitle_plane(), which supersedes ncvisual_subtitle(). The latter is now deprecated, and will be removed in ABI3.
  • Fix a memory leak on frame decode when a container had subtitles. This leak has been present since ffmpeg support was added, i.e. pre-1.0.
  • Add ncvisual_from_palindex() to build ncvisuals from palette-indexed streams.
  • Add support for Kitty 0.22.0's self-referential composition, though disable it for now due to a presumed bug in Kitty (see kovidgoyal/kitty#3874). When enabled, this allows for much less memory usage/copying when using Kitty graphics #1900. I proposed it; see kovidgoyal/kitty#3809 for more details. Thanks @kovidgoyal for implementing it!
  • In CLI mode, always move to the bottom before attempting to scroll #1994. This fixes notcurses-info when launched close to, but not at, the bottom of the screen.
  • Propagate out the error when we abort in intro; it was always reporting FAILURE rather than ABORTED.
  • Handle arbitrary glyph widths #1873. wcwidth() doesn't report any widths greater than 2 currently, but it might in the future, and should we ever use mosaics, we'll need this.
  • Added static inline nccell_cols(), which is faster than nccell_width(), which has been deprecated and will be removed for ABI 3.
  • Implement wipes and restores in Linux framebuffer graphics #1954.
  • Many changes necessary for supporting Windows, which is coming very soon
  • Removed sigset_t from the API by deprecating notcurses_getc() and ncdirect_getc(). notcurses_get() and ncdirect_get() have been added, which do not take a sigset_t. There was much rejoicing.
  • We now run CI on macOS (#1933), thanks @michaelsbradleyjr !
  • ncplayer now passes a specified loglevel through to ncdirect_core_init() #1981
  • Get Linux framebuffer graphics working in direct mode #1959
  • Fix terrible bug where we returned error instead of special keys from input
  • Replace %ju + uintmax_t casts everywhere with PRIu64 from inttypes.h
  • We now deflate Kitty bitmaps, reducing bandwidth at the cost of some latency #1695
  • Fix NCVISUAL_ADD_ALPHA when restoring cells in Kitty graphics
  • Flush before deciding whether to use Synchronized Update mode, to get the true length
  • ncmenu now uses NCPLANE_OPTION_FIXED so it doesn't move on scrolling planes #1958
  • Recognize Terminology based off DA3
  • Invert DECSDM on foot 1.8.2+ (thanks @dknl!)
  • notcurses-demo now creates the HUD and FPS graph with NCPLANE_OPTION_FIXED, so they no longer scroll off the screen in the whiteout demo, heh

Enjoy!

laughin' at bassheads