[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 (Closes: #896180) * Do not write timestamps in documentation generated by Doxygen Author: Jérémy Bobbio 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 * 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 ) 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 ) * Fix for "cursor displayed in wrong place for wide-char prompt" (bug #316939, thanks Daniel Hartwig ) * Fix for problem when Delete key (KEY_DC) was considered equivalent to Backspace and others (bug #493320, thanks Samuel Fogh ) * 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 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.