== btparser 0.17 Released 2011-03-19. - New library function btp_backtrace_get_optimized_thread. - The main() function is not included in optimized threads. - Better exit frame detection. == btparser 0.16 Released 2011-02-08. - The backtrace parser has been extended to handle frames representing inlined frames. - Doubleparser command line tool got merged into btparser command line tool. - Python bindings were significanly extended and several serious bugs in reference counting and memory management were fixed. - The btp_normalize_paired_unknown_function_names function is now more conservative in matching unknown frames. - The sharedlib parser was extended to handle less usual input and btp_sharedlib_find_address now correctly handless unknown addresses on input. - Thread normalization is now extended to remove a wide range of glib and glibc function calls. - The format of optimized backtraces has been changed. == btparser 0.15 Released 2011-01-04. - Added parser for 'info sharedlib' GDB command output (Michal Toman). - Added thread clustering (Miroslav Lichvár). - Python bindings (Michal Toman, Miroslav Lichvár). - Fixed some crashes and a bug in btp_backtrace_dup (Miroslav Lichvar, Michal Toman). == btparser 0.14 Released 2011-11-23. - Backtrace metrics were added to compute "distance" or "similarity" between two backtraces. See functions thread_jarowinkler_distance, thread_jaccard_index, thread_levenshtein_distance (Jan Šmejda). - Backtrace metrics allow using custom compare function (Martin Milata). - Naming of unknown functions in the same context between two threads, see new function btp_normalize_paired_unknown_function_names (Jan Šmejda). - New user_data field and associated user_data_destructor function pointer field in btp_frame structure (Martin Milata). == btparser 0.13 Released 2011-05-16. - New upstream site fedorahosted.org/btparser. - Improved RPM packaging spec file. == btparser 0.12 Released 2011-05-02. - Normalization removes top frame with address 0x0000. This fixes backtrace rating which was lowered by the code jumping to NULL, where the function name cannot be known (rhbz#639049). == btparser 0.11 Released 2011-02-04. - Better normalization of glibc architecture-specific functions. == btparser 0.10 Released 2011-02-03. What's new: - New supported format of thread header: "Thread 8 (LWP 6357):". - New public function btp_thread_skip_lwp. == btparser 0.9 Released 2011-01-21. - New --stdin option in the btparser command line tool. - New functions btp_location_cmp, btp_location_to_string, btp_strbuf_init. - New supported format of thread header "Thread 8 (Thread 0xb07fdb70 (LWP 6357)):". - Bugfix of location update in btp_frame_parse. - The Bugzilla scripts that resided in scripts/ subdirectory were removed from btparser. They are being expanded and published in a separate project fedbz. == btparser 0.8 Released 2010-11-12. - The parser is now const-correct. - Slightly improved normalization. == btparser 0.7 Released 2010-10-14. - Small code cleanups. - Two tests were added. == btparser 0.6 Released 2010-09-23. Changes: - Functions btp_frame_eq* were renamed to provide cleaner interface. - Parameter `shallow` in functions btp_backtrace_dup, btp_thread_dup, btp_frame_dup has been removed to simplify the interface. - Interfaces of parser functions were modified to return structures/NULL instead of bool. Bugs fixed: - A compilation issue on 64-bit architecture with a fprintf call using %d instead of %zd. See the ChangeLog file for more details. == btparser 0.5 Released 2010-08-31. What's new: - If the last frame has address 0x0000 and its name is '??', its remove during backtrace normalization. This fixes rhbz#592523. == btparser 0.4 Released 2010-08-30. What's new: - RPM spec file has been added - 'make rpm' and 'make srpm' works for testing purposes == btparser 0.3 Released 2010-08-30. What's new: - the interface documentation has been extended - a proper README file was created - a pkg-config metadata file support has been added - some autotest code was added == btparser 0.2 Released 2010-08-27. What's new: - the API has been extensively reworked and simplified; user can call the function btp_backtrace_quality_complex to get the quality of the backtrace, function btp_backtrace_get_duplication_hash to get the hash, and function btp_backtrace_get_crash_frame to get the place where the program crashed - location support: in the case of failure, the backtrace parser reports line and column of the input string where the failure occurred and a message describing what input was expected - the command line options of the btparser utitity has been reduced and simplified; you can now run `btparser file.bt --duplicate-hash` to get the hash - the normalization code was significantly improved; this results in better backtrace hash quality === Duplication hash quality The hash quality has been significantly improved since btparser 0.1: ./btparser-bz-improvetips: 3092 duplicates out of total 8051 duplicates were _not_ recognized by btparser === Parser precision When compared to abrt-backtrace utility, the btparser's parser provides better results. In a test comparing the parser results on 25685 backtraces, btparser was "better" in 726 cases. === Parser speed The btparser's parser is slightly slower than abrt-backtrace's parser. Measurement of how long it takes to parse 25685 backtraces: btparser took 192.070000 seconds abrt-backtrace took 181.230000 seconds == btparser 0.1 Released 2010-06-15. Here is how btparser's hand-written parser became as good as abrt-backtrace's bison parser on 2010-05-28: initial -> parser quality: 1540 regressions out of 9015 newline allowed after function name in frame header -> parser quality: 1391 regressions out of 9015 nonrecursive braces (with spaces) allowed in function name -> parser quality: 1216 regressions out of 9015 recursive templates and braces, skip Python backtraces -> parser quality: 336 regressions out of 9015 manually marking backtraces where the difference is caused by better parser btparser -> parser quality: 98 regressions out of 9015, 164 times was btparser better support for operator> and similar -> parser quality: 65 regressions out of 9015, 185 times was btparser better support for type before function name and some more backtrace marking -> parser quality: 59 regressions out of 9015, 191 times was btparser better various small fixes of corner cases -> parser quality: 0 regressions out of 9015, 241 times was btparser better btparser took 101.650000 seconds, abrt-backtrace took 105.260000 seconds === Duplication hash quality ./btparser-bz-improvetips: 3976 duplicates out of total 7668 duplicates were not recognized by btparser.