1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
|
[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.
|