Skip to content

Releases: dankamongmen/notcurses

v1.7.5—no wife no whores no mustache

29 Sep 17:12
v1.7.5
20a49d0
Compare
Choose a tag to compare

v1.7.4—calm like a bomb

20 Sep 21:31
v1.7.4
f02263e
Compare
Choose a tag to compare

v1.7.3—made in america

20 Sep 01:27
v1.7.3
4459efa
Compare
Choose a tag to compare

Big API changes pursuant to committing to backwards-compatibility in the 2.0 release, which is likely coming before the end of September. Please consult NEWS.md.

v1.7.2—even better than the real thing

10 Sep 08:23
v1.7.2
bc097a5
Compare
Choose a tag to compare

v1.7.1—from the slums of shaolin

01 Sep 01:49
v1.7.1
70f062a
Compare
Choose a tag to compare

v1.7.0—don't pull the bang out unless you plan to bang

30 Aug 23:12
v1.7.0
64fe8f6
Compare
Choose a tag to compare

1.7.0 is the last major release before 2.0.0. It represents 143 closed issues, 634 commits, and almost exactly two months' development work. It was released one day ahead of schedule (original target: 2020-09-01). GNU libunistring is now necessary for building or linking Notcurses.

2020-08-30-220232_3434x857_scrot

Release Notes

  • Manipulation of the Linux kernel font tables to vastly improve appearance on the Linux console
    • This can be disabled with new option NCOPTION_NO_FONT_CHANGES to notcurses_init()
  • Significantly developed out the ncdirect mode:
    • Added ncdirect_flush()
    • Added ncdirect_getc(), ncdirect_getc_blocking(), ncdirect_inputready_fd() and ncdirect_getc_nblock()
    • ncdirect now puts the terminal into cbreak mode for immediate access to input
    • Added ncdirect_hline_interp() and ncdirect_vline_interp()
    • Added ncdirect_double_box(), ncdirect_rounded_box(), and the ridiculously flexible ncdirect_box()
  • Add new zoo demo
  • ncplane_puttext() now observes Unicode word/line breaks and preserves whitespace
  • EGCs are now inlined into cells whenever they encode to four UTF8 bytes are fewer, for significant perf/mem wins
    • cell_simple_p() has been removed, as it is no longer a meaningful concept
    • cell_egc_idx() is no longer exported (it was never meant for users)
  • channels_blend() is no longer exported (it was never meant for users)
  • NCOPTION_RETAIN_CURSOR has been removed
    • notcurses_cursor_enable() now accepts a coordinate to place the terminal cursor
  • ncreader now supports horizontal scrolling via NCREADER_OPTION_HORSCROLL
  • Convenience functions ncreader_move_{left, right, up, down}() and ncreader_write_egc() have been added
  • The egc member of ncreader_options is now const
  • Added ncplane_above() and notcurses_bottom() to match ncplane_below() and notcurses_top()
  • Rust wrappers have been significantly improved by @joseluis
  • New notcurses-direct-pydemo uses Python ncdirect wrappers
  • ncdirect now attempts to set the locale, ala regular notcurses
  • ncneofetch works in all tested terminal geometries
  • Several subtle bugs regarding interaction of wide glyphs with narrow glyphs on higher planes were fixed
  • Menu items can now be selected with the mouse. Add ncmenu_mouse_selection()
  • PageDown/PageUp now work on ncselector and ncmultiselector
  • Plots can now be titled
  • When the alternative screen is desired, but unavailable, clear the screen in notcurses_init()
  • ncselector can now have items added/removed at runtime
  • Channel coloring is no longer inverted on plots
  • notcurses-view now prints the active blitter in the summary bar
  • We now work properly on fbterm and vt100
  • Added ncplane_parent() and ncplane_parent_const()
  • We now support musl as an alternative libc
  • Planes can now be named, though these names are only used in notcurses_debug()
    • Added ncplane_new_named(), ncplane_bound_named(), and ncplane_aligned_named()
  • ncdirect_init() now takes a third uint64_t flags parameter. No flags have been defined as of yet.
  • New convenience functions ncplane_y() and ncplane_x()
  • ncreel_*() now call ncreel_redraw() themselves. Users only need call it when desiring a refresh of tablet data.
  • The tabletfxn used by ncreel for each nctablet has been greatly simplified.
  • Many elements of ncreel_options have been removed; they are taken from the containing ncplane
  • Many bug fixes in ncreel
  • Add cell_set_fg_palindex() and cell_set_bg_palindex()
  • Added ncplane_set_fchannel() and ncplane_set_bchannel()
  • Add iprefix() between bprefix() and qprefix()
  • ncplane_mergedown() has been generalized to accept arbitrary planes and subregions.
    • The old behavior and signature are available as ncplane_mergedown_simple()
  • Our CMake module has been renamed Notcurses from notcurses to better conform to CMake conventions
  • Added notcurses_lex_blitter(), notcurses_str_blitter(), and notcurses_str_scalemode()
  • Added notcurses_version_components()
  • Added notcurses_render_file() to dump last rendered frame to a FILE*

Make a business for yourself, boy, set some goals / Make a fat diamond out of dusty coals / Record number four, but we on a roll / Hold up, slow up, stop, "Control!" / Like Janet, Planet Stankonia's on ya / Moving like Floyd, comin' straight to Florida / Lock all your windows, then block the corridors / Pullin' off my belt 'cause a whipping's in order / Like a three-piece fish before I cut your daughter / Yo quiero Taco Bell, then I hit the border / Pity pat rappers trying to get to 5 / I'm a microphone fiend tryin' to stay alive / When you come to ATL, boy, you better not hide / 'Cause the Dungeon Family gon' ride, high!

v1.6.20—you kept me closer to god

30 Aug 05:25
v1.6.20
c93243f
Compare
Choose a tag to compare

v1.6.19—bitch, you have no future

27 Aug 16:43
v1.6.19
e92b7fd
Compare
Choose a tag to compare

among other things, fixes numerous subtle bugs on big-endian architectures resulting from EGC inlining.

v1.6.18—halfsharkalligatorhalfman

25 Aug 22:32
bd14d6d
Compare
Choose a tag to compare
python: drop experiment

v1.6.17—my fingers turn to fists

24 Aug 02:41
v1.6.17
c2b8610
Compare
Choose a tag to compare