X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fannounce.html;h=a6040c45405fdc47ffff6d8db83adfc30d5fa11c;hb=ad14e224ecf8bc5e6faeffeecd44c3cfa31827e4;hp=45c0c1254da08efbeb9387bc6d29f1b57c5ed442;hpb=d66080c21038ad4feb2e41a0c4e517d5b4a03ab2;p=ncurses.git diff --git a/doc/html/announce.html b/doc/html/announce.html index 45c0c125..a6040c45 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.3 + - -

Announcing ncurses 6.1

+

Announcing ncurses 6.3

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.

    @@ -159,1440 +155,610 @@ p,li { max-width:700px; } Notes

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

    + 6.3, released October 21, 2021.

    This release is designed to be source-compatible with - ncurses 5.0 through 6.0; providing + ncurses 5.0 through 6.2; 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 portability 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.

    + ncurses 6.2 release.

    -

    Library - improvements

    +

    Library improvements

    -

    New - features

    +

    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:

    +

    There are a few new features:

    -
  • -

    When configured for wide-characters, i.e., - “ncursesw” the TERMINAL structure is - extended.

    - -

    The new data in TERMINAL holds the same - information as TERMTYPE, but with larger numbers - (“int” versus “short”). It is named - TERMTYPE2.

    +

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

    -

    The library uses this structure internally in preference - to TERMTYPE, referring to TERMTYPE - only to initialize it for applications that use the - capabilities defined in <term.h>

    + + +

    Other + improvements

    -
  • The updated application binary interface is 6.1.20171230 - (used for new versioned - symbols), although the interface changes were developed - several months previously.
  • +

    These are revised features:

    + + -

    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:

    +

    These were done to limit or ultimately deprecate features:

    -

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

    +

    These are improvements to existing features:

    - -

    Other - improvements

    -

    These are new or revised features:

    - - -
  • -

    add option to preserve leading whitespace in form - fields

    -
  • +

    These are corrections to existing features:

    + -

    These were done to limit or ultimately deprecate features:

    +

    Program + improvements

    - +

    Examples

    -

    These are corrections to existing features:

    +

    Along with the library and utilities, improvements were made + to the ncurses-examples. Most of + this activity aimed at improving the test-packages. A few changes + are more generally useful, e.g., for the main ncurses + test-program, and for analyzing traces using the + tracemunch script:

    -
  • -

    modify wattr_set and wattr_get - to return ERR if win-parameter is null, - as documented.

    -
  • +

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

    -
  • -

    correct order of initialization for traces in - use_env and use_tioctl versus first - _tracef calls.

    -
  • +
    +
    back_ground +
    -
  • -

    correct parameters for copywin call in - _nc_Synchronize_Attributes

    -
  • +
    to exercise the wide-character background functions.
    -
  • -

    flush the standard output in _nc_flush for - the case where SP is zero, e.g., when called via - putp. This fixes a scenario where - “tput flash” did not work after changes in - 20130112.

    -
  • +
    move_field +
    -
  • -

    amend internal use of tputs to consistently - use the number of lines affected, e.g., for insert/delete - character operations. While merging terminfo source early in - 1995, several descriptions used the - “*” proportional delay for these - operations, prompting a change in doupdate.

    -
  • +
    to demonstrate move_field, and a stub + for a corresponding demo of dup_field.
    -
  • -

    correct return-value of extended putwin.

    -
  • +
    test_tparm +
    -
  • -

    double-width multibyte characters were not counted - properly in winsnstr and - wins_nwstr.

    -
  • +
    for checking tparm changes.
    +
    -
  • -

    amend fix for _nc_ripoffline from 20091031 to - make test/ditto.c work in threaded - configuration.

    -
  • +

    Terminal database

    -
  • -

    modify _nc_viscbuf2 and - _tracecchar_t2 to trace wide-characters as a - whole rather than their multibyte equivalents.

    -
  • +

    There are several new terminal descriptions:

    -
  • -

    minor fix in wadd_wchnstr to ensure that each - cell has nonzero width.

    -
  • +
    +

    absolute, + att610+cvis, + foot, + foot-direct, + hp98550-color, + hpterm-color2, + hterm, + hterm-256color, + linux-s, + putty+keypad, + putty+screen, + putty-screen, + screen.linux-s, + scrt/securecrt, + tmux-direct, + vt220+cvis, + vt220+cvis8, + vt220+pcedit, + vt220+vtedit, + vt220-base, + vt52+keypad, + xterm+256color2, + xterm+88color2, + xterm-direct16, + xterm-direct256, + xterm+nofkeys, + and xterm+nopcfkeys.

    +
    -
  • -

    move PUTC_INIT calls next to - wcrtomb calls, to avoid carry-over of error - status when processing Unicode values which are not - mapped.

    -
  • +

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

    -
  • -

    add missing assignment in lib_getch.c to make - notimeout work

    -
  • + -

    Program - improvements

    +

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

    -

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

    +
    +

    kitty+common, + mlterm3, + ms-terminal

    +
    - +

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

    -

    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):

    +
    +
    aaa+dec, + aaa+rv
    - +
    linux3.0 +
    -

    Other user-visible improvements and new features include:

    +
    modify to reflect default mapping of shift-tab by kbd + 1.14
    - - -

    Other less-visible improvements and new features include:

    - - - -

    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:

    - - - -

    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
    - -
    -
      -
    • restored rmir/smir in - ansi+idc to better match original - ansiterm+idc, add alias - ansiterm
    • -
    -
    - -
    - icl6402
    - -
    -
      -
    • corrected missing comma-separator between string - capabilities in icl6402 and - m2-nam
    • -
    -
    - -
    - interix
    - -
    -
      -
    • updated using tack and - SFU with Windows 7 Ultimate.
    • - -
    • used ^? for kdch1
    • -
    -
    - -
    - linux
    - -
    -
      -
    • made linux3.0 entry the default - linux entry
    • - -
    • modify linux2.6 entry to improve - line-drawing so that the linux3.0 entry can be - used in non-UTF-8 mode
    • - -
    • omitted selection of ISO-8859-1 for G0 in enacs - capability from linux2.6 entry, to avoid conflict with the - user-defined mapping. The reset feature uses ISO-8859-1 in - any case.
    • - -
    • modify flash capability for linux - and wyse entries to put the delay between the - reverse/normal escapes rather than after
    • - -
    • modify linux-16color to not mask dim, - standout or reverse with the ncv capability
    • -
    -
    - -
    - pccon entries
    +
    correct cup
    -
    -
      -
    • fixed some inconsistencies in the - pccon* entries
    • +
      tmux +
      -
    • add bold to pccon+sgr+acs and - pccon-base
    • +
      change kbs to ^?
      -
    • add keys f12-f124 to pccon+keys
    • -
    -
    +
    vt220 +
    -
    - tmux
    - -
    -
      -
    • corrected sgr string, which used - screen's "standout" code rather than the - standard code.
    • - -
    • add settings corresponding to xterm-keys - option to reflect upcoming change to make that option - "on" by default
    • - -
    • uncanceled Ms
    • -
    -
    +
    use vt220+cvis
    - vt100
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt420_lrmm">vt420+lrmm + -
    -
      -
    • modify vt100 rs2 string to reset - vt52 mode and scrolling regions
    • +
      add smglp and smgrp
      -
    • corrected rs2 string for - vt100-nam
    • +
      vt420 +
      -
    • made minor fixes for vt100+4bsd, e.g., - delay in sgr for consistency
    • -
    -
    +
    use vt420+lrmm
    - vte
    - -
    -
      -
    • moved SGR 24 and 27 from vte-2014 to - vte-2012
    • + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-new">xterm-new + -
    • add a few capabilities fixed in recent VTE - development
    • -
    -
    +
    add nel
    - xterm
    - -
    -
      -
    • add rep to xterm-new, available - since - late 1996.
    • - -
    • modify xterm+256color and - xterm+256setaf to use correct number of color - pairs.
    • + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-vt52">xterm-vt52 + -
    • modify rs1 for xterm-16color, - xterm-88color and xterm-256color - to reset palette using oc string as in - linux entry.
    • - -
    • add rs1 capability to - xterm-256color
    • - -
    • add oc capability to - xterm+256color, allowing palette reset for - xterm
    • - -
    • add op to xterm+256setaf
    • - -
    • modify xterm-r5, xterm-r6 and - xterm-xf86-v32 to use xterm+kbs - to match - xterm #272, reflecting packager's changes
    • - -
    • used ANSI reply for u8 in - xterm-new, to reflect vt220-style responses - that could be returned.
    • - -
    • made xterm-pcolor sgr consistent - with other capabilities
    • -
    -
    +
    use vt52+keypad

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

    fills in overlooked descriptions of features which were - described in the NEWS - file but treated sketchily in manual pages.

    - - - -

    In particular,

    - - @@ -1696,231 +787,201 @@ p,li { max-width:700px; } these features and show how they evolved, there are corrections, clarifications, etc.:

    -

    -

    Portability

    +

    Portability

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

    -
  • -

    build-fixes for the Portland Group (PGI) compilers

    - - -
  • +

    Here are some of the other portability fixes:

    + +

    Features of @@ -2412,7 +1255,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 +1266,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 +1311,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 +1360,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 +1400,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 +1435,8 @@ p,li { max-width:700px; }
    -
    aptitude
    +
    aptitude +

    FrontEnd to Apt, the debian package manager

    @@ -2596,37 +1445,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 +1485,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 +1504,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 +1527,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 +1552,8 @@ p,li { max-width:700px; }
    -
    minicom
    +
    minicom +

    terminal emulator for serial modem connections

    @@ -2706,25 +1562,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 +1590,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 +1606,8 @@ p,li { max-width:700px; }
    -
    emacs
    +
    emacs +

    text editor

    @@ -2758,7 +1616,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 +1627,8 @@ p,li { max-width:700px; } "http://www.greenwoodsoftware.com/less/">http://www.greenwoodsoftware.com/less/

    -
    screen
    +
    screen +

    terminal multiplexor

    @@ -2777,13 +1637,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 +1654,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 +1678,8 @@ p,li { max-width:700px; }
    bug-ncurses-request@gnu.org -
    containing the line: - +
    + containing the line:

    subscribe <name>@<host.domain>

    @@ -2822,15 +1688,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/ + "ftp://ftp.invisible-island.net/ncurses/current/">ftp://ftp.invisible-island.net/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

    + +
    +

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

    There is an archive of the mailing list here:

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

    Other @@ -2889,7 +1763,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.