X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fannounce.html;h=a6040c45405fdc47ffff6d8db83adfc30d5fa11c;hb=ad14e224ecf8bc5e6faeffeecd44c3cfa31827e4;hp=699372019b83dd9aa90813a67005764dff3828b5;hpb=7884aa084f9440fd964f14fe31853a5f85db5104;p=ncurses.git diff --git a/doc/html/announce.html b/doc/html/announce.html index 69937201..a6040c45 100644 --- a/doc/html/announce.html +++ b/doc/html/announce.html @@ -1,7 +1,7 @@ - - - Announcing ncurses 6.2 + "HTML Tidy for HTML5 for Linux version 5.6.0"> + Announcing ncurses 6.3 @@ -57,9 +55,8 @@ } - -

Announcing ncurses 6.2

+

Announcing ncurses 6.3

Overview

@@ -103,38 +100,33 @@ including

Full manual pages are provided for the library and tools.

@@ -163,10 +155,10 @@ Notes

These notes are for ncurses - 6.2, released February 12, 2020.

+ 6.3, released October 21, 2021.

This release is designed to be source-compatible with - ncurses 5.0 through 6.1; 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 reason for the release is @@ -178,47 +170,28 @@ this announcement.

The most important - bug-fixes/improvements dealt with user-defined capabilities - in terminal descriptions. The release notes also mention some - other bug-fixes, but are focused on new features and improvements - to existing features since ncurses - 6.1 release.

+ 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.2 release.

Library improvements

New features

-

There are several new features:

+

There are a few new features:

@@ -227,74 +200,16 @@ @@ -304,74 +219,35 @@

These are revised features:

These were done to limit or ultimately deprecate features:

@@ -379,102 +255,42 @@ @@ -482,38 +298,18 @@ @@ -524,169 +320,178 @@ utility programs:

-
clear +
tabs
-
infocmp +
tic
-
+
  • +

    add check for duplicate “use=” + clauses.

    +
  • -
    tic -
    +
  • +

    add check to report instances where tparm + would detect an error in an expression.

    +
  • -
    - -
    +
  • +

    improve format of output, to ensure that the messages + contain only printable text.

    +
  • -
    toe -
    +
  • +

    modify to eliminate unnecessary + “\” to escape + “:” in terminfo format.

    +
  • -
    -
    -
    tset +
    toe
    -
    tput +
    tput
    -
    -
    - -

    Several changes were made to the generated ncurses*config - scripts and the analogous “.pc” files to - reduce differences between the configurations they report:

    +
  • +

    modify to allow multiple commands per line.

    +
  • - +
  • +

    modify initialization to avoid opening + /dev/tty for cases other than + reset/init, e.g., for clear.

    +
  • + + +

    Examples

    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 + "https://invisible-island.net/ncurses/ncurses-examples.html">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:

    @@ -694,136 +499,131 @@ examples:

    -
    color_content -
    - -
    Demonstrate the color_content and - extended_color_content functions.
    - -
    demo_tabs -
    - -
    A simple demo of tabs in curses.
    - -
    dump_window -
    - -
    A portable curses screen-dump, used to compare ncurses - screen contents with Solaris.
    - -
    pair_content +
    back_ground
    -
    Demonstrate the pair_content and - extended_pair_content functions.
    +
    to exercise the wide-character background functions.
    -
    report_hashing +
    move_field
    -
    Check hash-tables used for terminfo and termcap names.
    +
    to demonstrate move_field, and a stub + for a corresponding demo of dup_field.
    -
    parse_rgb +
    test_tparm
    -
    Sample implementation of the ncurses RGB extension from - user_caps.5, - used in picsmap and savescreen programs.
    +
    for checking tparm changes.
    -

    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.

    - - -

    Terminal database

    There are several new terminal descriptions:

    -

    alacritty, domterm, kitty, - mintty, mintty-direct, ms-terminal, - n7900, nsterm-build309, - nsterm-direct, screen5, ti703, - ti707, ti703-w, ti707-w - vscode, vscode-direct, xterm-mono, - xterm.js

    +

    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.

    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:

    -

    terminator, st

    +

    kitty+common, + mlterm3, + ms-terminal

    while these are specific fixes based on reviewing @@ -832,156 +632,133 @@

    adds200:
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-aaa_dec">aaa+dec, + aaa+rv -
    - -
    +
    correct rmacs/smacs
    gnome-256color + "https://invisible-island.net/ncurses/terminfo.src.html#tic-aaa_rv">aaa+rv
    -
    - -
    +
    correct sgr
    interix + "https://invisible-island.net/ncurses/terminfo.src.html#tic-icl6404">icl6404
    -
    - -
    +
    correct csr
    + +
    kitty +
    + +
    use att610+cvis, xterm+tmux and ansi+enq
    linux-16color + "https://invisible-island.net/ncurses/terminfo.src.html#tic-konsole-base">konsole-base
    -
    - -
    +
    re-enable "bel"
    nsterm-256color:
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-linux2.6">linux2.6 + -
    - -
    +
    fix pound-sign mapping in acsc
    regent40:
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-linux3.0">linux3.0 + -
    - -
    +
    modify to reflect default mapping of shift-tab by kbd + 1.14
    regent60:
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-pccons">pccons + -
    - -
    +
    use vt100+fnkeys, add rep
    tvi950:
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-screen">screen + -
    - -
    +
    ti916 +
    -
    tvi955:
    +
    correct cup
    -
    - -
    +
    tmux +
    -
    vi200:
    +
    change kbs to ^?
    -
    - -
    +
    vt220 +
    + +
    use vt220+cvis
    wy50:
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt420_lrmm">vt420+lrmm + -
    - -
    +
    add smglp and smgrp
    + +
    vt420 +
    -
    wy50 and - wy60:
    +
    use vt420+lrmm
    -
    - -
    +
    xterm-new +
    + +
    add nel
    xterm+x11hilite:
    + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-vt52">xterm-vt52 + -
    - -
    +
    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.

    + described in the NEWS file + but treated sketchily in manual pages.

    @@ -1016,95 +792,67 @@

    Corrections:

    -
  • -

    Clarify in manual pages that - vwprintw and - vwscanw are obsolete.
    - They have not been part of X/Open Curses since 2007.

    -
  • -
  • New/improved history and portability sections:

    -
  • +
  • +

    improve documentation for + tparm and static/dynamic variables.

    +
  • -
  • -

    Improvements for user_caps.5:

    +
  • +

    add history note to curs_scanw.3x + for <stdarg.h> and <varargs.h>

    +
  • - @@ -1112,52 +860,66 @@

    Other improvements:

    @@ -1166,185 +928,63 @@ are to existing pages).

    Some of the improvements are more subtle, relating to the way - the information is presented. For instance, the generated - terminfo.5 file uses a different table layout, allowing it to use - space on wide terminals more effectively.

    + the information is presented. For instance, hyphenation is + suppressed in the HTML files generated from manual pages because + an upgrade to groff gave noticeably poorer results, + interfering with the process of creating links between the + resulting webpages.

    Interesting bug-fixes

    While there were many bugs fixed during development of ncurses - 6.2, only a few (the reason for this release) were both important + 6.3, 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.

    + are detailed in the NEWS file no elaboration is + needed here.

    -

    The interesting bugs were in tic/infocmp's handling of - user-defined capabilities. These were not recent bugs. Initially - it was a simple problem:

    +

    The interesting bugs were:

    - -

    For ncurses, the elapsed time to fix this bug was less than - three years. Someone reported a problem with the terminal - description a few weeks after releasing ncurses 6.1 (in tmux #1264), and - the terminal description was updated that week (ncurses patch - 20180224):

    - -
    -
    -20180224
    -        + modify _nc_resolve_uses2() to detect incompatible types when merging
    -          a "use=" clause of extended capabilities.  The problem was seen in a
    -          defective terminfo integrated from simpleterm sources in 20171111,
    -          compounded by repair in 20180121.
    -        + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD
    -
    -
    - -

    The larger part of that change added a check to prevent a - simple merge of terminal descriptions where the same user-defined - name was used with different types. But it raised some - questions:

    - - - -

    Since the correction to - terminfo.src could have been readily adopted by - packagers, there was nothing more to be done from ncurses' - standpoint on that part. But improving ncurses to prevent issues - like that is the reason for making a release.

    +

    improve tparm implementation of %P and + %g, more closely matching SVr4 terminfo. Those + denote static and dynamic variables in + terminfo expressions.

    -

    Nothing more (constructive) was mentioned with regard to - simpleterm. But a few problems were found in the handling of - user-defined capabilities:

    - - -

    Both of these issues dated from the original implementation of - user-defined capabilities. Fixing them does not change the - terminal database, but a older tic without the fixes - will not be able to handle terminfo sources which rely upon those - fixes. Starting in June 2019, the download link for the terminfo - source file was capped at that date. The development sources have - an up-to-date copy of the file, for people with a legitimate need - for it.

    - -

    The “-c” (check) option of tic - is not very useful if it cannot offer advice on parameters needed - for user-defined capabilities. The various Caps files - were reorganized to reduce redundancy, and in the common portion - (Caps-ncurses), - a registry of user-defined capabilities is provided for use by - tic. While users can still define their own custom - capabilities, tic will not offer any advice when their - parameters do not match.

    - -

    In ncurses 6.2, tic makes a special check to allow - any type for RGB, but its being able to do this relies - upon fixes made in the ncurses library in mid-2019.

    -

    Configuration changes

    @@ -1362,52 +1002,73 @@ diff --git a/st.info b/st.info

    There are a few new/modified configure options:

    -
    --with-config-suffix +
    --enable-fvisibility
    -

    helps work around a filename conflict with Debian packages - versus test-packages.

    +

    new configure option and check for gcc + -fvisibility=hidden feature

    -
    --with-ada-libname +
    --enable-leaks
    -

    allows one to rename the “AdaCurses” library - (at least one packager prefers a lowercase name).

    +

    corrected to allow turning leak-checking off later in a + set of options.

    -
    --with-fallbacks +
    --enable-stdnoreturn
    -

    now ensures there is a value, and adds the fallback - information to top-level Makefile summary.

    +

    new configure option makes the _Noreturn + keyword optional to ease transition.

    -
    --with-pcre2 +
    --disable-pkg-ldflags
    -

    check for pcre-posix library to help with MinGW port.

    +

    revised option also controls whether $LDFLAGS + from the build is provided in “-config” + and “.pc” files.

    -
    --with-tic-path and
    +
    --disable-root-access +
    + +
    +

    add configure option which tells ncurses to disallow most + file-opens by setuid processes.

    +
    + +
    --disable-wattr-macros +
    + +
    +

    changed default to help packagers who reuse wide ncursesw + header file with non-wide ncurses library.

    +
    -
    --with-infocmp-path +
    --with-pkg-config-libdir
    -

    help work around problems building fallback source using - pre-6.0 tic/infocmp.

    +

    revised option uses the actual search path from + pkg-config or pkgconf using the output from + --debug.

    -
    --with-versioned-syms +
    --with-ada-libname
    + --with-form-libname
    + --with-menu-libname
    + --with-panel-libname
    -

    option value can now be a relative pathname.

    +

    new several --with-xxx-libname options, + to help with pkgsrc

    @@ -1418,148 +1079,107 @@ diff --git a/st.info b/st.info -

    Allow for Cygwin's newlib when checking for the - _DEFAULT_SOURCE symbol.

    +

    Here are some of the other portability fixes:

    -

    MidnightBSD is now checked for the - _XOPEN_SOURCE-related definitions.

    + -

    Here are some of the other portability fixes:

    - - @@ -1635,7 +1255,7 @@ diff --git a/st.info b/st.info

    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.

    @@ -1646,10 +1266,10 @@ diff --git a/st.info b/st.info
  • 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).

  • @@ -1691,6 +1311,11 @@ diff --git a/st.info b/st.info 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.

  • @@ -1735,19 +1360,18 @@ diff --git a/st.info b/st.info
  • -

    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.

  • @@ -1776,24 +1400,25 @@ diff --git a/st.info b/st.info
  • 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).

  • @@ -1826,9 +1451,7 @@ diff --git a/st.info b/st.info

    Curses Development Kit

    -

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

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

    @@ -1838,8 +1461,7 @@ diff --git a/st.info b/st.info

    directory-editor

    -

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

    +

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

    dialog @@ -1850,8 +1472,7 @@ diff --git a/st.info b/st.info and the basis for similar install/configure applications on many systems.

    -

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

    +

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

    lynx @@ -1947,8 +1568,7 @@ diff --git a/st.info b/st.info

    a replacement for ssh.

    -

    https://mosh.mit.edu/

    +

    https://mosh.org/

    tack @@ -1957,8 +1577,7 @@ diff --git a/st.info b/st.info

    terminfo action checker

    -

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

    +

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

    tmux @@ -1978,8 +1597,7 @@ diff --git a/st.info b/st.info

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

    -

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

    +

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

    @@ -2041,13 +1659,13 @@ diff --git a/st.info b/st.info

    Ongoing development work is done by Thomas E. Dickey. Thomas E. Dickey has acted as the maintainer for the Free Software - Foundation, which holds 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).

    + 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

    @@ -2062,7 +1680,6 @@ diff --git a/st.info b/st.info "mailto:bug-ncurses-request@gnu.org">bug-ncurses-request@gnu.org containing the line: -

    subscribe <name>@<host.domain>

    @@ -2086,10 +1703,10 @@ diff --git a/st.info b/st.info

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

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

    There is an archive of the mailing list here:

    @@ -2108,30 +1725,28 @@ diff --git a/st.info b/st.info which may be interesting by themselves:

    Other @@ -2159,11 +1774,9 @@ diff --git a/st.info b/st.info
  • Release Notes -