5 Major Documentation improvements, a PDF for hardcopy can now be generated.
6 Some small bugfixes. A new experimental Fault-Coverage-Checking facility which
7 allows one to find out if all possible error-paths are sufficiently handled.
8 Add functionality to reset the Resource-tracker to a pristine state.
15 Improved the support for non gcc compilers (sun cc) and non Linux OSes. NoBug
16 is useable on Solaris now (some testsuite fixes are still pending). Fixed some
17 an obscure bug with C++ and the (there) unspecified __func__ keyword by adding
18 much improved compiler/language detection. Some Documentation improvements and
19 cosmetics. NoBug has a mailinglist now at
20 http://lists.pipapo.org/cgi-bin/mailman/listinfo/nobug
27 Christian Thaeter (5):
28 add a PLANNED_TEST() macro to test.h
29 add a 'void* extra' parameter to the DUMP macros
30 add a 'void* extra' parameter to the INVARIANT macros
31 require invariant functions to be prefixed with 'nobug_'
32 prefix all mpool functions with nobug_
40 Replaced certain boring strings with a '-' in passed contexts.
41 Multiline continued log lines have a special event mark (!) now.
42 FIX a race condition when starting threads accessing resources, this introduces
43 the block syntax for resource tracker macros again. Programs have to be adapted
44 to take advantage of this. The internal locking got a big overhaul.
51 Refactored the logging core, it now supports multiline logging, log statements
52 can contain newline characters which will emit to multiple loglines
53 atomically, resource dumping uses this feature. The nobug libraries are now
54 properly versioned. Added internal ringbuffer documentation. The ringbuffer
55 guard pages can now be dynamically configured. Resource logging stays active
56 in BETA builds in preparation for offline resource tracking. Improved release
57 targets for make, that means more frequent releases in future.
64 A new facility was added to pass 'source-contexts' (file, line, function).
65 This allows one to emit diagnostics on behalf of a calling function. The
66 '_DBG' macro variants were removed because no one really used them and their
67 functionality is superseded by the 'flags'. Small bugfixes and documentation
68 improvements were made. Thread IDs now keep their thread number on reset. The
69 use of the GCC ',##__VA_ARGS__' semantic is factored out. The library should
70 now compile on other compilers too. Mac OS X is now officially tested and
78 A major update of the "test.sh" testsuite driver was done. Support was added
79 for conditionals in testsuites, informational messages, separate configuration
80 files, and more. A race condition when leaving resources by the
81 resourcetracker was fixed. A TRYING state that omits deadlock detection was
82 added to the resource tracker. Newline issues were fixed with newer valgrind
83 versions (which involves an API change). The documentation for nobug and
84 test.sh was improved. This is the first release which officially supports
85 other platforms, such as Maemo5/ARM, Mac OS X, and OpenSolaris.
92 This is a major update with all the improvements from the past 1.5 years. The
93 Resource tracker was completely rewritten. A new documentation system is used
94 now, and the documentation got a major update. A test suite for self-testing
95 NoBug was added. Many new or planned features such as fault-injection and
96 logging callbacks are finished. This release starts with a new version
97 numbering scheme. The API is now mostly finalized. This is a review release on
98 the way for a major production release soon.
105 The environment variable parser for runtime configuration was completed, and
106 passing of options for creating log files or ring buffers is now implemented.
107 A hook for application defined logging was added. A tool to dump ring buffer
108 content as a log was included. Logging output contains now an event counter.
109 The license was changed to GPLv2 or any later.
116 A deadlock detector was added. This is a review release, a work in progress.
123 The source code location handling (file/line/function) was improved and
124 centralized. Logging flags in C++ applications can be initialized and parsed
125 with a simple initializer. The Resource Registry was stabilized and rewritten
126 and given a new interface. Resources can be acquired in three states.
127 Multithreading support for the Resource Registry was improved. All actions on
128 the Resource Registry can emit logging messages. Only a few fixes were made
129 since the 0.2rc1 release.
136 The source code location handling (file/line/function) was improved and
137 centralized. Logging flags in C++ applications can be initialized and parsed
138 with a simple initializer. The Resource Registry was stabilized and rewritten
139 and given a new interface. Resources can be acquired in three states now.
140 Multithreading support for the Resource Registry was improved. All actions on
141 the Resource Registry can now emit logging messages.
148 NoBug is now usable from C++ programs. Support for multithreaded programs was
149 added. It now compiles to two static link libraries, one for singlethreaded
150 and one for multithreaded applications. The logging subsystem was rewritten
151 and now uses an efficient ringbuffer as backend storage. There is support for
152 multiple logging targets and the control via the environment is much improved.
153 A Resource Tracker was added to debug resource usage of the controlled
161 Valgrind and execinfo.h are now optional. The Log format was changed to be
162 similar to gcc's output, so editors should be able to parse the output. DUMP
163 now uses the flags mechanism too. The BUG macro was renamed to FIXME, and the
164 FIXME macro may not be used in BETA builds. Some bugfixes and cleanups were
172 GNU autotools are now used. Better logging support was added. The
173 documentation was synchronized with the code.