New curses is an emulation of Sys V R 4 curses, and more.
It uses and includes thousands of terminal definitions in terminfo
format, supports pads, color, multiple highlights, forms characters,
function key mapping, has all the other SVR4 curses enhancements
over BSD curses, plus terminal utilities, and demo programs packages.
For more information see the project home page:
https://invisible-island.net/ncurses
Please test these packages as extensively as possible, especially if you
are a Cygwin package maintainer, as libncursesw10 is used in many
libraries including libreadline and utilities including less, vim,
emacs, most other editors, screen, tmux, mail and web clients, and bash.
Package maintainers should install this test release and rerun checks of
as many libraries and packages depending on libncurses{,++}w10 as
possible.
If no issues are reported in the next few weeks, this release may be
promoted to current stable.
The following test packages have been uploaded to the Cygwin distribution:
- ncurses 6.6+20260117
- ncurses-demo 6.6+20260117
- terminfo 6.6+20260117
- terminfo-extra 6.6+20260117
- libncurses-devel 6.6+20260117
- libncurses++w10 6.6+20260117
- libncursesw10 6.6+20260117
As there are multiple components and many changes each release,
see below or read /usr/share/doc/ncurses/ANNOUNCE and
/usr/share/doc/ncurses/NEWS after installation:
6.6 20260117
- add "alt_" to special key-prefix check for "djgpp" terminfo
- provide a generated list of user-defined special keys
- rename vt100+keypad, etc., to vt100+keypad+sco, etc., to keep
historical blocks while providing for renaming of vt220+keypad as
vt100+keypad
- use vt100+keypad instead of vt220+keypad
- use vt100+keypad in putty+keypad, replacing kpXX extension
- remove vt100+fnkeys-sco from putty
- fix link_test.c for configuration without extended colors by adjusting
ifdefs and improving MKlib_gen.sh by checking for #if statements with
only a 0 or 1 parameter.
- fixes for "make check":
+ adjust definition of USE_TRACEF
+ modify ncurses/wcwidth.h
+ modify makefile to add dependencies needed in shared library
+ modify makefile to work with libtool
+ separate ncurses/tty/lib_mvcur.c test-driver from routine checks
- add a paragraph to user_caps.5 to mention extended capabilities which
are not documented as part of ncurses.
- use symbol DEFAULT_TERM_VAR for several cases where getenv("TERM")
returns null pointer.
- modify test/demo_new_pair.c to fix build with SmartOS
20260103
- cancel ncv in putty
- add NQ to list of user-definable capabilities in user_caps(5)
- update ncurses/wcwidth.c, for MinGW ports, from xterm.
20251231
- amend fix for Windows-style pathnames to eliminate "./" in comment
generated by infocmp where not needed
- fix a few gcc 15.2 warnings for C23
- actually generate doc/html/announce.html
20251230 6.6 release for upload to ftp.gnu.org
- update announcement
- corrected an ifdef needed for mouse support in MinGW/Windows
- eliminate remaining duplicate code between MinGW/Windows drivers
20251227
- make win32_curses.h obsolete in favor of nc_win32.h
- modify MinGW32 configuration to account for its use of Windows-style
pathnames in filesystem checks.
- replace --enable-exp-win32 option with --enable-named-pipes
20251220
- in-progress work to merge MinGW/Windows port.
+ eliminate EXP_WIN32_DRIVER with USE_NAMED_PIPES
+ change MS_TERMINAL to DEFAULT_TERM_VAR
20251213
- in-progress work to merge MinGW/Windows port.
- add a null-pointer check in tic -c option.
- add a limit-check in infocmp -i option
20251206
- in-progress work to merge MinGW/Windows port.
20251129
- in-progress work to merge MinGW/Windows port.
20251123
- revert change using NCURSES_SBOOL in tic.h which interfered with
sign-extension in tigetflag
20251122
- in-progress work to merge MinGW/Windows port.
- correct expression for TINFO_LIB variable in misc/ncurses-config.in
20251115
- check for special case of wcrtomb() converting a single byte code to a
different single byte code, which glibc does for code 160 in the
KOI8-R encoding
- improve formatting/style of manpages
- amend recent changes to mouse handling to avoid a case which caused a
loop in wgetch until additional input is provided
20251101
- adjust generated terminfo.5 to omit tbl "x" column modifier if that is
unsupported, i.e., with old nroff/tbl
- in-progress work to merge MinGW/Windows port.
20251025
- amend locale-portability fix in tty_update.c
- add testing utility report_ctype
- update configure macros, improving check for $host_os
- correct a recent change to curs_termino.3x, along with formatting
fixes for manpages.
- corrected note about box() in curs_border.3x
20251018
- add check for build-time utilities, in case cross-compiling is setup
with an invalid $BUILD_CC
- modify configure-script and makefiles to make it easier to override
the "--with-install-prefix" default with environment variable
20251010
- fix stray "\" in curs_extend.3x, regen html manpages.
- regen html manpages with man2html 1.42, fixing a few cases where
headers were not linked
20251004
- improve formatting/style of manpages
- in-progress work to merge MinGW/Windows port.
- improve configure check for "install".
20250927
- in-progress work to merge MinGW/Windows port.
20250920
- in-progress work to merge MinGW/Windows port.
- add configure check for <sys/fsuid.h>, build-fix for flatpacks
- update config.guess, config.sub
20250913
- update ncurses-howto.
- modify MKfallback.sh to eliminate TERMINFO environment variable.
- improve checks in run_tic.sh script, change some variable names to
reduce packager confusion
- disallow configure options which apply only to multiuser systems, to
improve ports to single-user systems such as Haiku
- update ncurses/wcwidth.c, for MinGW ports, from xterm.
- correct _nc_to_char() for the case when wctob() is not found by
configure script
+ modify handle_wheel case 2 to ignore the event as in case 1 for
mouse version 1, since that corresponds to a button 6 or 7 event which
is not supported with ABI 6.
+ use separate read/write pointers in the mouse event queue to work
with too-close events for the click-detection to work reliably, and
further improve that in case mouseinterval(0) is used to suppress
click-detection.
20250830
- in-progress work to merge MinGW/Windows port.
- build-fix for experimental Windows configuration
- improve pattern used for configure --with-xterm-kbs option.
20250823
- improve style of MKterminfo.sh script
- improve formatting/style of manpages
- remove redundant definition of ConsoleInfo.
- change scope of TTY, GET_TTY and SET_TTY to ncurses-internals
20250816
- remove redundant reference to compiler in libtool configuration of
mk-1st.awk
- build-fixes for --enable-exp-win32 configuration
- improve formatting/style of manpages
20250809
- add configure check for Win32 named pipes feature, using that to make
nc_mingw.h obsolete in favor of nc_win32.h
- amend limit used in alloc_pair, by applying an adjustment for default
colors only when the maximum number of color pairs is greater than the
maximum number of colors
20250802
- fixes for reading Unicode characters in MinGW/Windows port
20250726
- modify configure script cases for $host_os, to accommodate 64-bit
big-endian POWER linux with glibc
- add warning to configure script to address conflict between the
--enable-lp64 option and the options for overriding the types used for
chtype and mmask_t.
20250720
- further improve readability of header-files
- add a consistency-check for termio(s)/tty headers, to help with
cross-compiles
- remove some unused configure-macros
- add xterm+keypad to pccon+base
- trim trailing blanks from a few files
20250712
- improve readability of term.h
- modify recursive make rules to avoid interference with GNU make's "-j"
option
20250705
- when installing the terminfo database, check if symbolic links are
supported before attemping to link lib/terminfo from share/terminfo
- modify configure check for MAKEFLAGS/MFLAGS to ignore existing value
of these environment variables
- reserve -c/-l options in test/*.c for command/logging like vttest.
- add options to test/worm.c for benchmarking
- improve formatting/style of manpages
- improve readability of header-files
20250628
- fix a few compiler-warnings.
- simplify include for wchar.h in Windows port by removing the platform
ifdef's
- regen Ada95/configure
20250621
- revise loop in wins_nwstr, to ensure that non-spacing characters are
combined with the base spacing character
- fixes for port using clang-cl or cl MSVC
- improve test-packages: + convert debian*/copyright to DEP-5 format. +
modify ".spec" test-files to work around timestamp-clamping in recent
Fedora releases.
20250614
- reduce lintian warnings for test-packages.
- clean up some shellcheck warnings
- improve test/configure checks for X libraries, reducing duplicates
- fix some typos/errata in license text, to help with scripted checks
20250531
- improve logic in misc/run_tic.in for constructing symbolic link when
$DESTDIR is set.
20250524
- correct option-name used in configure script, which resulted in size
change for cchar_t
20250517
- initial changes for some ABI 7 features: + disable wgetch-events + add
feature for extending mouse-buttons + add feature for extending
direct-color support
- use bracketed+paste in nsterm, rlogin-color, screen, terminology
20250510
- add rv/xr codes for domterm, mintty, mlterm
- add xr code for putty
- update teraterm to 5.0
- add rlogin-color
20250503
- update/correct some of the rv/xr strings, checked with tack
- use ansi+rca in sclp
- use vt220+pcedit in sclp
- move some building blocks from illumos to sun-color, based on illumos
source-history
- improve use-clauses: ansi+cup, ansi+idl1, ansi+rca, ansi+rca2,
ansi+sgrso, ansi+sgrul
- add ecma+standout, ecma+underline
- add rv code for alacritty
- add rv/xr codes for contour, ghostty, iterm2, kitty, konsole, vscode,
vte, wezterm
20250426
- expand note on extensions in curs_addch.3x
- add illumos, sun-16color, sun-256color, sun-direct
- add wyse+cvis
20250419
- add note on scrolling and lower-right corner to waddch and wadd_wch
manual pages.
20250412
- add pangoterm
- add kf1 to kf5 to sclp
- add vt100+pf1-pf4
20250405
- improve formatting/style of manpages
- improve infocmp -E/-e fallback feature:
+ prefix names with "ti_" if they begin with a digit, e.g., 9term
+ escape backslashes and double-quotes in description fields
- modify infocmp -E/-e fallback feature to reduce stricter compiler
warnings for the extended capability data.
- add sclp
- add op to vt525
- update contour
20250329
- add XM/xm to ms-terminal, to enable mouse with experimental Windows
driver
- add -x option to infocmp in MKfallback.sh
- improve experimental Windows driver by restoring the scroll buffer and
console mode, e.g., when reset_prog_mode or endwin is called
- add a buffer-limit check in postprocess_termcap
20250322
- add a null pointer check in mouse-initialization, for the experimental
Windows driver
- improve makefile dependency in Ada95/src
- add note in user_caps.5 addressing a quibble about dates.
20250315
- improve formatting/style of manpages
20250308
- remove test in wgetch which applied notimeout to the initial read of a
character
- improve formatting/style of manpages
- fix a few compiler-warnings in MinGW port.
20250301
- add color to vt525
- add vt520-w and vt525-w
- improve formatting/style of manpages
- improve configurability of alloca() as used in Windows ports.
- fix some typos in manpages.
- modify configure script checks for stdbool.h to fix build with older
gcc version.
20250222
- modify treatment of "n" parameter for waddnstr, waddnwstr, and
wins_nwstr to return OK when "n" is zero, for consistency with other
implementations
- formatting improvements for terminfo.5
20250216
- add limit-checks in alloc_entry.c and alloc_ttype.c to avoid indexing
errors when using infocmp to compare all capabilities when processing
a malformed terminfo binary which has a valid header
20250215
- add gzip option for suppressing filename/timestamp information to an
overlooked case
- correct spelling errors found with codespell.
- fix some typos in manpages
- amend change to lib_set_term.c to work with thread configuration
20250208
- change etip.h.in to include either/both of <new> and <exception>,
needed for another old BSD.
- update st
- add note for ghostty 1.1.0
- fix a few issues found with coverity.
20250201
- add <new> to the possible headers declaring the C++ std::bad_alloc
- modify check for stdbool.h to be more conservative in case the headers
are used with a compiler other than that which was used to configure
- improve MKlib_gen.sh handling of "bool" type, for building link_test
- improve formatting/style of manpages
20250125
- improve error-handling in c++ binding
- strict compiler-warning fixes for upcoming gcc15
20250118
- improve pattern used for configure --with-xterm-kbs option
- update configure macros, from work on cdk and dialog.
- change a parameter name in curs_sp_funcs.3x, for consistency
- improve formatting/style of manpages
- change winwstr() to a generated function, using the macro definition,
moving its handling of negative length parameter into winnwstr().
- correct actual-function name in a few trace calls.
20250111
- add check for infinite loop in tic's use-resolution.
- increase limit on use-clauses from 32 to 40, warn but allow entries
which exceed the old limit.
- add some null-pointer checks after mallocs in test-programs.
20250104
- modify tput to warn about capabilities which expect parameters where
none are given; also repair the feature where multiple capabilities
can be handled on a single line.
- cleanup use-clauses
- add linux+lockeys, xterm+r5+lockeys, xterm+r5+fkeys
- add vt220+ufkeys, vt220+sfkeys
- revert man/manlinks.sed change, which loses aliases
- modify MKlib_gen.c to allow for Solaris's definition of NULL as 0L
20241228
- correct conditional-compile for a case when the C compiler does not
have a bool type.
- add ghostty
- add comments to generated term.h to hint the configure options used
- use same subdir-convention for term.h, in configure script
- improve formatting/style of manpages
20241221
- modify ncurses/tinfo/MKfallback.sh to work with MacOS sed, which lacks
BSD-style \< and \>
- trim padding from sgr expression used in trim_sgr0, to avoid copying
the padding into the resulting sgr0
- strict compiler-warning fixes for upcoming gcc15
20241214
- avoid redefining bool in curses.h if the platform already supports
that type
- move include <curses.h> from etip.h.in to cursesw.h, to work around
breakage in Apple's port of ncurses.
- strict compiler-warning fixes for upcoming gcc15
20241207
- strict compiler-warning fixes for upcoming gcc15
20241130
- improve configure check for lint program.
- adjust options in test-programs to allow for consistent use of -c/-l
for command/logging.
- modify win_driver.c for MinGW to handle shift-tab and control-tab as
back-tab
20241123
- remove dependency on stdbool.h from configure script check for type of
bool when C++ binding is omitted
- compiler-warning fixes
20241109
- work around musl header ifdef's
- improve error-reporting in write_entry.c
- remove unused #include from DJGPP configuration
- workaround/fix issues from clang-analyze
20241102
- remove djgpp-specific initialization to binary mode
- add extended-keys for djgpp 2.05
20241026
- update ms-terminal
- add ms-terminal-direct
- correct dimensions in test/popup_msg.c, fixing an overrun
20241019
- fixes for compiler warnings/cppcheck.
- build-fixes for DJGPP configuration
20241006
- fixes for compiler warnings/cppcheck.
- use xterm+alt+title in wezterm
20240928
- improve error-message from infocmp when a terminal entry cannot be
opened
- improve filtering of -L options in misc/gen-pkgconfig.in and in
misc/ncurses-config.in
- add check in wresize() for out-of-range dimensions
20240922
- add a few null-pointer checks in ncurses
- improve test-driver in ncurses/link_test.c
- restore background character in manpages as described in X/Open Curses
section 3.3.6, and add option "-c" to test programs to illustrate a
non-blank character in the window background property.
- improve formatting/style of manpages
- modify ncurses*-config to add -I option in --cflag where needed for
--disable-overwrite to match ".pc" files.
- disallow directories and block/character devices in safe-open.
- amend scr_restore() and scr_init() to remove the target window only
after validating the source window which will replace the target
20240914
- modify _nc_flush() to also flush stderr to help the flash capability
to work in bash
- omit -g and -fXXX flags from CFLAGS in misc/ncurses-config.in
- improve formatting/style of manpages
- improve examples in NCURSES-Programming-HOWTO.html
- update comments in terminfo.src
20240831
- build-fix for a case in msys2 where gettimeofday() was available but
the fallback was partly configured.
- separate the _NC_WINDOWS platform macro into _NC_WINDOWS_NATIVE, for
MinGW and other native Win32 support, and _NC_WINDOWS, to make some
Win32 features available under the Cygwin runtime, in this case the
term-driver.
- make some minor adjustments to allow ./configure --enable-term-driver
to also work on Cygwin platforms such as Cygwin and MSYS2.
20240824
- modify infocmp and tabs to use actual name in usage and header.
- modify test/demo_keyok.c to accept ^Q for quit, for consistency.
20240817
- review/update foot for 1.18.1
- add a note about DomTerm 3.2.0
- add new glob-expressions variables to list in config.status script
- add --enable-install-prefix to modify behavior of $DESTDIR to merge or
replace the value set by --prefix
20240810
- modify misc/Makefile.in and misc/run_tic.in so that $DESTDIR is set
and used only in the makefile.
- modify CF_WITH_PKG_CONFIG_LIBDIR to allow for pkg-config using
DOS/Windows pathname syntax
- improve glob-expressions in configure script
- remove unused Get_Menu_Screen() macro from menu.priv.h
- update config.guess, config.sub
20240727
- improve formatting/style of manpages
- fixes for compiler warnings/cppcheck.
- modify wattron/wattroff calls in form/m_post.c to call wattr_on and
wattr_off to omit cast used in the former for X/Open compatibility
- modify wezterm, omitting its broken left/right margin feature
20240720
- improve formatting/style of manpages
- modify configure script and misc/Makefile to accept glob expressions
that include Windows/DOS drive-letters
- fix misspelled ifdef and correct return-value of _nc_mingw_tcflush in
win_driver.c
20240713
- modify misc/ncurses-config.in, improved match with pkg-config output.
20240706
- update configure script to use macro changes from dialog.
- modify CF_NCURSES_PTHREADS to avoid equating package and library
names.
20240629
- build-fix for ncurses-examples with newer PDCurses, which no longer
has stubs for unimplemented features.
- add help-popup for test_instr.c, test_inwstr.c
- modify checks in delwin to avoid checking if the window is a pad until
first checking if it is still on the active window-list
- improve -t option of test/gdc.c, allowing hours only, or hours and
minutes only.
20240622
- improve test/gdc.c
- improve formatting/style of manpages
- adjust naming of mingw *-config scripts to match the pkg-config names
- widen pattern in pc/*-config scripts to disallow more linker options
- add --cflags-only-I and --cflags-only-other options to
misc/ncurses-config.in
- revert change to CF_BUILD_CC macro
20240615
- improve formatting/style of manpages
- review/update modules files.
- improve install-rules in Ada95 makefiles
- improve formatting/style of manpages in test-directory.
20240608
- change winwstr to return wide character count instead of OK
- improve formatting/style of manpages
- rename testing dpkg's for ncurses6 to resolve a naming conflict with
Debian's ncurses packages.
20240601
- improve formatting/style of manpages
- change Ada95/configure to use --with-screen option rather than
--enable-widec, to provide more choices of underlying curses library
20240525
- build-fix for configure option --disable-ext-funcs
- improve formatting/style of manpages
- review/update iTerm2 for 3.5.0
20240519
- update Ada95/configure to match change for -DTRACE
- revert change to include/ncurses_defs, which caused build failure if
tracing was not enabled
20240518
- improve formatting/style of manpages
- move makefile's -DTRACE into include/ncurses_cfg.h, to simplify use of
CFLAGS/CPPFLAGS.
- improve check for clock_gettime(), from xterm.
- modify configure script to work around broken gnatgcc script found in
gcc-13 builds.
20240511
- improve formatting/style of manpages
- limit value from ESCDELAY environment variable to 30 seconds, like
other delay limits.
- limit values from LINES and COLUMNS environment variables to 512
20240504
- update ncurses/wcwidth.c, for MinGW ports, from xterm.
- trim obsolete comment about tack from INSTALL.
--
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
The easiest way to unsubscribe is to visit
<https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.
If you need more information on unsubscribing, start reading here:
<https://sourceware.org/lists.html#unsubscribe>.