cwidget/NEWS

290 lines
9.4 KiB
Plaintext

[2019-06-18] Version 0.5.18
* ABI change due to removal of some functions or small changes in arguments or
signatures (e.g. 'const'), the SONAME is now libcwidget.so.4
* Update the gettext infrastructure via "gettextize -f"
* Fix possible leak in ssprintf.cc
* Modernise code with C++11 features
* Change cwidget.pc to add include for /usr/include/cwidget, thanks Leo
L. Schwab (Closes: #834095)
* Use vw_printw() instead of vwprintw(), deprecated
* configure.ac: Change WERROR to "-Werror -Wno-terminate", because there's a
macro in eassert.h that pretty much triggers termination on purpose
* Change the basic wchtype() constructor to "wchtype() = default;", because
even if it was empty it was not being considered as trivial enough, and it
was causing failures to compile with g++-9:
/usr/include/cwidget/curses++.h:204:36: required from here
/usr/include/c++/9/string_view:93:42: error: static assertion failed
93 | static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>);
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* testcwidget.cc: rename "size" to "widgets::size", the compiler g++-9
complains about being unable to disambiguate it with std::size
* Fix FTBFS with GCC 8, thanks to Peter Siket <pepe at inf.u-szeged.hu>
(Closes: #896180)
* Do not write timestamps in documentation generated by Doxygen
Author: Jérémy Bobbio <lunar@debian.org>
In order to make the build reproducible, we configure Doxygen to skip
writing timestamps in the HTML documentation it generates.
[2014-02-21] Version 0.5.17
First upstream release with new maintainer:
Manuel A. Fernandez Montecelo <mafm@debian.org>
* Remove -1.9 from some of the autotools commands, run instead the
latest/default versions of the system (1.9 is quite old by now)
* Make .xz the default for 'make dist'
* Rename variable pkglibdir_HEADERS to config_HEADERS (inspired in bug
#732539, thanks Colin Watson <cjwatson@ubuntu.com>)
To avoid strictness errors with automake starting in 1.12 or so:
Makefile.am:30: error: 'pkglibdir' is not a legitimate directory for 'HEADERS'
* Renaming 'INCLUDES' to 'AM_CPPFLAGS' in .am files
Due to this:
warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
* Do not distribute a changelog for m4 dir
* Add .po files from NMUs 0.5.16-3.3 and 0.5.16-3.4 (thanks David Prévot
<taffit@debian.org>)
* Fix for "cursor displayed in wrong place for wide-char prompt" (bug #316939,
thanks Daniel Hartwig <mandyke@gmail.com>)
* Fix for problem when Delete key (KEY_DC) was considered equivalent to
Backspace and others (bug #493320, thanks Samuel Fogh <gaffa@users.sf.net>)
* Daniel Burrows: Update the gettext infrastructure via "gettextize -f".
* Daniel Burrows: Bind a text domain and use it to get translations (instead
of the current system domain).
[0.5.16]
2009-11-29
* Revert the signal handling change. That's the right thing to do,
but it's too disruptive without a lot more groundwork around how
widgets are destroyed. It should be saved until the next ABI
break, at least.
* Revert the change that causes global thread synchronization
objects to not be destroyed, for now; it was mainly needed for the
signal changes.
[0.5.15]
2009-11-29
* Hopefully work around problems with the threading unit tests on
platforms with strict limits on thread resources such as
hppa. (Closes: #557982)
* cwidget thread exceptions now carry the errno code where
appropriate.
* When cwidget exits with an error, it invokes the former signal
handler rather than necessarily exiting immediately. This can
cause different behavior for some signals, as libc appears to
invoke atexit() and global destructors when processing SIGINT or
SIGTERM. However, it's the most sensible way to ensure that
signal chaining can be used with cwidget.
* cwidget no longer attempts to destroy its global thread
synchronization objects, to avoid races and deadlocks if global
destructors are invoked while a cwidget thread is still running.
Ideally, we would provide a library routine to destroy them at a
well-defined point in the program's execution.
[0.5.14]
2009-11-17
* Fix a crash caused by not guarding against divide-by-zero when
formatting fragments into columns. (Closes: #556185)
* Partially fix compilation with g++ 4.4. It still dies with some
errors that I don't understand.
* Internationalize the source tree.
* Improve cwidget's signal hygeine by blocking all signals in its
background threads (except the one that handles WINCH) so that
they don't interfere with the program's signal handling.
[0.5.13]
2009-09-05
* Fix some deadlocks in input handling related to suspending and
restarting cwidget.
* Trigger a screen update when the root node of a tree is changed.
* Fix some questionable uses of varargs functions.
* Handle very long output strings correctly in swsprintf.
(Closes: #496119)
* Minor documentation improvements. Still lots of work to do here.
[0.5.12]
2008-06-28
* Don't insert "error decoding multibyte string" into text fragments
on top of interpolating question marks. Thanks to Nelson de Oliveria
for pointing out that this is unhelpful.
[0.5.11]
2008-04-12
* Fix the mechanism introduced in the last release to handle
equivalent classes of keys so that its initialization is tied to
when it's actually needed, instead of being tied to the creation
of some unrelated tables.
* Update the synonyms for backspace to include character 127 (which
is now being generated by xterm-256color when backspace is
pressed).
[0.5.10]
2008-04-11
* Treat KEY_DC and KEY_BACKSPACE as equivalent in key_matches();
some termcap entries generate one for the backspace key and some
generate the other. (Closes: #452651)
[0.5.9]
2008-03-21
* Fix compilation errors in the test suite with g++ 4.3.
* Remove a stray use of the deprecated SigC namespace, to
support libsigc++ 2.2 and above.
[0.5.8]
2008-01-20
* ABI change due to changing hash_map in some structures to
std::map.
* Fix compilation errors with g++ 4.3. Mostly this just meant
adding more #includes in source files, but g++ 4.3 also removed
the nonstandard hash_map extension that cwidget was
using.
Technically it just generated a deprecation warning, but since
cwidget compiles with -Werror, this was elevated into a compile
error. Since the ABI changed just yesterday for other reasons, I
decided to bite the bullet and yank the hash_map references
immediately rather than papering over the warning.
[0.5.7]
2008-01-19
* ABI change due to changes in the code of some inline functions:
the SONAME is now libcwidget.so.2.
* All wrappers around pthread_cond_wait now release the mutex if the
thread is cancelled while waiting. This is arguably a somewhat
awkward solution to the problem, and further improvements are
likely.
* Fix several threading bugs in the input handlers. The input
handler will no longer read from or write to freed memory, and it
will no longer get confused and blow up the program after a
toplevel::suspend()/toplevel::resume() pair.
Closes: #461342 and possibly also #431054, #431688, #432323,
#434861.
* Handle invalid byte sequences encountered by wget_wch better: just
beep instead of throwing a fatal exception. (Closes: #460722)
[0.5.6.1]
* Actually distribute the ikiwiki input files in "make dist".
[0.5.6]
* ABI change: the SONAME is now libcwidget.so.1.
* Add general documentation and information. This is the cwidget
Web site, compiled as a local collection of HTML files by IkiWiki.
* If stdin is closed, throw a fatal exception from the main loop
instead of spinning forever. (Debian bug #451770)
* Import some cppunit tests that apply to cwidget.
* Add a missing #include <stdarg.h> in ssprintf.cc. (Debian bug #452979)
* Add untested support for the mouse wheel if ncurses is compiled
with support for mouse button 5.
[0.5.5]
* Fix several include paths that were relative to the source
directory, not relative to cwidget.
[0.5.4]
* Fix the include path declared by the .pc file; it should point at
"includedir", not "pkgincludedir".
[0.5.3]
* Generate a cwidget-config.h file that contains #defines needed for
the public interface of cwidget to make sense.
* Build a .pc file so that pkg-config can be used to set up
compile/link flags for cwidget-using packages.
* Add an entry point that returns the current library version.
* Remove more references to vscreen.
* Remove some references to libapt.
[0.5.2]
* Fix documentation building again: we need the sub-makefile to get
cleaning to happen nicely, but the main makefile needs to know
about it, so don't build docs in doc/ on "make all".
[0.5.1]
* Actually install headers in "make install".
* Fix documentation building to be more friendly to the Debian packaging.
[0.5.0]
* Initial release.
* Changes from aptitude:
+ Rename vscreen to cwidget. (the name "vscreen" had to do with a
very very old version of the library and is no longer relevant)
+ Move everything into C++ namespaces under cwidget.
+ Reorganize the code to move more generic code into the generic
directory.