github dankamongmen/notcurses v1.1.0
v1.1.0—all the hustlers they love it just to see one of us make it

latest releases: v3.0.11, v3.0.10, v3.10.0...
4 years ago

The 1.1.0 release closes 28 issues, along with many issues that were never recorded.

Bugfixes

  • We now decode all videos that reference ffmpeg wrappers (e.g. mpv) can decode, so far as I can tell. Before, we successfully decoded very few. #215
  • Correct presentation timings for videos. They were pretty much never accurate in 1.0.0. #159
  • Don't FPE fading in an empty plane #269
  • Properly handle a higher plane bisecting a wide glyph #260
  • Eliminate nasty cruft around transparent ncvisuals #276
  • Restore original palette on exit #285
  • Interrupt blocking getc with NCKEY_RESIZE #262
  • Fix segfault on startup in fbterm #252
  • Fix segfault when ncplane_putstr() is invoked off-plane
  • Fix average byte/time calculations in demo summary table
  • Instruction banner restored in notcurses-input #263

Perf, sweet perf

  • Painter's Algorithm was implemented, necessary for handling large numbers of planes #255. Thousands of planes are now perfectly usable. Before, we choked up with a few dozen.
  • term_esc_rgb() was noticed dominating perf profiles. Hand-optimization boosted FPS anywhere from 10% to 500% across demos. #277

Enhancements

  • man pages added for all functionality. html versions are also available.
  • notcurses-demo summary table improved a great deal
  • Implemented indexed-palette color when desired and supported #230
  • New demos jungle and fallin'.
    • jungle uses artwork of pixel legend Mark Ferrari with permission to demonstrate palette cycling, a very low-bandwidth animation technique #253
    • fallin' uses reflection to have the screen "fall apart" #267
  • ncvisual_stream() now accepts a duration scaling parameter
  • all fade functions now take a curry #284
  • plane pulsing added to the fading suite #163
  • notcurses-video now accepts -s to specify scaling type
  • notcurses-video now properly handles resize events
  • all demos and example code had notcurses_cursor_move_yx() etc. removed in favor of atomic move+update calls. demos in general were cleaned up a good deal.
  • Python wrappers seem to be working now? I'd love to get testers here #149

Don't miss a new notcurses release

NewReleases is sending notifications on new releases.