1 Announcing ncurses 6.5 2 3Overview 4 5 The ncurses (new curses) library is a free software emulation of 6 curses in System V Release 4.0 (SVr4), and more. It uses terminfo 7 format, supports pads and color and multiple highlights and forms 8 characters and function-key mapping, and has all the other SVr4-curses 9 enhancements over BSD curses. SVr4 curses became the basis of X/Open 10 Curses. 11 12 In mid-June 1995, the maintainer of 4.4BSD curses declared that he 13 considered 4.4BSD curses obsolete, and encouraged the keepers of unix 14 releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses. 15 16 Since 1995, ncurses has been ported to many systems: 17 * It is used in almost every system based on the Linux kernel (aside 18 from some embedded applications). 19 * It is used as the system curses library on OpenBSD, FreeBSD and 20 MacOS. 21 * It is used in environments such as Cygwin and MinGW. The first of 22 these was EMX on OS/2 Warp. 23 * It is used (though usually not as the system curses) on all of the 24 vendor unix systems, e.g., AIX, HP-UX, IRIX64, SCO, Solaris, 25 Tru64. 26 * It should work readily on any ANSI/POSIX-conforming unix. 27 28 The distribution includes the library and support utilities, including 29 * captoinfo, a termcap conversion tool 30 * clear, utility for clearing the screen 31 * infocmp, the terminfo decompiler 32 * tabs, set tabs on a terminal 33 * tic, the terminfo compiler 34 * toe, list (table of) terminfo entries 35 * tput, utility for retrieving terminal capabilities in shell 36 scripts 37 * tset, to initialize the terminal 38 39 Full manual pages are provided for the library and tools. 40 41 The ncurses distribution is available at ncurses' homepage: 42 43 https://invisible-island.net/archives/ncurses/ or 44 https://invisible-mirror.net/archives/ncurses/ . 45 46 It is also available at the GNU distribution site 47 48 https://ftp.gnu.org/gnu/ncurses/ . 49 50Release Notes 51 52 These notes are for ncurses 6.5, released April 27, 2024. 53 54 This release is designed to be source-compatible with ncurses 5.0 55 through 6.4; providing extensions to the application binary interface 56 (ABI). Although the source can still be configured to support the 57 ncurses 5 ABI, the reason for the release is to reflect improvements 58 to the ncurses 6 ABI and the supporting utility programs. 59 60 There are, of course, numerous other improvements, listed in this 61 announcement. 62 63 The most important bug-fixes/improvements dealt with robustness 64 issues. The release notes also mention some other bug-fixes, but are 65 focused on new features and improvements to existing features since 66 ncurses 6.4 release. 67 68 Library improvements 69 70 New features 71 72 These are new features: 73 * The low-level terminfo and termcap interfaces are used both by the 74 higher-level curses library, as well as by many applications. 75 The functions which convert parameterized terminal capability 76 strings for output to the terminal (tiparm and tparm) analyze the 77 capability string to determine which parameters are strings (i.e., 78 addresses), versus numbers (not addresses). 79 The library's analysis of a capability string may differ from the 80 calling application's design if environment variables are used to 81 point to an invalid terminal database. This is a longstanding 82 problem with all implementations of terminfo, dating from the 83 early 1980s. 84 Two new functions address this problem: by providing a function 85 which allows the calling application to tell ncurses how many 86 string-parameters to expect: 87 + tiscan_s helps applications check formatting capabilities 88 that would be passed to tiparm_s. 89 + tiparm_s provides applications a way to tell ncurses what the 90 expected parameters are for a capability. 91 * The ncurses library supports a compile-time feature (enabled with 92 the configure --enable-check-size option) which simplifies 93 initialization with terminals which do not negotiate window 94 (screen) size. This is done in setupterm, by providing for using 95 ANSI cursor-position report (in user6/user7 terminfo capabilities) 96 to obtain the screen size if neither environment variables or 97 ioctl is used. 98 The ncurses test-program with options "-E -T" demonstrates this 99 feature. 100 * add functions to query tty-flags in SCREEN 101 102 This release drops compatibility with obsolete versions of tack, e.g., 103 pre-1.08 104 105 Other improvements 106 107 These are improvements to existing features: 108 * In addition to the new, safer function tiparm_s, ncurses adds 109 checks to make the older tiparm, tparm and tgoto functions safer: 110 + the terminfo functions tiparm and tparm ensure that the 111 capability string comes from the terminal description which 112 ncurses loads, rather than from random data which the 113 application happens to have. 114 + the tgoto function disallows capabilities which its analysis 115 shows will attempt to use string parameters. 116 + ncurses uses internal functions which correspond to tiparm, 117 and tgoto which ensure that the capability strings which are 118 passed to these functions come from the loaded terminal 119 description. 120 * improve check in lib_tparm.c, ensuring that a char* fits into a 121 TPARM_ARG 122 * modify _nc_syserr_abort to use _nc_env_access, rather than only 123 checking root uid 124 * improve thread lock in lib_trace.c 125 * modify flushinp to use file descriptors in SCREEN, rather than 126 from TERMINAL, and check if they are for a terminal, like SVr4 127 * modify mcprint to use file descriptor in SCREEN, for consistency 128 * modify internal function _nc_read_file_entry to show relevant 129 filename in warnings 130 * improve checks in internal function convert_string for corrupt 131 terminfo entry 132 * review/improve handling of out-of-memory conditions 133 * limit delays to 30 seconds, i.e., padding delays in terminfo, as 134 well as napms and delay_output functions 135 * fix reallocation loop for vsnprintf in _nc_sprintf_string by 136 copying the va_list variable 137 * modify delscreen to limit the windows which it creates to just 138 those associated with the screen 139 * modify endwin to return an error if it is called again without an 140 intervening screen update 141 * modify wenclose to handle pads 142 * eliminate use of PATH_MAX in lib_trace.c 143 * provide for any CCHARW_MAX greater than 1 144 145 These are corrections to existing features: 146 * correct loop termination condition in waddnstr and waddnwstr 147 * improve parsing in internal function _nc_msec_cost, allowing a 148 single decimal point 149 * amend parameter check for entire string versus specific length in 150 winsnstr and wins_nwstr to match Solaris; make similar correction 151 to wins_nwstr 152 * correct internal function wadd_wch_literal when adding a 153 non-spacing character to a double-width character 154 * correct definition of Charable macro for non-wide ncurses library 155 . 156 157 Program improvements 158 159 Several improvements were made to the utility programs. Some were done 160 to make the infocmp option "-u" option help refactor the terminal 161 database. 162 163 infocmp 164 165 + add limit checks for processing extended capabilities with 166 the "-u" option 167 + correct initial alignment of extended capabilities, so that 168 the "-u" option can be used for more than two terminal types 169 + modify "-u" option to not report cancels for strings which 170 were already cancelled in a use'd chunk. 171 + correct an assignment "-u" for detecting if a boolean is 172 unset in a base entry and set in a use'd chunk, i.e., if it 173 was cancelled. 174 175 tic 176 177 + correct limit-check when dumping tc/use clause via "-I" 178 + check return value of _nc_save_str, in special case where 179 extended capabilities are processed but the terminal 180 description was not initialized 181 + modify check for multiply defined aliases to report problems 182 within the current runtime rather than for conflicts with 183 pre-existing terminal descriptions. 184 + disallow using $TERMINFO or $HOME/.terminfo when "-o" option 185 is used 186 187 tput and tset 188 189 + add "-v" option to tput, to show warnings 190 + modify reset command to avoid altering clocal if the terminal 191 uses a modem 192 + modify reset feature to avoid 1-second sleep if running in a 193 pseudo-terminal 194 195 Examples 196 197 Along with the library and utilities, improvements were made to the 198 ncurses-examples: 199 * modify test_tparm to account for extended capabilities 200 * corrected mouse mask in test/testcurs.c 201 * modify test/clip_printw.c to optionally test non-wrapped updates 202 * modify test/test_mouse.c to use curses api for raw/noraw 203 * modify test/clip_printw.c to optionally test non-wrapped updates 204 205 There is one new demo/test programs: 206 207 test/test_endwin.c 208 This program shows the return-status from endwin with different 209 combinations of endwin (repeated), initscr, newterm. 210 211 Terminal database 212 213 There are several new terminal descriptions: 214 * ansi+apparrows 215 * contour 216 * linux+kbs for terminals which imitate xterm's behavior with Linux 217 * rio, rio-direct 218 * mostlike 219 * ms-vt100-16color, winconsole 220 * vt100+noapp, vt100+noapp+pc, xterm+app+pc, xterm+decedit from 221 xterm #389 222 * putty+cursor to reflect amending of modified cursor-keys in 2021 223 * wezterm 224 225 There are many changes to existing terminal descriptions. Some were 226 updates to several descriptions, using the infocmp "-u" option in a 227 script to determine which building-block entries could be used to 228 replace multiple capability settings (and trim redundant information). 229 230 Other changes include: 231 * document XF, kxIN and kxOUT 232 * add note on sun regarding wscons/cmdtool/shelltool 233 * remove DECCOLM+DECSCLM from foot 234 * add xterm+focus to foot+base 235 * add ecma+strikeout to putty 236 * use CSI 3J in vte-2017 237 * use oldxterm+sm+1006 in vte-2014 238 * modify xgterm to work around line-drawing bug 239 * add xterm focus mode 1004 to xterm+focus as fe/fd capabilities, 240 like vim. 241 * add xterm+focus to alacritty+common 242 * add XR/xr, to work with vim, and use RV/rv to denote DA2 and its 243 response 244 * add XF flag to xterm+focus so that termcap applications can be 245 aware of terminals which may support focus in/out 246 * use xterm+focus in xterm-p370 and tmux 247 * remove xterm+sm+1006 from tmux 248 * NetBSD-related fixes for x68k and wsvt25 249 250 Documentation 251 252 As usual, this release 253 * improves documentation by describing new features, 254 * attempts to improve the description of features which users have 255 found confusing 256 * fills in overlooked descriptions of features which were described 257 in the NEWS file but treated sketchily in manual pages. 258 259 In addition to providing background information to explain these 260 features and show how they evolved, there are corrections, 261 clarifications, etc.: 262 * Corrections: 263 + add assignment in CF_MAN_PAGES to fill in value for 264 TERMINFO_DIRS in ncurses, terminfo and tic manpages. 265 + clarify interaction of -R option versus -C, -I and -r in 266 infocmp manpage. 267 + correct manpage description of panel_hidden. 268 + improve manpage description for addch versus unctrl format 269 used for non-printable characters. 270 + improve manpages discussing file descriptors in low-level 271 functions. 272 + improve description of search rules for terminal descriptions 273 in terminfo manpage. 274 + modify dist.mk to avoid passing developer's comments in 275 manpages into the generated html documentation. 276 + modify test-package "ncurses6-doc" to use manpage-aliases, 277 which in turn required a change to the configure script to 278 factor in the extra-suffix option when deriving alias names. 279 * New/improved history and portability sections: 280 + add information about "ttycap", termcap's forerunner, to 281 tset.1 282 + document limitations of tparm, and error-returns in 283 curs_terminfo.3x 284 + document limitations of tgoto, and error-returns in 285 curs_termcap.3x 286 * Other improvements: 287 + This release has many changes to improve the formatting and 288 style of the manpages. 289 + Manpages now use consistent section-naming, page headers and 290 footers (including the modification date for each page). 291 + Table layout has been revised. 292 293 There are no new manual pages (all of the manual page updates are to 294 existing pages). 295 296 Interesting bug-fixes 297 298 The changes to tparm, tgoto which improve the design of the low-level 299 interfaces are interesting, but are not bug-fixes per se. 300 301 Configuration changes 302 303 Major changes 304 305 These are the major changes (aside from introducing tiparm_s): 306 * use wide-character (ncursesw) by default 307 * use opaque typedefs by default 308 309 However, most of the work on configure scripts was done to reduce 310 warnings within the configure script: 311 * intrusive warnings from GNU grep regarding fgrep and egrep 312 * fatal errors in compile-checks, arising from recent "Modern C" 313 efforts by some developers which caused longstanding configure 314 checks to fail. 315 After repairing the configure script, none of that activity 316 affected ncurses because stricter warnings are used routinely in 317 development. 318 319 Other improvements made to configure checks include 320 * use string-hacks in alloc_entry.c, alloc_type.c and hardscroll.c, 321 overlooked due to compiler changes in recent OpenBSD releases 322 * revise progs.priv.h to provide for NC_ISATTY reuse 323 * configure check for MB_LEN_MAX provides warning as needed 324 * trim a space after some "-R" options, fixing builds for 325 applications built using clang and ncurses on Solaris 326 * work around misconfiguration of MacPorts gcc13, which exposes 327 invalid definition of MB_LEN_MAX in gcc's fallback copy of 328 limits.h 329 * modified experimental Windows driver works with xterm mouse 330 protocol 331 332 Configuration options 333 334 There are a few new configure options: 335 336 --disable-setuid-environ 337 Compile with environment restriction, so certain environment 338 variables are not available when running via a setuid/setgid 339 application. These are (for example $TERMINFO) those that allow 340 the search path for the terminfo or termcap entry to be 341 customized. 342 343 A setuid/setgid application inherits its environment variables 344 from the current user, in contrast to sudo which may limit the 345 environment variables that ncurses uses. 346 347 --enable-check-size 348 Compile-in feature to detect screensize for terminals which do 349 not advertise their screensize, e.g., serial terminals. 350 351 --with-abi-altered=NUM 352 Override the displayed (rather than compiled-in) ABI. Only 353 packagers who have created configurations where the ABI differs 354 from ncurses should be interested in this option. 355 356 --with-strip-program=XXX 357 When stripping executables during install, use the specified 358 program rather than "strip" overriding program chosen by the 359 install program for stripping executables. 360 361 These configure options are modified: 362 363 --with-pkg-config-libdir[=DIR] 364 The optional DIR parameter can now be "auto" to automatically 365 use pkg-config's library directory. 366 367 The default is $(libdir). 368 369 --with-xterm-kbs[=XXX] 370 The default is "auto" which tells the configure script to 371 choose BS or DEL according to platform defaults. 372 373 Portability 374 375 Many of the portability changes are implemented via the configure 376 script: 377 * add/use configure check for clock_gettime, to supersede 378 gettimeofday. 379 * modify configure script check for pkg-config library directory to 380 take into account an older version 0.15.0 which used 381 PKG_CONFIG_PATH but not PKG_CONFIG_LIBDIR 382 * allow for MinGW32-/64-bit configurations to use _DEFAULT_SOURCE 383 * modify CF_XOPEN_SOURCE macro's amend default case to avoid 384 undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined 385 * updated configure script macro CF_XOPEN_SOURCE, for uClibc-ng 386 * modify version-check for gcc/g++, now works for msys2 387 * build-fixes related to configure-options and/or platform: 388 + fix for --enable-fvisibility 389 + fix for unusual values of --with-rel-version 390 + fix for unusual values of --with-abi-version 391 + fix for --disable-tcap-names 392 + fix for termcap in nc_access.h 393 * other configure-script improvements: 394 + recent msys2 headers work with _DEFAULT_SOURCE; amend check 395 + use $ac_includes_default in most cases where stdlib.h should 396 work 397 + use #error consistently vs "make an error" 398 + add configure macro for gettimeofday vs inline check 399 400 Here are some of the other portability fixes: 401 * modify configure scripts/makefiles to omit KEY_RESIZE if the 402 corresponding SIGWINCH feature is disabled 403 * increase MB_CUR_MAX to 16, matching glibc's MB_LEN_MAX 404 * add BSD erase2 to characters handled by tset/reset 405 * use getauxval when available, to improve setuid/setgid checks 406 * set dwShareMode in calls to CreateConsoleScreenBuffer 407 * use CreateFile with "CONIN$", "CONOUT$" rather than GetStdHandle 408 to obtain a handle on the actual console, avoiding redirection in 409 the MinGW/Win32 configurations 410 * modify MinGW driver to return KEY_BACKSPACE when an unmodified 411 VK_BACK virtual key is entered 412 * modify MinGW configuration to provide for running in MSYS/MSYS2 413 shells, assuming ConPTY support 414 _________________________________________________________________ 415 416Features of ncurses 417 418 The ncurses package is fully upward-compatible with SVr4 (System V 419 Release 4) curses: 420 * All of the SVr4 calls have been implemented (and are documented). 421 * ncurses supports the features of SVr4 curses including keyboard 422 mapping, color, form drawing with ACS characters, and automatic 423 recognition of keypad and function keys. 424 * ncurses provides work-alike replacements of SVr4 supplemental 425 libraries based on curses, but which were not specified by X/Open 426 Curses: 427 + the panel library, supporting a stack of windows with backing 428 store 429 + the menu library, supporting a uniform but flexible interface 430 for menu programming 431 + the form library, supporting data collection through 432 on-screen forms 433 * ncurses's terminal database is fully compatible with that used by 434 SVr4 curses. 435 + ncurses supports user-defined capabilities that it can see, 436 but which are hidden from SVr4 curses applications using the 437 same terminal database. 438 + It can be optionally configured to match the format used in 439 related systems such as AIX and Tru64. 440 + Alternatively, ncurses can be configured to use hashed 441 databases rather than the directory of files used by SVr4 442 curses. 443 * The ncurses utilities have options to allow you to filter terminfo 444 entries for use with less capable curses/terminfo versions such as 445 the HP-UX and AIX ports. 446 447 The ncurses package also has many useful extensions over SVr4: 448 * The API is 8-bit clean and base-level conformant with the X/Open 449 Curses specification, XSI curses (that is, it implements all BASE 450 level features, and almost all EXTENDED features). It includes 451 many function calls not supported under SVr4 curses (but 452 portability of all calls is documented so you can use the SVr4 453 subset only). 454 * Unlike SVr3 curses, ncurses can write to the rightmost-bottommost 455 corner of the screen if your terminal has an insert-character 456 capability. 457 * Ada95 and C++ bindings. 458 * Support for mouse event reporting with X Window xterm and FreeBSD 459 and OS/2 console windows. 460 * Extended mouse support via Alessandro Rubini's gpm package. 461 * The function wresize allows you to resize windows, preserving 462 their data. 463 * The function use_default_colors allows you to use the terminal's 464 default colors for the default color pair, achieving the effect of 465 transparent colors. 466 * The functions keyok and define_key allow you to better control the 467 use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by 468 defining more than one control sequence to map to a given key 469 code. 470 * Support for direct-color terminals, such as modern xterm. 471 * Support for 256-color terminals, such as modern xterm. 472 * Support for 16-color terminals, such as aixterm and modern xterm. 473 * Better cursor-movement optimization. The package now features a 474 cursor-local-movement computation more efficient than either BSD's 475 or System V's. 476 * Super hardware scrolling support. The screen-update code 477 incorporates a novel, simple, and cheap algorithm that enables it 478 to make optimal use of hardware scrolling, line-insertion, and 479 line-deletion for screen-line movements. This algorithm is more 480 powerful than the 4.4BSD curses quickch routine. 481 * Real support for terminals with the magic-cookie glitch. The 482 screen-update code will refrain from drawing a highlight if the 483 magic- cookie unattributed spaces required just before the 484 beginning and after the end would step on a non-space character. 485 It will automatically shift highlight boundaries when doing so 486 would make it possible to draw the highlight without changing the 487 visual appearance of the screen. 488 * It is possible to generate the library with a list of pre-loaded 489 fallback entries linked to it so that it can serve those terminal 490 types even when no terminfo tree or termcap file is accessible 491 (this may be useful for support of screen-oriented programs that 492 must run in single-user mode). 493 * The tic/captoinfo utility provided with ncurses has the ability to 494 translate many termcaps from the XENIX, IBM and AT&T extension 495 sets. 496 * A BSD-like tset utility is provided. 497 * The ncurses library and utilities will automatically read terminfo 498 entries from $HOME/.terminfo if it exists, and compile to that 499 directory if it exists and the user has no write access to the 500 system directory. This feature makes it easier for users to have 501 personal terminfo entries without giving up access to the system 502 terminfo directory. 503 * You may specify a path of directories to search for compiled 504 descriptions with the environment variable TERMINFO_DIRS (this 505 generalizes the feature provided by TERMINFO under stock System 506 V.) 507 * In terminfo source files, use capabilities may refer not just to 508 other entries in the same source file (as in System V) but also to 509 compiled entries in either the system terminfo directory or the 510 user's $HOME/.terminfo directory. 511 * The table-of-entries utility toe makes it easy for users to see 512 exactly what terminal types are available on the system. 513 * X/Open Curses permits most functions it specifies to be made 514 available as macros as well. ncurses does this 515 + to improve performance, e.g., for operations composed of 516 simpler functions such as cursor movement following by adding 517 text to the screen, 518 + to simplify the implementation by reusing functions which use 519 common parameters, e.g., the standard screen stdscr, and 520 + to provide functions that return values via their parameters 521 Except for the last case, ncurses provides a non-macro 522 implementation of the function. If the macro definition is 523 disabled with #undef, or by defining NCURSES_NOMACROS the function 524 may be linked (and its calls will be checked against the 525 prototype). 526 * Extensive documentation is provided (see the Additional Reading 527 section of the ncurses FAQ for online documentation). 528 529Applications using ncurses 530 531 The ncurses distribution includes a selection of test programs 532 (including a few games). These are available separately as 533 ncurses-examples 534 535 The ncurses library has been tested with a wide variety of 536 applications including: 537 538 aptitude 539 FrontEnd to Apt, the debian package manager 540 541 https://wiki.debian.org/Aptitude 542 543 cdk 544 Curses Development Kit 545 546 https://invisible-island.net/cdk/ 547 548 ded 549 directory-editor 550 551 https://invisible-island.net/ded/ 552 553 dialog 554 the underlying application used in Slackware's setup, and the 555 basis for similar install/configure applications on many 556 systems. 557 558 https://invisible-island.net/dialog/ 559 560 lynx 561 the text WWW browser 562 563 https://lynx.invisible-island.net/ 564 565 mutt 566 mail utility 567 568 http://www.mutt.org/ 569 570 ncftp 571 file-transfer utility 572 573 https://www.ncftp.com/ 574 575 nvi 576 New vi uses ncurses. 577 578 https://sites.google.com/a/bostic.com/keithbostic/the-berkeley- 579 vi-editor-home-page 580 581 ranger 582 A console file manager with VI key bindings in Python. 583 584 https://ranger.github.io/ 585 586 tin 587 newsreader, supporting color, MIME 588 589 http://www.tin.org/ 590 591 vifm 592 File manager with vi like keybindings 593 594 https://vifm.info/ 595 596 as well as some that use ncurses for the terminfo support alone: 597 598 minicom 599 terminal emulator for serial modem connections 600 601 https://salsa.debian.org/minicom-team/minicom 602 603 mosh 604 a replacement for ssh. 605 606 https://mosh.org/ 607 608 tack 609 terminfo action checker 610 611 https://invisible-island.net/ncurses/tack.html 612 613 tmux 614 terminal multiplexor 615 616 https://github.com/tmux/tmux/wiki 617 618 vile 619 vi-like-emacs may be built to use the terminfo, termcap or 620 curses interfaces. 621 622 https://invisible-island.net/vile/ 623 624 and finally, those which use only the termcap interface: 625 626 emacs 627 text editor 628 629 https://www.gnu.org/software/emacs/ 630 631 less 632 The most commonly used pager (a program that displays text 633 files). 634 635 http://www.greenwoodsoftware.com/less/ 636 637 screen 638 terminal multiplexor 639 640 https://www.gnu.org/software/screen/ 641 642 vim 643 text editor 644 645 https://www.vim.org/ 646 647Development activities 648 649 Zeyd Ben-Halim started ncurses from a previous package pcurses, 650 written by Pavel Curtis. Eric S. Raymond continued development. 651 Juergen Pfeifer wrote most of the form and menu libraries. 652 653 Ongoing development work is done by Thomas E. Dickey. Thomas E. Dickey 654 has acted as the maintainer for the Free Software Foundation, which 655 held a copyright on ncurses for releases 4.2 through 6.1. Following 656 the release of ncurses 6.1, effective as of release 6.2, copyright for 657 ncurses reverted to Thomas E. Dickey (see the ncurses FAQ for 658 additional information). 659 660 Contact the current maintainers at 661 662 bug-ncurses@gnu.org 663 664 To join the ncurses mailing list, please write email to 665 666 bug-ncurses-request@gnu.org 667 668 containing the line: 669 670 subscribe <name>@<host.domain> 671 672 This list is open to anyone interested in helping with the development 673 and testing of this package. 674 675 Beta versions of ncurses are made available at 676 677 https://invisible-island.net/archives/ncurses/current/ and 678 https://invisible-mirror.net/archives/ncurses/current/ . 679 680 Patches to the current release are made available at 681 682 https://invisible-island.net/archives/ncurses/6.4/ and 683 https://invisible-mirror.net/archives/ncurses/6.4/ . 684 685 There is an archive of the mailing list here: 686 687 https://lists.gnu.org/archive/html/bug-ncurses . 688 689Related resources 690 691 The release notes make scattered references to these pages, which may 692 be interesting by themselves: 693 * ncurses licensing 694 * Symbol versioning in ncurses 695 * Comments on ncurses versus slang (S-Lang) 696 * Comments on OpenBSD 697 * tack - terminfo action checker 698 * tctest - termcap library checker 699 * Terminal Database 700 701Other resources 702 703 The distribution provides a newer version of the terminfo-format 704 terminal description file once maintained by Eric Raymond . Unlike the 705 older version, the termcap and terminfo data are provided in the same 706 file, which also provides several user-definable extensions beyond the 707 X/Open Curses specification. 708 709 You can find lots of information on terminal-related topics not 710 covered in the terminfo file in Richard Shuford's archive (original). 711 The collection of computer manuals at bitsavers.org has also been 712 useful. 713 714 * Overview 715 * Release Notes 716 + Library improvements 717 o New features 718 o Other improvements 719 + Program improvements 720 o Utilities 721 o Examples 722 + Terminal database 723 + Documentation 724 + Interesting bug-fixes 725 + Configuration changes 726 o Major changes 727 o Configuration options 728 + Portability 729 * Features of ncurses 730 * Applications using ncurses 731 * Development activities 732 * Related resources 733 * Other resources 734