X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fannounce.html;h=51433167009c0f15554f6c81a02ded012ae2b074;hb=88595a127ec2e56af0875eb04e0f2396d6d121c5;hp=45c0c1254da08efbeb9387bc6d29f1b57c5ed442;hpb=d66080c21038ad4feb2e41a0c4e517d5b4a03ab2;p=ncurses.git diff --git a/doc/html/announce.html b/doc/html/announce.html index 45c0c125..51433167 100644 --- a/doc/html/announce.html +++ b/doc/html/announce.html @@ -1,7 +1,7 @@ - - - Announcing ncurses 6.1 - + "HTML Tidy for HTML5 for Linux version 5.6.0"> + Announcing ncurses 6.4 + - -

Announcing ncurses 6.1

+

Announcing ncurses 6.4

Overview

@@ -81,7 +82,7 @@ p,li { max-width:700px; } (aside from some embedded applications).
  • It is used as the system curses library on OpenBSD, FreeBSD - and OSX.
  • + and MacOS.
  • It is used in environments such as Cygwin and MinGW. The first of these was EMX on OS/2 Warp.
  • @@ -99,38 +100,33 @@ p,li { max-width:700px; } including

    Full manual pages are provided for the library and tools.

    @@ -141,376 +137,105 @@ p,li { max-width:700px; }

    ftp://ftp.invisible-island.net/ncurses/ + "https://invisible-island.net/archives/ncurses/">https://invisible-island.net/archives/ncurses/ or
    https://invisible-mirror.net/archives/ncurses/ .

    -

    It is also available via anonymous FTP at the GNU distribution - site

    +

    It is also available at the GNU distribution site

    ftp://ftp.gnu.org/gnu/ncurses/ .

    + "https://ftp.gnu.org/gnu/ncurses/">https://ftp.gnu.org/gnu/ncurses/ .

    Release Notes

    These notes are for ncurses - 6.1, released January 27, 2018.

    + 6.4, released December 31, 2022.

    This release is designed to be source-compatible with - ncurses 5.0 through 6.0; providing + ncurses 5.0 through 6.3; providing extensions to the application binary interface (ABI). Although the source can still be configured to support the ncurses 5 ABI, the intent of the release is to - provide extensions to the ncurses - 6 ABI:

    - - + "main-name">ncurses 5 ABI, the reason for the release is + to reflect improvements to the ncurses 6 ABI and the supporting utility + programs.

    There are, of course, numerous other improvements, listed in this announcement.

    -

    The release notes also mention some bug-fixes, but are focused +

    The most important + bug-fixes/improvements dealt with robustness issues. The + release notes also mention some other bug-fixes, but are focused on new features and improvements to existing features since - ncurses 6.0 release.

    - -

    Library - improvements

    - -

    New - features

    - -

    The improved integration of tput and tset - made only small changes to the libraries. However, supporting - extended numeric capabilities required a few changes:

    - - - -

    The motivation for making this extension came from noticing - that - termcap applications could (though not - realistically) use larger numbers than would fit in 16-bits, - and the fact that the number of color pairs for a 256-color xterm - could not be expressed in terminfo (i.e., 32767 versus 65536). - Also, a few terminals support direct-colors, which could use the - extension.

    - -

    Generally speaking, applications that use internal details of - a library are unsupported. There was exactly one exception for - ncurses: the tack program used the internal - details of TERMINAL, because it provides an - ncurses-specific feature for interactively modifying a terminfo - description and writing the updated description to a text-file. - It was possible to not only separate tack from these internal - details of ncurses, but to - generalize it so that the program works with Unix curses - (omitting the ncurses-specific feature). That was released as - - tack 1.08 in July - 2017.

    - -

    While making changes to tack to - eliminate its dependency upon ncurses internals, the publicly-visible - details of those internals were reviewed, and some symbols were - moved to private header files, while others were marked - explicitly as ncurses internals. - Future releases of ncurses may - eliminate some of those symbols (such as those used by - tack 1.07) because they are - neither part of the API or the ABI.

    - -

    Using the TERMTYPE2 extended numeric - capabilities, it is possible to support both color pair values - and color values past 32767. Taking compatibility into account, - developers readily understand that neither function signatures - nor structure offsets change. Also, existing functions have to - operate with the extended numbers. Most of that work is internal - to the library. For the external interfaces, a hybrid approach - was used:

    - - - -

    Additionally, to improve performance other changes (and - extensions) are provided in this release:

    - - +

    There are no new features in this release.

    Other improvements

    -

    These are new or revised features:

    - - - -

    These were done to limit or ultimately deprecate features:

    - - -

    These are improvements to existing features:

    @@ -518,1828 +243,675 @@ p,li { max-width:700px; }

    Program improvements

    -

    While reviewing user feedback, it became apparent that the - differences between - reset (an alias for - tset) and “tput reset” were confusing:

    - - - -

    On further investigation, it turned out that the differences - were largely an accident due to the way those programs had - evolved.

    - -

    This release eliminates the unnecessary differences, using the - same approach for tput's - init (initialization), reset and clear - operations as the separate - reset and - clear programs. Doing this does not change the - command-line options; existing scripts are unaffected.

    - -

    These are the user-visible changes for the three programs - (tput, tset and clear):

    - - - -

    Other user-visible improvements and new features include:

    - - + -

    Other less-visible improvements and new features include:

    +
    tabs +
    - - -

    Several of the less apparent features deal with translation of - terminfo to termcap (and the reverse), with corresponding checks - by tic:

    - - - -

    Examples

    - -

    Along with the library and utilities, many improvements were - made to the ncurses-examples.

    - -

    These changes were made to demonstrate new extensions in - ncurses:

    - - - -

    There are other new example programs and a few scripts:

    - - - -

    A variety of improvements were made to existing programs, both - new features as well as options added to make the set of programs - more consistent.

    - -

    The ncurses program is the - largest; a proportionately large number of changes were made to - it:

    +

    Along with the library and utilities, improvements were made + to the ncurses-examples. Most of + this activity aimed at improving the test-packages:

    - -

    These changes were made to the other examples:

    - - - -

    Terminal - database

    - -

    There are several new terminal descriptions:

    - -
    -

    dumb-emacs-ansi, dvtm, - dvtm-256color, fbterm, - iterm2, linux-m1 minitel - entries, putty-noapp, viewdata, - and vt100+4bsd building-block.

    - -

    xterm+noalt, xterm+titlestack, - xterm+alt1049, xterm+alt+title - building blocks and xterm+direct, - xterm+indirect, xterm-direct. from - xterm - patch #331.

    - -

    several other “-direct” - descriptions to address the differences of other terminal - emulators versus xterm-direct.

    -
    - -

    There are many changes to existing terminal descriptions. Some - were updates to several descriptions:

    - - - -

    while others affected specific descriptions. These were - retested, to take into account new/undocumented changes by their - developers:

    - -
    -

    iterm, minitel, st, - viewdata, nsterm

    -
    - -

    while these are specific fixes based on user reports, or - warnings from tic:

    - -
    -
    - ansi building blocks
    - -
    - -
    - -
    - icl6402
    - -
    - -
    - -
    - interix
    - -
    - -
    - -
    - linux
    - -
    - -
    - -
    - pccon entries
    - -
    - -
    - -
    - tmux
    - -
    - -
    - -
    - vt100
    - -
    - -
    - -
    - vte
    - -
    - -
    - -
    - xterm
    - -
    - -
    -
    - -

    A few entries use extensions (user-defined terminal - capabilities):

    - - - -

    Documentation

    - -

    As usual, this release

    - - - -

    In particular,

    - - - -

    In addition to providing background information to explain - these features and show how they evolved, there are corrections, - clarifications, etc.:

    - - - -

    There are new manual pages:

    - - -

    Some of the improvements are more subtle, relating to the way - the information is presented:

    - - - -

    Interesting - bug-fixes

    - -

    Configuration changes

    +

    There are other new demo/test programs and reusable + examples:

    -

    Major - changes

    +
    +
    test/combine +
    -

    This release provides a new binary format for terminal - descriptions that use extended numeric capabilities. Applications - built with the wide-character ncursesw library can use - these extended numbers.

    +
    demonstrate combining characters
    - +
    demonstrate deleting a window
    -

    Other applications (i.e., using the 8-bit ncurses - library) which read the extended terminal descriptions see those - numeric capabilities set to the maximum value for a signed 16-bit - number.

    +
    test/test_mouse +
    -

    Older versions of ncurses' - tic accept out-of-range numeric - capabilities, storing those as the maximum value for a signed - 16-bit number. Other implementations of curses (mentioned in the - discussion of - picsmap) give zero for these - out-of-range capabilities.

    +
    observe mouse events in the raw terminal or parsed ncurses + modes
    -

    Configuration options

    +
    test/test_unget_wch +
    + +
    demonstrate the unget_wch and unget functions
    +
    + +

    Terminal database

    -

    These changes provide support for tack 1.08, released in - July 2017:

    +

    There are several new terminal descriptions:

    - -

    Other changes to the configure-script and generated files - include

    - -
  • -

    modify configure macro for shared-library rules to use - -Wl,-rpath rather than -rpath to - work around a bug in scons

    -
  • +

    There are many changes to existing terminal descriptions. Some + were updates to several descriptions:

    + +

    while others affected specific descriptions. These were + retested, to take into account changes by their developers:

    + + -

    Portability

    +

    while these are specific fixes based on reviewing + documentation, user reports, or warnings from tic:

    -

    Many of the portability changes are implemented via the - configure script:

    +
    +
    att610+cvis0 +
    + +
    amended note as per documentation for att610, att620, + att730
    + +
    kon, + kon2, jfbterm
    + +
    revise to undo "linux2.6" change to smacs/rmacs/enacs
    + +
    st-0.6 +
    + +
    add dim, ecma+strikeout
    + +
    foot+base +
    + +
    add xterm+sl-alt
    + +
    dec+sl +
    + +
    correct dsl in dec+sl
    + +
    mintty and + tmux
    + +
    correct setal in mintty/tmux entries, add to vte-2018
    + +
    nsterm +
    + +
    modify nsterm to use xterm+alt1049
    + +
    putty +
    + +
    modify putty to use xterm+alt1049
    + +
    vte-2018 +
    + +
    add blink and setal
    +
    + +

    A few entries use extensions (user-defined terminal + capabilities):

    + +

    Documentation

    + +

    As usual, this release

    + + +

    In addition to providing background information to explain + these features and show how they evolved, there are corrections, + clarifications, etc.:

    + + +

    There are no new manual pages (all of the manual page updates + are to existing pages).

    + +

    Interesting + bug-fixes

    + +

    While there were many bugs fixed during development of ncurses + 6.4, only a few (the reason for this release) were both important + and interesting. Most of the bug-fixes were for local issues + which did not affect compatibility across releases. Since those + are detailed in the NEWS file no elaboration is + needed here.

    + +

    The interesting bugs were those dealing with memory leaks and + buffer overflows. Although the utilities are designed for + text files (which they do properly), some choose to test + them with non-text files.

    + + + +

    Configuration changes

    + +

    Major + changes

    + +

    There are no major changes. No new options were added. Several + improvements were made to configure checks.

    + +

    Configuration options

    + +

    There are a few new/modified configure options:

    + +
    +
    --with-abi-version +
    + +
    +

    add ABI 7 defaults to configure script.

    +
    + +
    --with-caps +
    + +
    +

    add warning in configure script if file specified for + “--with-caps” does not exist.

    +
    + +
    --with-manpage-format +
    + +
    +

    bzip2 and xz compression are now supported

    +
    + +
    --with-xterm-kbs +
    + +
    +

    add check/warning in configure script if option + “--with-xterm-kbs” is missing or + inconsistent

    +
    +
    + +

    Portability

    + +

    Many of the portability changes are implemented via the + configure script:

    + + +

    Here are some of the other portability fixes:

    + + +

    Features of @@ -2412,7 +984,7 @@ p,li { max-width:700px; }

    The ncurses utilities have options to allow you to filter terminfo entries for use with less capable curses/terminfo versions such - as the HP/UX and AIX ports.

    + as the HP-UX and AIX ports.

    @@ -2423,10 +995,10 @@ p,li { max-width:700px; }
  • The API is 8-bit clean and base-level conformant with the X/OPEN curses specification, XSI curses (that is, it - implements all BASE level features, and most EXTENDED - features). It includes many function calls not supported - under SVr4 curses (but portability of all calls is documented - so you can use the SVr4 subset only).

    + implements all BASE level features, and most + EXTENDED features). It includes many function calls + not supported under SVr4 curses (but portability of all calls + is documented so you can use the SVr4 subset only).

  • @@ -2468,6 +1040,11 @@ p,li { max-width:700px; } than one control sequence to map to a given key code.

  • +
  • +

    Support for direct-color terminals, such as modern + xterm.

    +
  • +
  • Support for 256-color terminals, such as modern xterm.

  • @@ -2512,19 +1089,18 @@ p,li { max-width:700px; }
  • -

    The - tic/captoinfo - utility provided with ncurses - has the ability to translate many termcaps from the XENIX, - IBM and AT&T extension sets.

    +

    The tic/captoinfo utility + provided with ncurses has the + ability to translate many termcaps from the XENIX, IBM and + AT&T extension sets.

  • A BSD-like - tset utility is provided.

    + "https://invisible-island.net/ncurses/man/tset.1.html">tset utility is provided.

  • @@ -2553,24 +1129,25 @@ p,li { max-width:700px; }
  • The table-of-entries utility - toe makes it easy for users to see exactly what - terminal types are available on the system.

    + "https://invisible-island.net/ncurses/man/toe.1m.html">toe makes it easy for users to see + exactly what terminal types are available on the system.

  • The library meets the XSI requirement that every macro - entry point have a corresponding function which may be linked + entry point has a corresponding function which may be linked (and will be prototype-checked) if the macro definition is disabled with #undef.

  • Extensive documentation is provided (see the - Additional Reading section of the - ncurses FAQ for online documentation).

    + "https://invisible-island.net/ncurses/ncurses.faq.html#additional_reading">Additional + Reading section of the ncurses FAQ for online + documentation).

  • @@ -2587,7 +1164,8 @@ p,li { max-width:700px; }
    -
    aptitude
    +
    aptitude +

    FrontEnd to Apt, the debian package manager

    @@ -2596,37 +1174,38 @@ p,li { max-width:700px; } "https://wiki.debian.org/Aptitude">https://wiki.debian.org/Aptitude

    -
    cdk
    +
    cdk +

    Curses Development Kit

    -

    https://invisible-island.net/cdk/
    +

    https://invisible-island.net/cdk/

    -
    ded
    +
    ded +

    directory-editor

    -

    https://invisible-island.net/ded/

    +

    https://invisible-island.net/ded/

    -
    dialog
    +
    dialog +

    the underlying application used in Slackware's setup, and the basis for similar install/configure applications on many systems.

    -

    https://invisible-island.net/dialog/

    +

    https://invisible-island.net/dialog/

    -
    lynx
    +
    lynx +

    the text WWW browser

    @@ -2635,16 +1214,17 @@ p,li { max-width:700px; } "https://lynx.invisible-island.net/">https://lynx.invisible-island.net/

    -
    mutt
    +
    mutt +

    mail utility

    -

    http://www.mutt.org/

    +

    http://www.mutt.org/

    -
    ncftp
    +
    ncftp +

    file-transfer utility

    @@ -2653,17 +1233,20 @@ p,li { max-width:700px; } "https://www.ncftp.com/">https://www.ncftp.com/

    -
    nvi
    +
    nvi +

    New vi uses ncurses.

    https://sites.google.com/a/bostic.com/keithbostic/vi
    +

    -
    ranger
    +
    ranger +

    A console file manager with VI key bindings in @@ -2673,16 +1256,17 @@ p,li { max-width:700px; } "https://ranger.github.io/">https://ranger.github.io/

    -
    tin
    +
    tin +

    newsreader, supporting color, MIME

    -

    http://www.tin.org/

    +

    http://www.tin.org/

    -
    vifm
    +
    vifm +

    File manager with vi like keybindings

    @@ -2697,7 +1281,8 @@ p,li { max-width:700px; }
    -
    minicom
    +
    minicom +

    terminal emulator for serial modem connections

    @@ -2706,25 +1291,26 @@ p,li { max-width:700px; } "https://alioth.debian.org/projects/minicom/">https://alioth.debian.org/projects/minicom/

    -
    mosh
    +
    mosh +

    a replacement for ssh.

    -

    https://mosh.mit.edu/

    +

    https://mosh.org/

    -
    tack
    +
    tack +

    terminfo action checker

    -

    https://invisible-island.net/ncurses/tack.html

    +

    https://invisible-island.net/ncurses/tack.html

    -
    tmux
    +
    tmux +

    terminal multiplexor

    @@ -2733,14 +1319,14 @@ p,li { max-width:700px; } "https://github.com/tmux/tmux/wiki">https://github.com/tmux/tmux/wiki

    -
    vile
    +
    vile +
    -

    vi-like-emacs may be built to use the terminfo, termcap - or curses interfaces.

    +

    vi-like-emacs may be built to use the terminfo, + termcap or curses interfaces.

    -

    https://invisible-island.net/vile/

    +

    https://invisible-island.net/vile/

    @@ -2749,7 +1335,8 @@ p,li { max-width:700px; }
    -
    emacs
    +
    emacs +

    text editor

    @@ -2758,7 +1345,8 @@ p,li { max-width:700px; } "https://www.gnu.org/software/emacs/">https://www.gnu.org/software/emacs/

    -
    less
    +
    less +

    The most commonly used pager (a program that @@ -2768,7 +1356,8 @@ p,li { max-width:700px; } "http://www.greenwoodsoftware.com/less/">http://www.greenwoodsoftware.com/less/

    -
    screen
    +
    screen +

    terminal multiplexor

    @@ -2777,13 +1366,13 @@ p,li { max-width:700px; } "https://www.gnu.org/software/screen/">https://www.gnu.org/software/screen/

    -
    vim
    +
    vim +

    text editor

    -

    https://www.vim.org/

    +

    https://www.vim.org/

    @@ -2794,12 +1383,18 @@ p,li { max-width:700px; }

    Zeyd Ben-Halim started ncurses from a previous package pcurses, written by Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer wrote most of - the form and menu libraries. Ongoing development work is done by - Thomas Dickey. - Thomas Dickey also acts as the maintainer for the Free Software - Foundation, which holds the copyright - on ncurses.

    + the form and menu libraries.

    + +

    Ongoing development work is done by Thomas E. Dickey. Thomas + E. Dickey has acted as the maintainer for the Free Software + Foundation, which held a copyright on ncurses for + releases 4.2 through 6.1. Following the release of ncurses 6.1, + effective as of release 6.2, copyright for ncurses reverted to + Thomas E. Dickey (see the ncurses FAQ for + additional information).

    Contact the current maintainers at

    @@ -2812,8 +1407,8 @@ p,li { max-width:700px; }
    bug-ncurses-request@gnu.org -
    containing the line: - +
    + containing the line:

    subscribe <name>@<host.domain>

    @@ -2822,15 +1417,25 @@ p,li { max-width:700px; }

    This list is open to anyone interested in helping with the development and testing of this package.

    -

    Beta versions of ncurses and - patches to the current release are made available at

    +

    Beta versions of ncurses are + made available at

    ftp://ftp.invisible-island.net/ncurses/ + "https://invisible-island.net/archives/ncurses/current/">https://invisible-island.net/archives/ncurses/current/ and
    https://invisible-mirror.net/archives/ncurses/ .

    + "https://invisible-mirror.net/archives/ncurses/current/">https://invisible-mirror.net/archives/ncurses/current/ .

    +
    + +

    Patches to the current release are made available at

    + +
    +

    https://invisible-island.net/archives/ncurses/6.3/ + and
    + https://invisible-mirror.net/archives/ncurses/6.3/ .

    There is an archive of the mailing list here:

    @@ -2849,30 +1454,28 @@ p,li { max-width:700px; } which may be interesting by themselves:

    Other @@ -2889,7 +1492,10 @@ p,li { max-width:700px; }

    You can find lots of information on terminal-related topics not covered in the terminfo file at - Richard Shuford's archive .

    + Richard Shuford's archive . The collection of computer + manuals at bitsavers.org has also been + useful.