github dankamongmen/notcurses v1.7.0
v1.7.0—don't pull the bang out unless you plan to bang

latest releases: v3.0.9, v3.0.8, v3.0.7...
3 years ago

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!

Don't miss a new notcurses release

NewReleases is sending notifications on new releases.