X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fannounce.html;h=070f504146a5d7f1da647435759e515deed40981;hp=36e61ba7448bb86862bb147b4167edcd20dc36e2;hb=c0f109a299a82a33c16bd7af942a12ce9aefaaf0;hpb=96d6b16de0d487e5d3aed0302a179dbce11b5d96;ds=sidebyside diff --git a/doc/html/announce.html b/doc/html/announce.html index 36e61ba7..070f5041 100644 --- a/doc/html/announce.html +++ b/doc/html/announce.html @@ -1,8 +1,7 @@ - - - -Announcing ncurses 5.7 - - - - - -

Announcing ncurses 5.7

- -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.

- -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.

- -The ncurses code was developed under GNU/Linux. -It has been in use for some time with OpenBSD as the system curses library, -and on FreeBSD and NetBSD as an external package. -It should port easily to any ANSI/POSIX-conforming UNIX. -It has even been ported to OS/2 Warp!

- -The distribution includes the library and support utilities, including a -terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1), -and a termcap conversion tool captoinfo(1). Full manual pages are provided for -the library and tools.

- -The ncurses distribution is available via anonymous FTP at -the GNU distribution site -ftp://ftp.gnu.org/gnu/ncurses/ . -
It is also available at -ftp://invisible-island.net/ncurses/ . - -

Release Notes

- -This release is designed to be upward compatible from ncurses 5.0 through 5.6; -very few applications will require recompilation, depending on the platform. -These are the highlights from the change-log since ncurses 5.6 release. -

-Interface changes: -

-New features and improvements: - -Major bug fixes: - - -Portability: - - -

Features of Ncurses

- -The ncurses package is fully compatible with SVr4 (System V Release 4) curses: - - - -The ncurses package also has many useful extensions over SVr4: - - - -

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.

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

-
cdk -
Curses Development Kit -
-http://invisible-island.net/cdk/ -
-http://www.vexus.ca/products/CDK/ -
ded -
directory-editor -
-http://invisible-island.net/ded/ -
dialog -
the underlying application used in Slackware's setup, and the basis -for similar applications on GNU/Linux. -
-http://invisible-island.net/dialog/ -
lynx -
the character-screen WWW browser -
-http://lynx.isc.org/release/ -
Midnight Commander -
file manager -
-http://www.ibiblio.org/mc/ -
mutt -
mail utility -
-http://www.mutt.org/ -
ncftp -
file-transfer utility -
-http://www.ncftp.com/ -
nvi -
New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. -
-http://www.bostic.com/vi/ -
-
pinfo -
Lynx-like info browser. -https://alioth.debian.org/projects/pinfo/ -
tin -
newsreader, supporting color, MIME -http://www.tin.org/ -
-as well as some that use ncurses for the terminfo support alone: -
-
minicom -
terminal emulator -
- -http://alioth.debian.org/projects/minicom/ -
vile -
vi-like-emacs -
-http://invisible-island.net/vile/ -
-

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

Who's Who and What's What

- -Zeyd Ben-Halim -started it 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 -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. -

- -To join the ncurses mailing list, please write email to -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/ . - -

Future Plans

- -We need people to help with these projects. If you are interested in working -on them, please join the ncurses list. - -

Other Related Resources

- -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.

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

Announcing ncurses 6.2

+ +

Overview

+ +

The ncurses (new curses) + library is a free software emulation of curses in System V + 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 + 6.2, released February 12, 2020.

+ +

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

+ +

Library improvements

+ +

New features

+ +

There are several new features:

+ + + +

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

+ + + +

Other + improvements

+ +

These are 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

+ +

Several improvements were made to the utility programs:

+ +
+
clear +
+ +
+ +
+ +
infocmp +
+ +
+ +
+ +
tic +
+ +
+ +
+ +
toe +
+ +
+ +
+ +
tset +
+ +
+ +
+ +
tput +
+ +
+ +
+
+ +

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

+ + + +

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 + test-program, and for analyzing traces using the + tracemunch script:

+ + + +

There are other new demo/test programs and reusable + 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 +
+ +
Demonstrate the pair_content and + extended_pair_content functions.
+ +
report_hashing +
+ +
Check hash-tables used for terminfo and termcap names.
+ +
parse_rgb +
+ +
Sample implementation of the ncurses RGB extension from + user_caps.5, + used in picsmap and savescreen programs.
+
+ +

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

+
+ +

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

+
+ +

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

+ +
+
adds200:
+ +
+ +
+ +
gnome-256color +
+ +
+ +
+ +
interix +
+ +
+ +
+ +
linux-16color +
+ +
+ +
+ +
nsterm-256color:
+ +
+ +
+ +
regent40:
+ +
+ +
+ +
regent60:
+ +
+ +
+ +
tvi950:
+ +
+ +
+ +
tvi955:
+ +
+ +
+ +
vi200:
+ +
+ +
+ +
wy50:
+ +
+ +
+ +
wy50 and + wy60:
+ +
+ +
+ +
xterm+x11hilite:
+ +
+ +
+
+ +

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

+ +

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.

+ +

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 + 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 in tic/infocmp's handling of + user-defined capabilities. These were not recent bugs. Initially + it was a simple problem:

+ + + +

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.

+ +

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

+ +

Major + changes

+ +

There are no major changes. Several new options were added to + ease integration of packages with systems using different + versions of GNAT and ncurses. Also, + improvements were made to configure checks.

+ +

Configuration options

+ +

There are a few new/modified configure options:

+ +
+
--with-config-suffix +
+ +
+

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

+
+ +
--with-ada-libname +
+ +
+

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

+
+ +
--with-fallbacks +
+ +
+

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

+
+ +
--with-pcre2 +
+ +
+

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

+
+ +
--with-tic-path and
+ +
--with-infocmp-path +
+ +
+

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

+
+ +
--with-versioned-syms +
+ +
+

option value can now be a relative pathname.

+
+
+ +

Portability

+ +

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

+ + + +

Here are some of the other portability fixes:

+ + + +
+ +

Features of + ncurses

+ +

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

+ + + +

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

+ + + +

Applications using + ncurses

+ +

The ncurses distribution + includes a selection of test programs (including a few games). + These are available separately as ncurses-examples

+ +

The ncurses library has been tested with a wide variety of + applications including:

+ +
+
+
aptitude +
+ +
+

FrontEnd to Apt, the debian package manager

+ +

https://wiki.debian.org/Aptitude

+
+ +
cdk +
+ +
+

Curses Development Kit

+ +

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

+
+ +
ded +
+ +
+

directory-editor

+ +

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

+
+ +
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/

+
+ +
lynx +
+ +
+

the text WWW browser

+ +

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

+
+ +
mutt +
+ +
+

mail utility

+ +

http://www.mutt.org/

+
+ +
ncftp +
+ +
+

file-transfer utility

+ +

https://www.ncftp.com/

+
+ +
nvi +
+ +
+

New vi uses ncurses.

+ +

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

+
+ +
ranger +
+ +
+

A console file manager with VI key bindings in + Python.

+ +

https://ranger.github.io/

+
+ +
tin +
+ +
+

newsreader, supporting color, MIME

+ +

http://www.tin.org/

+
+ +
vifm +
+ +
+

File manager with vi like keybindings

+ +

https://vifm.info/

+
+
+
+ +

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

+ +
+
+
minicom +
+ +
+

terminal emulator for serial modem connections

+ +

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

+
+ +
mosh +
+ +
+

a replacement for ssh.

+ +

https://mosh.mit.edu/

+
+ +
tack +
+ +
+

terminfo action checker

+ +

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

+
+ +
tmux +
+ +
+

terminal multiplexor

+ +

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

+
+ +
vile +
+ +
+

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

+ +

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

+
+
+
+ +

and finally, those which use only the termcap interface:

+ +
+
+
emacs +
+ +
+

text editor

+ +

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

+
+ +
less +
+ +
+

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

+ +

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

+
+ +
screen +
+ +
+

terminal multiplexor

+ +

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

+
+ +
vim +
+ +
+

text editor

+ +

https://www.vim.org/

+
+
+
+ +

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

+ +

Contact the current maintainers at

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

To join the ncurses mailing list, please write email to

+ +
+ 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 are + made available at

+ +
+

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

+
+ +

Patches to the current release are made available at

+ +
+

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

+
+ +

There is an archive of the mailing list here:

+ +
+

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

+
+ +

Related + resources

+ +

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

+ + + +

Other + resources

+ +

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, 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 . The collection of computer + manuals at bitsavers.org has also been + useful.

+ + + +