FIX: context initialization, __func__ retrieval
[nobug.git] / NEWS
blob535033a2b517232a83772b518b205fb8be2acb76
1 201005.1
2 --------
3 12 May 2010
5 Christian Thaeter (5):
6       add a PLANNED_TEST() macro to test.h
7       add a 'void* extra' parameter to the DUMP macros
8       add a 'void* extra' parameter to the INVARIANT macros
9       require invariant functions to be prefixed with 'nobug_'
10       prefix all mpool functions with nobug_
14 201002.1
15 --------
16 03 Feb 2010
18 Replaced certain boring strings with a '-' in passed contexts.
19 Multiline continued log lines have a special event mark (!) now.
20 FIX a race condition when starting threads accessing resources, this introduces
21 the block syntax for resource tracker macros again. Programs have to be adapted
22 to take advantage of this. The internal locking got a big overhaul.
25 201001.3
26 --------
27 29 Jan 2010
29 Refactored the logging core, it now supports multiline logging, log statements
30 can contain newline characters which will emit to multiple loglines
31 atomically, resource dumping uses this feature. The nobug libraries are now
32 properly versioned. Added internal ringbuffer documentation. The ringbuffer
33 guard pages can now be dynamically configured. Resource logging stays active
34 in BETA builds in preparation for offline resource tracking. Improved release
35 targets for make, that means more frequent releases in future.
38 201001.2
39 --------
40 23 Jan 2010
42 A new facility was added to pass 'source-contexts' (file, line, function).
43 This allows one to emit diagnostics on behalf of a calling function. The
44 '_DBG' macro variants were removed because no one really used them and their
45 functionality is superseded by the 'flags'. Small bugfixes and documentation
46 improvements were made. Thread IDs now keep their thread number on reset. The
47 use of the GCC ',##__VA_ARGS__' semantic is factored out. The library should
48 now compile on other compilers too. Mac OS X is now officially tested and
49 supported.
52 201001.1
53 --------
54 10 Jan 2010
56 A major update of the "test.sh" testsuite driver was done. Support was added
57 for conditionals in testsuites, informational messages, separate configuration
58 files, and more. A race condition when leaving resources by the
59 resourcetracker was fixed. A TRYING state that omits deadlock detection was
60 added to the resource tracker. Newline issues were fixed with newer valgrind
61 versions (which involves an API change). The documentation for nobug and
62 test.sh was improved. This is the first release which officially supports
63 other platforms, such as Maemo5/ARM, Mac OS X, and OpenSolaris.
66 200909.1
67 --------
68 04 Sep 2009 11:51
70 This is a major update with all the improvements from the past 1.5 years. The
71 Resource tracker was completely rewritten. A new documentation system is used
72 now, and the documentation got a major update. A test suite for self-testing
73 NoBug was added. Many new or planned features such as fault-injection and
74 logging callbacks are finished. This release starts with a new version
75 numbering scheme. The API is now mostly finalized. This is a review release on
76 the way for a major production release soon.
79 0.3rc1
80 ------
81 03 Apr 2008
83 The environment variable parser for runtime configuration was completed, and
84 passing of options for creating log files or ring buffers is now implemented.
85 A hook for application defined logging was added. A tool to dump ring buffer
86 content as a log was included. Logging output contains now an event counter.
87 The license was changed to GPLv2 or any later.
90 0.3pre1
91 -------
92 04 Jul 2007 04:29
94 A deadlock detector was added. This is a review release, a work in progress.
97 0.2
98 ---
99 31 May 2007
101 The source code location handling (file/line/function) was improved and
102 centralized. Logging flags in C++ applications can be initialized and parsed
103 with a simple initializer. The Resource Registry was stabilized and rewritten
104 and given a new interface. Resources can be acquired in three states.
105 Multithreading support for the Resource Registry was improved. All actions on
106 the Resource Registry can emit logging messages. Only a few fixes were made
107 since the 0.2rc1 release.
110 0.2rc1
111 ------
112 16 May 2007
114 The source code location handling (file/line/function) was improved and
115 centralized. Logging flags in C++ applications can be initialized and parsed
116 with a simple initializer. The Resource Registry was stabilized and rewritten
117 and given a new interface. Resources can be acquired in three states now.
118 Multithreading support for the Resource Registry was improved. All actions on
119 the Resource Registry can now emit logging messages.
122 0.2pre2
123 -------
124 28 Mar 2007
126 NoBug is now usable from C++ programs. Support for multithreaded programs was
127 added. It now compiles to two static link libraries, one for singlethreaded
128 and one for multithreaded applications. The logging subsystem was rewritten
129 and now uses an efficient ringbuffer as backend storage. There is support for
130 multiple logging targets and the control via the environment is much improved.
131 A Resource Tracker was added to debug resource usage of the controlled
132 program.
135 0.2pre
136 ------
137 21 Feb 2007
139 Valgrind and execinfo.h are now optional. The Log format was changed to be
140 similar to gcc's output, so editors should be able to parse the output. DUMP
141 now uses the flags mechanism too. The BUG macro was renamed to FIXME, and the
142 FIXME macro may not be used in BETA builds. Some bugfixes and cleanups were
143 done.
148 31 Jan 2007
150 GNU autotools are now used. Better logging support was added. The
151 documentation was synchronized with the code.