Skip to content

Releases: dankamongmen/notcurses

v1.3.4—me, myself, and my microphone

07 May 05:45
e2b6105
Compare
Choose a tag to compare
  • Addition of ncvisual_from_rgba(), ncvisual_from_bgra(), and ncvisual_from_plane() to create ncvisuals from buffers in memory or ncplanes. ncvisual_open_plane() was renamed to ncvisual_from_file(). The former has been retained as a (deprecated) alias.
  • ncvisual_rotate() has been added, accepting an arbitrary number of radians to rotate.
  • ncplane_at_yx()'s first argument is now const, as it always ought have been.
  • notcurses-view supports -k to inhibit the alternate screen, and ensures valid arguments to -s
  • Drop -fkeep-inline-functions so we cease exporting a bunch of C++ stdlib symbols
  • Many fixes to ncsubproc and ncfdplane

v1.3.3—if you smoke a dime, i'll smoke a dime

27 Apr 01:27
05753bd
Compare
Choose a tag to compare
  • Experimental support for OpenImageIO as a multimedia backend. FFmpeg remains recommended (video support in particular is spotty thus far with OIIO). This will be used on Fedora.
  • Floating-point (double) is supported for plots using the new ncdplot. ncplot has been renamed ncuplot for symmetry.

v1.3.2

19 Apr 06:24
1dad2c6
Compare
Choose a tag to compare
v1.3.2 -s

v1.3.1

18 Apr 07:08
9e28e14
Compare
Choose a tag to compare
v1.3.1

v1.3.0—hypnotize

12 Apr 02:02
v1.3.0
Compare
Choose a tag to compare

A little under two months, 350 commits, and 77 issues after 1.2.0, here comes Notcurses 1.3.0, with tons of bugfixes and new features. This release adds a number of "widgets"—fully-functional TUI elements you can pull off the shelf and into your application. In addition, the Notcurses book has been published and made available for purchase. It's Apache 2.0-licensed, just like Notcurses, so you can grab the unmodified PDF or even the XeLaTeX source if you prefer that to the paperback.

Distribution-wise, we're still waiting on the Debian FTPMasters to admit our submitted 1.2.1 into NEW. With the assistance of @dcantrell , we're primed to go into Fedora Core. Once we're in both of those, as far as I'm concerned, we're on track to be everywhere. The AUR package is of course kept up to date for my Arch folk. Debian Unstable, Ubuntu Focal, and Fedora 32 packages are available from DSSCAW.

Changes since 1.2.0

Packaging / compilation

  • Introduction of a Fedora specfile and preparation for RPM packaging (#465, #328)
  • New USE_TESTS CMake option, defaulting to on, used on Fedora (#450)
  • Fix Python module installation on Arch (#357, #462)
  • New USE_RUST and USE_NETWORK CMake options, both defaulting to off, for Rust (#101)
  • Install notcurses-pydemo (#359)
  • Arch binaries now look to the proper location for runtime data (#363)

New features

  • notcurses_stddim_yx() convenience function allows one to acquire stdplane and its geometry in one call (#365)
  • ncplane_putc_stainable() allows glyphs to be changed without changing color (#352)
  • ncplane_stain() allows colors to be changed without affecting glyphs (#347)
  • ncplane_format() allows attribute to be changed without affecting glyphs (#347)
  • notcurses_resize(), always a confusing function, has been removed from the public API (#367)
  • notcurses_refresh() now accepts two int* pointers in which geometry is returned. NULL is acceptable (#367)
  • Ctrl+L now invokes notcurses_refresh() in notcurses-demo (#379)
  • Mice can now drive ncselector and ncmultiselect widgets (#305)
  • Mice can now drive menu widget (#305)
  • Direct mode now has cursor movement functions (#382, #419)
  • Histograms have been added via the ncplot widget (#464, #457, #441, #445, #448, #447, #438, #439, #436, #136 )
  • notcurses-input now shows a histogram indicating events/sec (#430, #455)
  • Fix up notcurses-pydemo following static inline conversions (#459)
  • Planes other than the standard plane can now be enslaved to some other plane, so that when the parent is moved, the enslaved plane is also moved, and the enslaved plane moves relative to the master plane (#70)
  • notcurses-tetris has been added (#421)
  • ncplane_mergedown() has been added (#413, #417, #361)
  • ncvisual_render() was changed to allow a 0-size render (#422)
  • normal demo was added to do some basic fractal generation (#145)
  • Margins can now be applied to the rendering area (#293)
  • Direct mode can now enable/disable the cursor (#402)
  • High-resolution gradients (#398)
  • ncplane_rotate_cw() and ncplane_rotate_ccw() (#351)
  • notcurses-demo can now generate high-precision JSON summaries (#387)
  • Gradients now allow defaults in one of fore or background (#376)
  • Scrolling can be enabled on a per-plane basis. Currently this only means that output can continue from one line to the next. Actual scrolling will be implemented by 1.4.0 (#323, #443).

Bugfixes

  • Gradients with minimal variation are now drawn with full accuracy (#368)
  • notcurses-demo invoked with -d0 no longer goes into an infinite loop in the reel demo (#377)
  • Shitty weird glyph in upper left of uniblock demo has been purged (#259)
  • uniblock no longer has its walls disrupted by R2L glyphs (#183)
  • Scrolling arrows are properly placed in all known selector configurations (#388)
  • Fix horrible bug in ncplane_dup() (#429)
  • Fix unit tests when run outside of UTF8 locale (#428)
  • C++ no longer allows for multiple standard planes (#409)
  • ncplane_polyfill no longer enters an infinite recursion when fed a null EGC (#418)
  • Improve diagnostic when notcurses_init() is called without setlocale() (#414)
  • Fixed coredump on about 1% of geometries in fallin' demo (#407)
  • notcurses-refresh no longer samples the post-optimization raster buffer (#380)
  • Reset attributes manually in notcurses_init() and ncdirect_init() (#393)
  • Don't throw an uncaught exception on bad filename in notcurses-view (#378)
  • Gradients now set alpha values properly (#389)
  • Stop throwing exception on resize in reel demo (#390)
  • All user-supplied escapes are filtered for output (#375)
  • Fix valgrind warnings in menu PoC (#383)

v1.2.9—I don't play the guitar, I play my cadence

11 Apr 16:44
v1.2.9
24a9343
Compare
Choose a tag to compare

v1.2.8—she said she wasn't ready for the words of New Edition

10 Apr 20:22
Compare
Choose a tag to compare

v1.2.7—i won't deny it; i'm a straight ridah

10 Apr 16:48
v1.2.7
Compare
Choose a tag to compare

Final 1.2.x release. Merges notcurses-keyplot and notcurses-input functionality into one binary. Plots always fill in from the right now. Get pydemo working once more (when python modules are installed, which is not yet happening on Fedora). Build with USE_TESTS=off on Fedora.

v1.2.6—ever since i can remember i've been poppin' my collar

08 Apr 14:13
Compare
Choose a tag to compare

Ideally the last release prior to Milestone 1.3.0. We should get a Fedora build off of this.

v1.2.5—even when i say nothing, it's a beautiful use of negative space

04 Apr 23:30
v1.2.5
397deca
Compare
Choose a tag to compare