October 1st, 2012· Permit multiple project/project groups to be supplied to prune. (Robert Collins, #1003627)
September 20th, 2012· Oops-tools now depends on newer djangorecipe, django 1.3.3 and oops-datedir-repo 0.0.19. The -repo dependency bump gets the analogous fix for 1050722 for the on-disk purging. (Robert Collins).
· Oops reports generated by oops-tools itself will now include django event data from timeline_django. This can be disabled if needed by disabling the oops_timeline hook in oopstools.wsgi. (Robert Collins)
· When pruning, look for OOPS references up to now rather than up to prune_until. Otherwise we miss any references created in the last week, probably only finding references within 24 hours of the OOPS occurring. (William Grant, #1050722)
September 15th, 2012· Reports have a per-report email address that can be set, to allow different reports to go to different addresses. (Robert Collins)
· HTML reports can be created for non-ascii OOPS topics. (Robert Collins, #1048470)
February 7th, 2012· Corrupt timeline objects are handled more gracefully if they are not a list, or the list rows are too short or too long. (Robert Collins, #890001)
· Failures in processing an AMQP sourced OOPS will now write out the path to the disk copy of the failed OOPS, to ease debugging. (Robert Collins, #892914)
· Failures in the Django web UI will now raise an OOPS over AMQP, making oops-tools an oops-tools consumer. (Robert Collins)
· Flush stdout when logging an OOPS receipt in amqp2disk. (Robert Collins, #884569)
· Hostnames are now shown in the OOPS detail page. This makes it possible to figure out if one host in particular is having trouble. (Robert Collins)
· Long oops ids - which are likely hashes - no longer have the old appserver id heuristic applied to them: if they have a missing or empty reporter, they are associated with the instance 'unknown'. (Robert Collins, #889982)
· Mixed case OOPS reports can now be looked up in the web UI without their OOPS-prefix (if they had one). (Robert Collins, #884571)
· Now uses the lp source dependencies rather than lazr, as part of simplifying the maintenance of the many related LP projects. (Robert Collins)
· Old OOPS reports can be cleaned out using the new script bin/prune. (Robert Collins)
· OOPS reports that don't meet the normal rules for req_vars are handled a bit better. (Robert Collins, William Grant, Roman Yepishev, #885416, #884265)
· Report timelines now include a backtrace for each event, making it easier to determine the origin of the event (e.g. why something is looked up). Timelines without this information will show 'unknown' in the relevant column on the OOPS page. (Robert Collins, #890976)
· The OOPS reporter field - or prefix as it was known - is now shown in the OOPS details page. (Robert Collins)
· The prefix and appinstance values can now be up to 100 characters long. (Robert Collins, #892917)
· The req_vars variable in OOPS reports may now be a dict. (Robert Collins, #888866)
November 1st, 2011· Added AMQP support via the bin/amqp2disk script. (Robert Collins)
· Bumped oops-amqp rev to 0.0.3 for bugfixes. (Robert Collins)
· amqp2disk now creates a fanout exchange if --bind-to is supplied. (Robert Collins)
· amqp2disk -v will print the received OOPS ids on the console, for entertainment and delight. (Robert Collins)
· OOPS reports with non-ascii URL values are handled by url escaping the URL bytestring (this is separate to handling of unicode URL values). (Roman Yepishev, Robert Collins, #881400)
· OOPS reports with unicode URL values are now handled during oops loading: the unicode string is utf8 encoded (an arbitrary choice) and url escaped. (Robert Collins, #879309)
· OOPS reports with no topic (formerlly called pageid) will no longer use their url instead. Rather '' is used, and reports will show Unknown for empty pageids. (Robert Collins, #880641)