X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=announce.html.in;h=378f6f80b012306a993e9f59a3b37b69f380862e;hp=936b2053d5881ba09959a7073b8892a3be8f5f47;hb=df51c7005b77c6dcc78565d8cc87f8f68a8525c2;hpb=b1f61d9f3aa244512045a6b02e759825d7049d34 diff --git a/announce.html.in b/announce.html.in index 936b2053..378f6f80 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,402 +1,2959 @@ - - - -Announcing ncurses @VERSION@ - - - - -

Announcing ncurses @VERSION@

- -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 is encouraging 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 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/pub/gnu/ncurses. -
It is also available at -ftp://dickey.his.com/ncurses. - -

Release Notes

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

-Interface changes: -

-New features: - -Major bug fixes: - - -

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://www.vexus.ca/CDK.html -
-http://dickey.his.com/cdk. -
ded -
directory-editor -
-http://dickey.his.com/ded. -
dialog -
the underlying application used in Slackware's setup, and the basis -for similar applications on GNU/Linux. -
-http://dickey.his.com/dialog. -
lynx -
the character-screen WWW browser -
-http://lynx.isc.org/release. -
Midnight Commander 4.1 -
file manager -
-www.gnome.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/. -
tin -
newsreader, supporting color, MIME -
-http://www.tin.org. -
taper -
tape archive utility -
-http://members.iinet.net.au/~yusuf/taper/. -
vh-1.6 -
Volks-Hypertext browser for the Jargon File -
-http://www.bg.debian.org/Packages/unstable/text/vh.html. -
-as well as some that use ncurses for the terminfo support alone: -
-
minicom -
terminal emulator -
-http://www.pp.clinet.fi/~walker/minicom.html. -
vile -
vi-like-emacs -
-http://dickey.his.com/vile. -
-

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

Who's Who and What's What

- -The original developers of ncurses are Zeyd Ben-Halim and -Eric S. Raymond. -Ongoing work is being done by -Thomas Dickey -and -Jürgen Pfeifer. -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://dickey.his.com/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 includes and uses a version of the terminfo-format -terminal description file maintained by Eric Raymond. -http://earthspace.net/~esr/terminfo.

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

Announcing ncurses @VERSION@

+ +

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

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

+ +

Major + changes

+ +

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.

+ + + +

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:

+ + + +

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

+ + + +

Portability

+ +

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

+ + +
+ +

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

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

+
+ +

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 .

+ + + +