X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=announce.html.in;h=378f6f80b012306a993e9f59a3b37b69f380862e;hp=da9298a298deb6b14bedb468b8cb23c3d706b3da;hb=b86393354bb86154b7b860989e5ed8655611d30b;hpb=f86cbeb5f9bd96ab041d34039c35749a14965039;ds=sidebyside diff --git a/announce.html.in b/announce.html.in index da9298a2..378f6f80 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,8 +1,7 @@ - + + "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> Announcing ncurses @VERSION@ + -

Announcing ncurses @VERSION@

The ncurses (new curses) +

Announcing ncurses @VERSION@

+ +

Overview

+ +

The ncurses (new curses) library is a free software emulation of curses in System V - Release 4.0, and more. It uses terminfo format, supports pads and - color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses - enhancements over BSD curses. + Release 4.0 (SVr4), and more. It uses terminfo format, supports + pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SVr4-curses + enhancements over BSD curses. SVr4 curses became the basis of + X/Open Curses.

+ +

In mid-June 1995, the maintainer of 4.4BSD curses declared + that he considered 4.4BSD curses obsolete, and encouraged the + keepers of unix releases such as + BSD/OS, FreeBSD and NetBSD to switch over to ncurses.

+ +

Since 1995, ncurses has been + ported to many systems:

+ + + +

The distribution includes the library and support utilities, + including

+ + + +

Full manual pages are provided for the library and tools.

+ +

The ncurses distribution is + available at ncurses' homepage:

+ +
+

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

+
+ +

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

+ +
+

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

+
+ +

Release + Notes

+ +

These notes are for ncurses + @VERSION@, released January 27, 2018.

+ +

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

+ + + +

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

+ +

The release notes also mention some 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:

+ + + +

Other + improvements

+ +

These are new or revised features:

+ + + +

These were done to limit or ultimately deprecate features:

+ + + +

These are improvements to existing features:

+ + + +

These are corrections to existing features:

+ + + +

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:

+ + + +

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
+ +
+ +
+ +
+ icl6402
+ +
+ +
+ +
+ interix
+ +
+ +
+ +
+ linux
+ +
+ +
+ +
+ pccon entries
+ +
+ +
+ +
+ tmux
+ +
+ +
+ +
+ vt100
+ +
+ +
+ +
+ vte
+ +
+ +
+ +
+ xterm
+ +
+
+
-
  • change _nc_has_mouse to - has_mouse, reflect its use in C++ and Ada95.
  • +

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

    -
  • add is_pad and is_subwin - functions for opaque access to the WINDOW structure.
  • + -

    New features and improvements

    +

    Documentation

    -

    Library Improvements

    +

    As usual, this release

    -
  • improve performance of tigetstr, etc., by - using hashing code from tic.
  • +

    In particular,

    -
  • add WACS_xxx definitions to wide-character - configuration for thick- and double-lines.
  • + +
  • +

    The addch manual page has additional + information on + portability and differences from other + implementations.

    +
  • -

    Improvements to Programs

    +
  • +

    The discussion of color-pairs in the attributes + manual page is improved in its + history section.

    +
  • - -

    Terminal Database

    +

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

    + -

    Major bug fixes

    +

    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.

    + +

    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.

    + +

    Configuration options

    + +

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

    - +

    https://wiki.debian.org/Aptitude

    + -
  • other configure/build issues: +
    cdk
    - -
  • +
    +

    Curses Development Kit

    -
  • test programs: +

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

    +
  • - - - +
    +

    file-transfer utility

    -

    Features of Ncurses

    The ncurses package is fully - compatible with SVr4 (System V Release 4) curses: +

    https://www.ncftp.com/

    +
    - The ncurses package also has many useful extensions over - SVr4: +
    tin
    - +
    +

    newsreader, supporting color, MIME

    -

    State of the Package

    Numerous bugs present in earlier - versions have been fixed; the library is far more reliable than - it used to be. Bounds checking in many `dangerous' entry points - has been improved. The code is now type-safe according to gcc - -Wall. The library has been checked for malloc leaks and arena - corruption by the Purify memory-allocation tester. +

    http://www.tin.org/

    +
    -

    The ncurses code has been tested with a wide variety of - applications including (versions starting with those noted):

    +
    vifm
    -
    -
    cdk
    +
    +

    File manager with vi like keybindings

    -
    Curses Development Kit
    - http://invisible-island.net/cdk/
    +

    https://vifm.info/

    +
    +
    + - http://www.vexus.ca/products/CDK/ +

    as well as some that use ncurses for the terminfo support alone:

    -
    ded
    +
    +
    +
    minicom
    -
    directory-editor
    - http://invisible-island.net/ded/
    +
    +

    terminal emulator for serial modem connections

    -
    dialog
    +

    https://alioth.debian.org/projects/minicom/

    + -
    the underlying application used in Slackware's setup, and - the basis for similar applications on GNU/Linux.
    - http://invisible-island.net/dialog/
    +
    mosh
    -
    lynx
    +
    +

    a replacement for ssh.

    -
    the character-screen WWW browser
    - http://lynx.isc.org/release/
    +

    https://mosh.mit.edu/

    + -
    Midnight Commander
    +
    tack
    -
    file manager
    - http://www.midnight-commander.org/
    +
    +

    terminfo action checker

    -
    mutt
    +

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

    + -
    mail utility
    - http://www.mutt.org/
    +
    tmux
    -
    ncftp
    +
    +

    terminal multiplexor

    -
    file-transfer utility
    - http://www.ncftp.com/
    +

    https://github.com/tmux/tmux/wiki

    + -
    nvi
    +
    vile
    -
    New vi versions 1.50 are able to use ncurses versions 1.9.7 - and later.
    - https://sites.google.com/a/bostic.com/keithbostic/nvi
    -
    +
    +

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

    -
    pinfo
    +

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

    + +
    +
    -
    Lynx-like info browser. https://alioth.debian.org/projects/pinfo/
    +

    and finally, those which use only the termcap interface:

    -
    tin
    +
    +
    +
    emacs
    -
    newsreader, supporting color, MIME http://www.tin.org/
    -
    as well as some that use ncurses for the terminfo support - alone: +
    +

    text editor

    -
    -
    minicom
    +

    https://www.gnu.org/software/emacs/

    +
    -
    terminal emulator
    - http://alioth.debian.org/projects/minicom/
    +
    less
    -
    vile
    +
    +

    The most commonly used pager (a program that + displays text files).

    -
    vi-like-emacs
    - http://invisible-island.net/vile/
    - +

    http://www.greenwoodsoftware.com/less/

    + + +
    screen
    + +
    +

    terminal multiplexor

    + +

    https://www.gnu.org/software/screen/

    +
    + +
    vim
    + +
    +

    text editor

    -

    The ncurses distribution includes a selection of test programs - (including a few games).

    +

    https://www.vim.org/

    +
    + +
    -

    Who's Who and What's What

    Zeyd Ben-Halim started it from - a previous package pcurses, written by Pavel Curtis. Eric S. +

    Development + activities

    + +

    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 work is being done by + the form and menu libraries. Ongoing development work is done by Thomas Dickey. - Thomas Dickey acts as the maintainer for the Free Software - Foundation, which holds the copyright on ncurses. Contact the - current maintainers at bug-ncurses@gnu.org. + Thomas Dickey also acts as the maintainer for the Free Software + Foundation, which holds the copyright + on ncurses.

    + +

    Contact the current maintainers at

    + +
    + bug-ncurses@gnu.org +
    + +

    To join the ncurses mailing list, please write email to

    -

    To join the ncurses mailing list, please write email to - bug-ncurses-request@gnu.org containing the line:

    -
    -             subscribe <name>@<host.domain>
    -
    +
    + bug-ncurses-request@gnu.org +
    containing the line: + +
    +

    subscribe + <name>@<host.domain>

    +

    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 ftp://invisible-island.net/ncurses/ .

    +

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

    + +
    +

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

    +
    + +

    There is an archive of the mailing list here:

    + +
    +

    http://lists.gnu.org/archive/html/bug-ncurses + (also https)

    +
    -

    Future Plans

    +

    Related + resources

    + +

    The release notes make scattered references to these pages, + which may be interesting by themselves:

    -
  • Ports to more systems, including DOS and Windows.
  • - We need people to help with these projects. If you are - interested in working on them, please join the ncurses list. +

    Other + resources

    -

    Other Related Resources

    The distribution provides a newer - version of the terminfo-format terminal description file once - maintained by Eric +

    The distribution provides a newer version of the + terminfo-format terminal description file once maintained by + Eric Raymond . Unlike the older version, the termcap and - terminfo data are provided in the same file, and provides several - user-definable extensions beyond the X/Open specification. + terminfo data are provided in the same file, which also provides + several user-definable extensions beyond the X/Open + specification.

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

    + +