=== 2.16.2 ===
2015-03-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2927] release 2.16.2

	* apport/hookutils.py: [2926] hookutils.py: Fix arguments to tail
	subprocess call

	* NEWS,
	* bin/crash-digger: [2925] revert r2919, httplib2 is an external
	module

	* NEWS,
	* apport/hookutils.py: [2924] * hookutils, attach_mac_events(): Read
	kernel violation messages from dmesg instead of /var/log/kern.log, as
	that's specific to rsyslog and its configuration.

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2923] * hookutils, recent_syslog(): Read
	system logs from the journal when running under systemd, and fall back
	to /var/log/syslog if not.

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2922] * hookutils, attach_dmesg(): Only
	attach dmesg as CurrentDmesg, drop BootDmesg as /var/log/dmesg is
	upstart specific and thus not reliably correct any more.

	* NEWS,
	* test/test_backend_apt_dpkg.py: [2921] * Move backend_apt_dpkg
	testsuite to use Ubuntu 14.04 LTS.

	* NEWS,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui: [2920] * apport-gtk: Update legacy icon names to
	modern GTK ones, to fix icons under GNOME. Thanks Scott Sanbar. (LP:
	#1422176)

	* NEWS,
	* bin/crash-digger: [2919] * crash-digger: Intercept
	httplib2.HttpLib2Error on download.

2015-02-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [2918] * hookutils, attach_drm_info(): Avoid
	UnicodeDecodeErrors in Python 3 when reading binary files. Thanks Chad
	Miller. (LP: #1425254)

2015-02-26  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2917] * ui.py, collect_info(): Fix crash on bug
	pattern checking with broken gzipped values. (LP: #1345653)

	* apport/crashdb_impl/launchpad.py: [2916] PEP-8 fix

2015-02-25  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2915] * launchpad backend
	download(): Try to convert textual values from byte arrays into into
	strings.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2914] * launchpad backend: Fix
	wrong use of filter() with Python 3.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2913] * launchpad backend: Fix
	unclosed file in upload().

	* NEWS,
	* problem_report.py: [2912] * ProblemReport: Set a timestamp of 0 in
	gzip compressed fields; they are meaningless and cause unnecessary
	jitter in the output.

2015-02-13  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2911] Launchpad automatic translations update.

2015-02-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [2910] * hookutils.in_session_of_problem():
	Check $XDG_SESSION_ID and /run/systemd/sessions instead of the cgroup,
	as the latter does not work under cgmanager.

=== 2.16.1 ===
2015-02-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2909] release 2.16.1

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2908] * Report.get_logind_session(): Check
	$XDG_SESSION_ID and /run/systemd/sessions instead of the cgroup, as
	the latter does not work under cgmanager.

2015-02-09  Martin Pitt <martin.pitt@canonical.com>

	* setup.cfg: Added.

	* NEWS: Modified.

	[2907] * Set gettext translation domain in setup.cfg, so that tools
	like dh_translations pick it up and show correct polkit translations.
	Thanks to Aron Xu! (LP: #1306857)

2015-02-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [2906] fix typo in changelog

=== 2.16 ===
2015-02-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2905] release 2.16

	* NEWS,
	* setup.py: [2904] * Don't install the test suite any more, to save 1
	MB of installed space. It can be run out of trunk easily enough, and
	distributions can install it from tests/ if they desire.

	* NEWS: [2903] NEWS: Sort into improvements and bug fixes

	* NEWS,
	* gtk/apport-gtk: [2902] * apport-gtk: When running under Wayland,
	avoid Gdk/Wnck operation for setting crash window modal to the PID of
	the crashed window; these only work under X11.

	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/run: [2901] apport-{gtk,kde}: Fix PEP-8 errors

	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/run: [2900] apport-{gtk,kde}: Fix pyflakes errors

	* NEWS,
	* bin/apport-bug,
	* gtk/apport-gtk: [2899] * apport-bug, apport-gtk: Also check for
	$WAYLAND_SESSION, to use apport-gtk instead of apport-cli under
	Wayland. Thanks Tim Lunn. (LP: #1418766)

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2898] * Fix check for available terminal when
	checking whether to display the "Examine locally" button.

	* NEWS,
	* data/whoopsie-upload-all: [2897] * whoopsie-upload-all: Add package
	information to the report before calling package hooks. Thanks Brian
	Murray.

2015-02-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-unpack,
	* problem_report.py,
	* test/test_problem_report.py: [2896] * Add a new method
	ProblemReport.extract_keys() which writes binary keys (which can be
	very large) directly to files without loading them all into memory
	first. Use that in apport-unpack. Thanks Louis Bouchard! (LP:
	#1307413)

	* NEWS,
	* apport/ui.py: [2895] * ui.py: Only provide a UI to hooks if the
	crash db will accept the report. This avoids asking questions if the
	report is merely sent to whoopsie for Ubuntu stable releases. Thanks
	Brian Murrary. (LP: #1084979)

2015-01-31  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2894] Launchpad automatic translations update.

2015-01-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2893] * launchpad backend: Work
	with Python 3, now that launchpadlib exists for Python 3. (LP:
	#1153671)

	* apport/crashdb_impl/launchpad.py: [2892] launchpad.py tests: use
	proper assertions

2015-01-16  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2891] Launchpad automatic translations update.

2015-01-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [2890] * hookutils,
	attach_root_command_outputs(): Fix UnicodeDecodeError crash for non-
	textual values. (LP: #1370259)

2014-12-24  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2889] Launchpad automatic translations update.

=== 2.15.1 ===
2014-12-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2888] release 2.15.1

	* NEWS,
	* gtk/apport-gtk.ui: [2887] * apport-gtk: Drop properties which are
	deprecated in GTK 3.14.

2014-12-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2886] * apt/dpkg
	_search_contents(): Check HTTP last-modified header to avoid re-
	downloading Contents.gz every day unless it actually changed. Thanks
	Brian Murray!

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2885] * Adjust launchpad crashdb
	testsuite to work against current Launchpad.

2014-12-16  Martin Pitt <martin.pitt@canonical.com>

	* test/test_signal_crashes.py: [2884] Work around
	signal_crashes.test_limit_size race condition  Sometimes the read
	stderr is completely empty, but this is almost impossible to reproduce
	interactively. Don't fail the entire test suite on this issue for now.

2014-12-10  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2883] Launchpad automatic translations update.

2014-12-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_signal_crashes.py: [2882] * Robustify
	signal_crashes.test_limit_size test.

	* NEWS,
	* test/test_report.py: [2881] * Robustify report.test_get_timestamp
	test.

2014-12-02  Martin Pitt <martin.pitt@canonical.com>

	* test/test_ui.py: [2880] ui.test_run_report_bug_unpackaged_pid:
	Mitigate a race condition

=== 2.15 ===
2014-12-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2879] release 2.15

	* setup.py: [2878] setup.py: Fix build failure due to test/data/
	subdir

	* NEWS,
	* data/whoopsie-upload-all: [2877] * data/whoopsie-upload-all: confirm
	that the crash file exists before trying to remove it. (LP: #1384358)

	* data/apport: [2876] data/apport: Put back python 2 hashbang, fallout
	from r2871

	* NEWS,
	* test/test_backend_apt_dpkg.py: [2875] * Fix
	backend_apt_dpkg.test_install_packages_permanent_sandbox test case
	with proxy env variables with latest apt.

	* NEWS,
	* apport/sandboxutils.py: [2874] * apport-retrace: Fix location of
	cached Contents.gz when using --sandbox-dir. (LP: #1394798)

2014-11-11  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2873] Launchpad automatic translations update.

2014-11-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui: [2872] * apport-gtk: Fix jump-to-top on first
	click of the details treeview. Thanks Marius Gedminas. (LP: #1387328)

	* NEWS,
	* data/apport,
	* test/test_signal_crashes.py: [2871] * When core size exceeds the
	limit (3/4 of available memory) and thus the core dump is skipped, log
	this to /var/log/apport.log. (LP: #1387835)

2014-10-25  Launchpad Translations on behalf of apport-hackers

	* po/bs.po: [2870] Launchpad automatic translations update.

2014-10-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* etc/init.d/apport: [2869] * Stop setting $PATH in the init.d script.
	It breaks assumptions from /lib/lsb/init-functions.d/ which might call
	other tools which are not in /bin; also, we generally shouldn't meddle
	with $PATH in individual scripts. (LP: #1372665)

2014-10-18  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2868] Launchpad automatic translations update.

2014-10-15  Martin Pitt <martin.pitt@canonical.com>

	* data/recoverable_problem: [2867] recoverable_problem: Fix crash when
	encountering a PID that went away underneath us. Follow-up fix for
	r2859

2014-10-10  Martin Pitt <martin.pitt@canonical.com>

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py: [2866] move packaging.enabled()
	implementation from apt/dpkg backend to parent class

2014-10-10  Martin Pitt <martin.pitt@canonical.com>

	* test/data,
	* test/data/testclick,
	* test/data/testclick/CMakeLists.txt,
	* test/data/testclick/bin,
	* test/data/testclick/bin/pycrash,
	* test/data/testclick/click,
	* test/data/testclick/click/CMakeLists.txt,
	* test/data/testclick/click/manifest.json.in,
	* test/data/testclick_0.1_all.click: Added.

	[2865] add a test click source and binary package to test/data

2014-10-10  Martin Pitt <martin.pitt@canonical.com>

	* data/recoverable_problem: [2864] whitespace cleanup

	* NEWS,
	* data/whoopsie-upload-all: [2863] * whoopsie-upload-all: Refactor to
	behave more reliably in case of overlapping crash processing. Thanks
	Steve Langasek and Brian Murray. (LP: #1354318) * whoopsie-upload-all:
	Remove crash reports that have a core dump which is broken and cannot
	be processed by gdb. Thanks Brian Murray. (LP: #1376374)

2014-10-07  Launchpad Translations on behalf of apport-hackers

	* po/hu.po: [2862] Launchpad automatic translations update.

2014-09-30  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2861] Launchpad automatic translations update.

2014-09-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2860] * apport-retrace: Stop
	considering a package download error as transient; it can too easily
	lead to unnoticed eternal retry loops.

2014-09-22  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* data/recoverable_problem: [2859]  * recoverable_problem: Handle the
	parent process going away while we're attempting to read from proc.

2014-09-19  Launchpad Translations on behalf of apport-hackers

	* po/bs.po: [2858] Launchpad automatic translations update.

2014-09-12  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2857] Launchpad automatic translations update.

2014-09-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2856] * ui.py: Robustify check if apport-retrace is
	installed. This brings back the "Examine locally" UI option. (LP:
	#1358734)

2014-08-30  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2855] Launchpad automatic translations update.

=== 2.14.7 ===
2014-08-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2854] release 2.14.7

	* NEWS,
	* apport/report.py,
	* bin/apport-retrace,
	* data/whoopsie-upload-all,
	* test/test_report.py: [2853] * report.py, add_gdb_info(): Check for
	truncated core dumps, and set UnreportableReason and raise an IOError
	on them. Handle this in apport-retrace and whoopsie-upload-all to fail
	properly instead of silently producing broken Stacktraces. (LP:
	#1354571)

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2852] merge i18n

	* NEWS,
	* test/test_report.py: [2851] * Fix report.test_add_proc_info test to
	stop assuming that pid 1 is named "init", as one can specify a
	different one on the kernel command line.

2014-08-28  Martin Pitt <martin.pitt@canonical.com>

	* etc/apport/crashdb.conf: [2850] etc/apport/crashdb.conf: Fix
	whitespace

2014-08-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/sandboxutils.py: [2849] * sandboxutils.py, make_sandbox():
	Drop check for already existing files when dynamically resolving
	libraries and ExecutablePaths; with that, these packages would never
	get updated in a permanent sandbox. The new version tracking from
	above now takes care of that. (LP: #1352591)

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2848] * apt/dpkg install_packages():
	Avoid re-downloading/installing packages which are already installed
	into a permanent sandbox. Prerequisite for LP #1352591.

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2847] * apt/dpkg install_packages():
	Write a "packages.txt" into sandbox root directory to keep track of
	installed packages and their versions. Prerequisite for LP #1352591.

	* NEWS,
	* apport/ui.py: [2846] * Write report even on UnreportableReasons, so
	that whoopsie can still upload them. (LP: #1360417)

	* NEWS,
	* bin/apport-retrace: [2845] * apport-retrace: Don't require
	specifying an operation; default to updating the given .crash file.
	(LP: #1361242)

	* NEWS,
	* data/apport,
	* test/test_signal_crashes.py: [2844] * Fix interpretation of core
	dump ulimits: they are in bytes, not kB. (LP: #1346497)

2014-08-22  Launchpad Translations on behalf of apport-hackers

	* po/uk.po: [2843] Launchpad automatic translations update.

2014-08-20  Launchpad Translations on behalf of apport-hackers

	* po/it.po: [2842] Launchpad automatic translations update.

2014-08-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_backend_apt_dpkg.py: [2841] * Adjust
	backend_apt_dpkg.test_get_file_package() test: newer util-linux
	versions do not provide /etc/blkid.tab any more.

2014-08-19  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2840] Launchpad automatic translations update.

=== 2.14.6 ===
2014-08-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2839] release 2.14.6

2014-08-18  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2838] Launchpad automatic translations update.

2014-08-18  Martin Pitt <martin.pitt@canonical.com>

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/ce.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2837] update i18n

	* NEWS,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui,
	* po/apport.pot: [2836] * apport-gtk: Drop usage of deprecated GTK
	stock items. (LP: #1348116)

	* gtk/apport-gtk.ui: [2835] apport-gtk.ui: Replace deprecated "stock"
	property with "icon-name", and drop duplicate prop

2014-08-12  Launchpad Translations on behalf of apport-hackers

	* po/ce.po: Added.

	[2834] Launchpad automatic translations update.

2014-08-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [2833] * apport-retrace: Declare -s/-g/-o as
	mutually exclusive, to get proper error messages instead of silent
	misbehaviour. (LP: #1352450)

	* bin/apport-retrace: [2832] apport-retrace: Port to argparse

	* NEWS,
	* apport/ui.py: [2831] * collect_info(): Don't assume that reports
	have a ProblemType. Fixes crashes with apport-collect. (LP: #1325729)

2014-07-31  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2830] Launchpad automatic translations update.

2014-07-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/general-hooks/generic.py: [2829] * general-hooks/generic.py:
	Fix hook crash if there are non-distro libraries and no user
	interface.

=== 2.14.5 ===
2014-07-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2828] release 2.14.5

	* NEWS,
	* test/test_report.py: [2827] * Fix
	report.test_check_interpreted_twistd test to skip instead of fail if
	twisted is not installed.

	* NEWS,
	* test/test_report.py: [2826] * Adjust report.test_get_logind_session
	test to work with systemd >= 205.

	* NEWS,
	* data/whoopsie-upload-all: [2825] * whoopsie-upload-all: Collect
	hooks information to gather ApportVersion, NonfreeKernelModules, and
	SystemImageInfo. Do this before collecting package data to minimize
	hook run time. (LP: #1349579)

	* apport/report.py: [2824] apport.Report.add_os_info(): This does not
	add NonfreeKernelModules, fix docstring

	* NEWS,
	* etc/default/apport: [2823] * etc/default/apport: Fix comment to use
	"service" instead of calling the init.d script directly.

	* data/kernel_oops: [2822] data/kernel_oops: PEP-8 fixes

	* NEWS,
	* data/whoopsie-upload-all: [2821] * whoopsie-upload-all: Ignore crash
	reports with incomplete core dumps instead of crashing on them. Thanks
	Brian Murray. (LP: #1329520)

2014-07-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2820] * apt/dpkg
	install_packages(): Disable fetching apt translation indexes, to save
	some bandwidth.

2014-07-12  Launchpad Translations on behalf of apport-hackers

	* po/de.po: [2819] Launchpad automatic translations update.

2014-07-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2818] * apt/dpkg get_file_package():
	If checking for uninstalled packages, don't use package information
	from the host system, but always look it up in the correct indexes.
	Otherwise this returns wrong results when files move to a different
	package between releases. Thanks Brian Murray! (LP: #1336062)

2014-07-10  Martin Pitt <martin.pitt@canonical.com>

	* po/de.po: [2817] Fix duplicate key shortcut in German translation

	* NEWS,
	* bin/apport-bug: [2816] * apport-bug: Stop checking the autoreport
	flag and calling whoopsie-upload-all; these two are different tasks,
	and that breaks bug reporting. (LP: #1339663)

2014-07-10  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/az.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2815] Launchpad automatic translations update.

=== 2.14.4 ===
2014-07-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2814] release 2.14.4

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2813] * Report.crash_signature_addresses():
	Drop kernel architecture from StacktraceAddressSignature field. It
	isn't useful there (at most the ELF architecture, but we don't really
	need that either). This makes it easier to regenerate broken
	signatures from existing reports on different architectures. (LP:
	#1336565)

2014-07-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2812] * Report.crash_signature_addresses(): If
	the report has an Uname field, use that instead of querying uname.
	This makes it easier to regenerate broken signatures from existing
	reports on different architectures. (LP: #1336565)

	* NEWS,
	* apport/__init__.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/report.py,
	* apport/ui.py,
	* backends/packaging-apt-dpkg.py,
	* bin/dupdb-admin,
	* data/general-hooks/parse_segv.py,
	* data/kernel_crashdump,
	* data/whoopsie-upload-all,
	* test/test_fileutils.py,
	* test/test_python_crashes.py,
	* test/test_ui.py: [2811] * Adjust code to match latest pep8 checker.

2014-07-02  Launchpad Translations on behalf of apport-hackers

	* po/az.po: Added.

	[2810] Launchpad automatic translations update.

2014-06-26  Launchpad Translations on behalf of apport-hackers

	* po/de.po,
	* po/fr.po: [2809] Launchpad automatic translations update.

2014-06-24  Martin Pitt <martin.pitt@canonical.com>

	* po/fr.po: [2808] fix duplicate hotkey in French translation

2014-06-07  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2807] Launchpad automatic translations update.

=== 2.14.3 ===
2014-05-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2806] release 2.14.3

2014-05-22  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2805] Launchpad automatic translations update.

2014-05-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/apportcheckresume: [2804] Revert dupe sig from
	apportcheckresume (r2800), moved to linux package hook

2014-05-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/recoverable_problem,
	* data/whoopsie-upload-all,
	* test/test_recoverable_problem.py: [2803] * Use package name in
	duplicate signature for recoverable problems. Thanks Brian Murray.
	(LP: #1316763) * Have whoopsie-upload-all upload recoverable problems.
	Thanks Brian Murray. (LP: #1319099)

2014-05-14  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2802] Launchpad automatic translations update.

2014-05-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [2801] add bug ref to NEWS

2014-05-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/apportcheckresume: [2800] * Add a duplicate signature to
	suspend resume failures. Thanks Brian Murray. (LP: #1316841)

2014-05-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py,
	* data/apportcheckresume,
	* data/iwlwifi_error_dump,
	* data/kernel_crashdump,
	* data/kernel_oops: [2799] * Add kernel package version to the various
	kernel-related hooks. Thanks Brian Murray.

2014-05-01  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2798] Launchpad automatic translations update.

2014-04-30  Martin Pitt <martin.pitt@canonical.com>

	* test/test_backend_apt_dpkg.py: [2797]
	backend_apt_dpkg.test_install_packages_versioned: Fix namespacing of
	ver

=== 2.14.2 ===
2014-04-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2796] release 2.14.2

	* NEWS,
	* test/test_signal_crashes.py: [2795] * signal_crashes test: Ensure
	that we don't inherit an ignored SIGQUIT from the caller.

	* NEWS,
	* test/test_signal_crashes.py: [2794] * signal_crashes test: Time out
	after 5 seconds if the test process does not terminate on the
	specified signal, to avoid eternal hangs.

2014-04-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/iwlwifi_error_dump: [2793] * iwlwifi_error_dump: Make reports
	private, and subscribe canonical-kernel-team. Thanks Seth Forshee.
	(LP: #1313818)

2014-04-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/sandboxutils.py: [2792] * sandboxutils.py, make_sandbox():
	When determining packages to install from ProcMaps, look up and use
	the package versions from the reporter, to improve retracing results.
	Thanks Brian Murray for the initial patch!

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2791] * apt/dpkg install_packages():
	Try to install the requested package version instead of always picking
	the most recent one. This should improve retracing results for older
	crash reports. Thanks to Brian Murray for inspiring this.

	* backends/packaging-apt-dpkg.py: [2790]
	backend_apt_dpkg.install_packages(): Rename "c" to "cache". Suggested
	by Brian Murray

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py,
	* test/test_ui_gtk.py: [2789] * Move error handling for invalid .crash
	files into collect_info(), so that it also applies when using the
	"Show Details..." button in the UI. Otherwise the UI just hangs
	eternally at this point when encountering broken core dumps. (LP:
	#1282349)

2014-04-23  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2788] Launchpad automatic translations update.

2014-04-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport_python_hook.py: [2787] * Delay the import of the glob and re
	modules in the python apport hook, and only import them when needed.
	Speeds up interpreter startup time by 50%. Thanks Matthias Klose! (LP:
	#1307684)

2014-04-11  Launchpad Translations on behalf of apport-hackers

	* po/zh_CN.po: [2786] Launchpad automatic translations update.

2014-04-10  Launchpad Translations on behalf of apport-hackers

	* po/zh_CN.po: [2785] Launchpad automatic translations update.

=== 2.14.1 ===
2014-04-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2784] release 2.14.1

	* NEWS,
	* kde/apport-kde: [2783] * apport-kde: Work around crash in sip by
	skipping the destructors of SIP objects. Thanks Rohan Garg! (LP:
	#1282713)

	* NEWS,
	* apport/ui.py: [2782] * ui.py, open_url(): Skip any Python
	cleanup/atexit handlers in the forked xdg-open child, to avoid calling
	them twice. (Side issue of LP #1300474 and #1282713)

2014-04-04  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2781] Launchpad automatic translations update.

2014-04-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2780] * Fix FileNotFoundError
	from temporary launchpadlib cache dir cleanup. (LP: #1300474)

=== 2.14 ===
2014-03-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2779] release 2.14

2014-03-27  Martin Pitt <martin.pitt@canonical.com>

	* data/iwlwifi_error_dump,
	* udev,
	* udev/50-apport.rules: Added.

	* NEWS,
	* setup.py: Modified.

	[2778] * Add KernelCrash reports when iwlwifi encounters a firmware
	error (via the "error_dump" uevent and the new iwlwifi_error_dump
	helper). Thanks Seth Forshee!

2014-03-27  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2777] Launchpad automatic translations update.

2014-03-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2776] * Fix crash in logind session detection.
	Thanks Dimitri Ledkov! (LP: #1296026)

2014-03-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2775] * launchpad: Really use a
	temporary launchpadlib cache dir by default. This avoids piling up
	gigabytes of useless cached data over time, which also tends to break
	every now and then.

2014-03-15  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/fr_CA.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pa.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2774] Launchpad automatic translations update.

=== 2.13.3 ===
2014-03-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2773] release 2.13.3

	* NEWS,
	* apport/ui.py: [2772] * ui.py: Try to grab session D-BUS address from
	user's session when being called through pkexec. (LP: #1287460)

2014-02-13  Launchpad Translations on behalf of apport-hackers

	* po/fr_CA.po: Added.

	[2771] Launchpad automatic translations update.

2014-02-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* etc/cron.daily/apport: [2770] * etc/cron.daily/apport: Cleanup
	.drkonqi files after 7 days. Thanks Harald Sitter.

2014-02-11  Launchpad Translations on behalf of apport-hackers

	* po/bg.po: [2769] Launchpad automatic translations update.

2014-02-04  Launchpad Translations on behalf of apport-hackers

	* po/bg.po: [2768] Launchpad automatic translations update.

2014-02-03  Launchpad Translations on behalf of apport-hackers

	* po/bg.po,
	* po/pa.po,
	* po/sq.po: [2767] Launchpad automatic translations update.

2014-02-02  Launchpad Translations on behalf of apport-hackers

	* po/pa.po: Added.

	* po/sq.po: Modified.

	[2766] Launchpad automatic translations update.

2014-01-28  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2765] Launchpad automatic translations update.

2014-01-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_backend_apt_dpkg.py: [2764] * Fix
	backend_apt_dpkg.test_get_file_package_uninstalled test that got
	broken in the previous release.

=== 2.13.2 ===
2014-01-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2763] release 2.13.2

	* NEWS,
	* data/apport,
	* test/test_report.py: [2762] * data/apport: Fix stdout/stderr
	initialization of the error log, don't close the original fd after
	dup2'ing as it is usually already fd 1. This makes Apport work with
	Python 3.4. (LP: #1272355) * Adjust report tests to work with Python
	3.4 (LP: #1272355)

	* apport/ui.py,
	* test/test_ui.py: [2761] KnownReport is an internal transient key,
	rename to _KnownReport

	* NEWS,
	* apport/ui.py,
	* bin/apport-cli,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui.py: [2760] * Only drop internal/private keys (starting
	with '_') from uploading to the crash DB and from the UI report views,
	but not already when updating the report. (LP: #1272505)

2014-01-22  Martin Pitt <martin.pitt@canonical.com>

	* test/test_backend_apt_dpkg.py: [2759] fix
	backend_apt_dpkg.test_install_packages_system test for newer coreutils

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2758] * apt/dpkg: Also consider
	Contents.gz from updates/security/proposed pockets, so that e. g.
	apport-retrace works for crash reports with files that are new in
	those. Thanks to Brian Murray for the initial patch. (LP: #1271258)

2014-01-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2757] * Fix crash if systemd cgroup is unreadable
	in /sys, such as in containers. (LP: #1270783)

2014-01-15  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2756] Launchpad automatic translations update.

=== 2.13.1 ===
2014-01-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2755] release 2.13.1

	* NEWS,
	* test/test_ui.py: [2754] * Fix ui.test_run_crash_older_session for
	different file system file orders.

	* apport/report.py: [2753] Don't warn about missing gdb-multiarch if
	report has no Architecture: field

	* NEWS,
	* test/test_ui.py: [2752] * Fix ui.test_run_crash_older_session test
	for running as root.

2014-01-10  Martin Pitt <martin.pitt@ubuntu.com>

	* NEWS,
	* test/test_ui.py: [2751] Fix erroneous "gdb-multiarch not installed"
	warnings in ui tests.

2014-01-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_report.py: [2750] * Fix report.test_get_timestamp test for
	running in other time zones.

=== 2.13 ===
2014-01-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2749] release 2.13

	* NEWS,
	* etc/init.d/apport: [2748] * etc/init.d/apport: Don't change
	core_pattern when running in a container, as this influences the host
	and other containers, too. (LP: #1267728)

	* NEWS,
	* data/apport,
	* etc/init.d/apport,
	* use-local: [2747] Add support for PID namespaces (Linux containers)
	Crashes originating from a container on a system running a >= 3.12
	kernel will be automatically redirected to apport inside the
	container, or ignored if apport is not installed in the container.
	Thanks to St?phane Graber!

2014-01-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* apport/ui.py,
	* test/test_report.py,
	* test/test_ui.py: [2746] In "run all pending crashes" mode, skip
	reports that happened during logout  Yhey are uninteresting and
	confusing to see at the next login. (LP: #1033932) They can still be
	reported manually with running the .crash file directly, but this
	sufficiently reduces the need to explicitly flag whether the report
	concerns a logout crash. (LP: #1067646)

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2745] Do not report keys starting with '_' to the
	crash database        This can be used for keeping private keys in
	.crash files between crash and report time, or to store data between
	hooks etc., without cluttering reports.

	* NEWS,
	* data/whoopsie-upload-all: [2744] * whoopsie-upload-all: Add a
	-t/--timeout option. In CI environments it is undesirable to block on
	upload for 30 mins, but it's still a reasonable timeout on less well
	connected devices.

	* NEWS,
	* apport/report.py: [2743] * Print a warning when trying to retrace a
	report from a foreign architecture and gdb-multiarch is not installed.
	(LP: #1239395)

2014-01-07  Martin Pitt <martin.pitt@canonical.com>

	* test/run: [2742] test/run: Also filter out apport-collect

	* NEWS,
	* setup.py: [2741] * setup.py: Make updating of hashbangs work when
	building without Java, and also apply it on bin/.

2013-12-27  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mhr.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2740] Launchpad automatic translations update.

2013-12-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_signal_crashes.py: [2739] * test_signal_crashes: Stop
	checking that gdb prints nothing on stderr, as latest gdb 7.6.50 now
	almost always prints some about missing source files.

	* NEWS,
	* test/test_signal_crashes.py: [2738] * test_signal_crashes: Clean up
	unexpected reports after every test, to avoid breaking all subsequent
	tests.

2013-12-11  Launchpad Translations on behalf of apport-hackers

	* po/mhr.po: Added.

	[2737] Launchpad automatic translations update.

2013-11-20  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2736] Launchpad automatic translations update.

=== 2.12.7 ===
2013-11-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2735] release 2.12.7

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2734] merge i18n

2013-11-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2733] * apt/dpkg: Don't call dpkg-
	divert with full path, it moved in Ubuntu 14.04.

2013-11-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/fileutils.py,
	* test/test_fileutils.py: [2732] * fileutils.py,
	get_all_system_reports(): Filter out "guest..." users, they might have
	a system UID. (LP: #1250679)

2013-11-14  Launchpad Translations on behalf of apport-hackers

	* po/lt.po: [2731] Launchpad automatic translations update.

2013-11-07  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2730] Launchpad automatic translations update.

2013-11-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2729] * report.py, add_proc_info(): Add
	"CurrentDesktop" field with the value of $XDG_CURRENT_DESKTOP, if
	present. (LP: #1247904)

2013-10-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/packaging.py: [2728] * Properly fall back to lsb_release if
	/etc/os-release is invalid.

2013-10-26  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2727] Launchpad automatic translations update.

2013-10-25  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2726] Launchpad automatic translations update.

=== 2.12.6 ===
2013-10-25  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2725] release 2.12.6

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2724] merge po files

	* NEWS,
	* data/apport,
	* test/test_signal_crashes.py: [2723] * SECURITY FIX: For setuid
	programs which drop their privileges after startup, make the report
	and core dumps owned by root, to avoid possible data disclosure. Also,
	change core dump files to permissions "0600". Thanks to Martin
	Carpenter for discovering this! (CVE-2013-1067, LP: #1242435)

2013-10-24  Launchpad Translations on behalf of apport-hackers

	* po/is.po: [2722] Launchpad automatic translations update.

2013-10-23  Martin Pitt <martin.pitt@canonical.com>

	* test/test_signal_crashes.py: [2721] simplify
	signal_crashes.test_modify_after_start using addCleanup

	* test/test_signal_crashes.py: [2720] test_signal_crashes.py: verify
	that crash report has expected owner

2013-10-15  Launchpad Translations on behalf of apport-hackers

	* po/fi.po: [2719] Launchpad automatic translations update.

2013-10-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2718] * apt/dpkg: Recognize options
	in apt sources.list. (LP: #1238620)

	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2717] packaging-apt-dpkg.py: Factor
	out apt source list parsing for primary mirror and add test

2013-10-08  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2716] Launchpad automatic translations update.

2013-09-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/sandboxutils.py: [2715] *
	sandboxutils.needed_runtime_packages(): Create cache directory for
	Contents.gz if missing. (LP: #933199)

2013-09-27  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2714] Launchpad automatic translations update.

=== 2.12.5 ===
2013-09-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2713] release 2.12.5

2013-09-27  Martin Pitt <martin.pitt@canonical.com>

	* data/icons/32/apps/apport.png,
	* data/icons/32/mimetypes,
	* data/icons/32/mimetypes/text-x-apport.png,
	* data/icons/48/apps/apport.png,
	* data/icons/48/mimetypes,
	* data/icons/48/mimetypes/text-x-apport.png,
	* data/icons/64,
	* data/icons/64/apps,
	* data/icons/64/apps/apport.png,
	* data/icons/64/mimetypes,
	* data/icons/64/mimetypes/text-x-apport.png: Added.

	* data/icons/32/apps/apport.svg,
	* data/icons/48/apps/apport.svg: Removed.

	* NEWS: Modified.

	[2712] * Replace fixed size icons with PNGs, which are more efficient
	and avoid rendering artifacts. (LP: #1231763)

2013-09-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/kernel_oops,
	* test/test_hooks.py: [2711] * kernel_oops hook: Collect uname at the
	time of invoking the hook, instead of at data collection time. (LP:
	#1226776)

	* NEWS,
	* apport/report.py,
	* gtk/apport-gtk,
	* test/test_report.py: [2710] * Report.add_os_info(): Do not overwrite
	already existing data. (LP: #1226776)

=== 2.12.4 ===
2013-09-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2709] release 2.12.4

2013-09-19  Martin Pitt <martin.pitt@canonical.com>

	* data/icons/32,
	* data/icons/32/apps,
	* data/icons/32/apps/apport.svg,
	* data/icons/48,
	* data/icons/48/apps,
	* data/icons/48/apps/apport.svg: Added.

	* NEWS,
	* data/icons/scalable/apps/apport.svg: Modified.

	[2708] * Update icons to new design from Vishnoo Charan Reddy, many
	thanks! (LP: #1079639)

=== 2.12.3 ===
2013-09-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2707] release 2.12.3

	* NEWS,
	* apport/ui.py,
	* bin/apport-cli,
	* kde/apport-kde,
	* test/test_ui.py: [2706] * Fix ui_present_report_details()
	"modal_for" keyword for all UI implementations, so that --hanging
	works for -cli and -kde, too. (LP: #1213790)

	* NEWS,
	* gtk/apport-gtk: [2705] * apport-gtk: Don't use obsolete
	add_with_viewport() method any more.

	* NEWS,
	* problem_report.py: [2704] * ProblemReport.write_mime(): Adjust
	MIMEText handling to latest Python 3.3 upstream changes which now
	don't tolerate passing bytes any more. (LP: #1227381)

2013-09-18  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2703] Launchpad automatic translations update.

=== 2.12.2 ===
2013-09-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2702] release 2.12.2

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2701] merge i18n

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2700] * Move "program is not installed any more"
	check from report loading into data collection, so that crash reports
	can be moved and reported on machines without that program installed.
	(LP: #1226030)

2013-09-17  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2699] Launchpad automatic translations update.

2013-09-16  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2698] * apport-gtk: When loading a Bug report
	from a file, properly set up for bug reporting mode. (LP: #1226140)

2013-09-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/crash-digger: [2697] * crash-digger: Write pid into lock file.
	Thanks Steve Langasek.

2013-09-07  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2696] Launchpad automatic translations update.

2013-08-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_ui_kde.py: [2695] * test_ui_kde.py: Cleanly skip the test
	if PyQt/PyKDE are not installed, instead of failing.

	* NEWS,
	* apport/fileutils.py,
	* test/test_fileutils.py: [2694] * fileutils.py,
	get_{new,all}_reports(): Don't consider reports which are readable,
	but not writable. (LP: #1098844)

	* apport/ui.py: [2693] fix PEP-8 error

2013-08-30  Launchpad Translations on behalf of apport-hackers

	* po/et.po: [2692] Launchpad automatic translations update.

2013-08-29  Launchpad Translations on behalf of apport-hackers

	* po/et.po: [2691] Launchpad automatic translations update.

2013-08-20  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2690] Launchpad automatic translations update.

=== 2.12.1 ===
2013-08-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2689] release 2.12.1

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2688] merge i18n

	* NEWS,
	* apport/report.py,
	* apport/ui.py,
	* test/test_report.py,
	* test/test_ui.py: [2687] * apport/report.py: Gracefully handle being
	unable to get the source package for a binary package, as when the
	latter does not exist in the cache. (LP: #1097773)

2013-08-19  Evan Dandrea <evan.dandrea@canonical.com>

	* data/apport-noui: Removed.

	* NEWS,
	* bin/apport-bug: Modified.

	[2686] * Drop apport-noui in favour of whoopsie-upload-all. We don't
	want to process hooks when run noninteractively, since they may ask
	questions or determine a report is not due to a bug in Ubuntu.
	whoopsie-upload-all skips these hooks.

2013-08-09  Launchpad Translations on behalf of apport-hackers

	* po/ar.po: [2685] Launchpad automatic translations update.

2013-08-08  Launchpad Translations on behalf of apport-hackers

	* po/ar.po: [2684] Launchpad automatic translations update.

2013-08-03  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2683] Launchpad automatic translations update.

2013-08-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2682] * Robustify "progress bar visible" GTK
	and KDE UI checks for the faster collection due to dropping
	lsb_release.

	* NEWS,
	* apport/sandboxutils.py: [2681] make_sandbox(): Bring back the
	ProcMaps optimization for distro packages  Only get the full set of
	Package/Dependencies packages if there is any non-distro package in
	that set (containing '[origin'). This keeps the opimization for native
	distro packages.

	* NEWS,
	* apport/sandboxutils.py: [2680] * sandboxutils.py, make_sandbox():
	Install packages from Package: and Dependencies: fields also if we
	have a ProcMaps: field. Not doing that was a nice optimization for
	distro packages, but makes life hard for retracing crashes that use
	PPAs (as they don't have Contents.gz)

=== 2.12 ===
2013-08-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2679] release 2.12

	* do-release: [2678] do-release: drop pyflakes check, already covered
	by testsuite

	* NEWS,
	* doc/data-format.tex: [2677] * doc/data-format.tex: Drop unused "OS"
	and "OSRelease" fields, replace with "DistroRelease" which is actually
	being used. (LP: #1018387)

	* NEWS,
	* apport/packaging.py,
	* apport/report.py,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py,
	* test/test_packaging.py: [2676] * Eliminate multiple calls to
	lsb_release by caching the result. On systems which provide /etc/os-
	release, use that instead of lsb_release. (LP: #1164742)

	* NEWS,
	* apport/ui.py: [2675] * Fix error message when PID is inaccessible.
	(LP: #1204718)

	* NEWS,
	* bin/apport-retrace: [2674] * apport-retrace: Fix crash when using
	--sandbox without --cache. (LP: #1197034)

	* NEWS,
	* apport/report.py: [2673] * report.py, add_gdb_info(): Fix crash if
	gdb cannot load the symbol map. (LP: #1171484)

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2672] merge i18n

2013-08-02  Martin Pitt <martin.pitt@canonical.com>

	* data/whoopsie-upload-all: Added.

	* NEWS: Modified.

	[2671] * Add data/whoopsie-upload-all: Process all pending crashes and
	mark them for whoopsie upload, but do not upload them to any other
	crash database. Wait until whoopsie is done uploading.

2013-08-02  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk.desktop.in: Removed.

	* NEWS: Modified.

	* gtk/apport-gtk-mime.desktop.in: Renamed to gtk/apport-gtk.desktop.in
	  and modified.

	[2670] * Rename apport-gtk-mime.desktop to apport-gtk.desktop and drop
	the old apport-gtk.desktop that wasn't even being installed. With
	that, the window will be shown as "Report a problem..." instead of
	"Apport-gtk" in GNOME shell and other DEs. Thanks Jeremy Bicha. (LP:
	#1207496)

2013-07-30  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2669] Launchpad automatic translations update.

2013-07-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/recoverable_problem: [2668] * recoverable_problem: Can take the
	PID as an argument.

2013-07-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* data/apport: [2667] * apport: Fix "Exectuable" typo, leading to
	reports not being synced on upstart crashes. Thanks James Hunt. (LP:
	#1203744)

2013-07-19  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2666] Launchpad automatic translations update.

2013-07-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2665] * ui.py: Check if options for updating and
	reporting a new bug get used together, and give a proper error message
	in this case. (LP: #1071905)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2664] * launchpad.py: Show the
	Python major version in the error message about missing launchpadlib.

=== 2.11 ===
2013-07-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2663] release 2.11

	* NEWS: [2662] bump version number to 2.11, this has new features

	* NEWS,
	* bin/apport-bug: [2661] apport-bug: Check /etc/apport/autoreport flag
	file  We don't want to check an "automatic" option in
	/etc/default/apport, as we want different defaults on different images
	(desktop/phone), and this is a conffile.

	* NEWS,
	* apport/hookutils.py: [2660] * hookutils.py, attach_upstart_logs():
	Also attach ~/.cache/upstart/application-<desktopname>.log for any
	*.desktop file shipped by a package.

2013-07-15  Martin Pitt <martin.pitt@canonical.com>

	* test/test_hookutils.py: [2659] test_hookutils.py: Cover
	attach_upstart_logs() in "no crash" check

	* data/apport-noui: [2658] apport-noui: Fix PEP-8 and pyflakes errors

2013-07-12  Evan Dandrea <evan.dandrea@canonical.com>

	* bin/apport-bug: [2657] Don't run through the noninteractive frontend
	and then the gtk frontend.

2013-07-11  Evan Dandrea <evan.dandrea@canonical.com>

	* data/apport-noui: Added.

	* NEWS,
	* bin/apport-bug: Modified.

	[2656] * data/apport-noui: A noninteractive frontend for automatic
	error reporting.

2013-06-28  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2655] Launchpad automatic translations update.

2013-06-21  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [2654] * hookutils.py, attach_conffiles(): Fix
	check for inaccessible or modified conffiles. (LP: #1192899)

2013-06-18  Launchpad Translations on behalf of apport-hackers

	* po/nb.po: [2653] Launchpad automatic translations update.

2013-06-08  Launchpad Translations on behalf of apport-hackers

	* po/sr.po: [2652] Launchpad automatic translations update.

2013-06-07  Launchpad Translations on behalf of apport-hackers

	* po/de.po: [2651] Launchpad automatic translations update.

2013-05-30  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2650] Launchpad automatic translations update.

=== 2.10.2 ===
2013-05-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2649] release 2.10.2

	* NEWS,
	* test/test_hookutils.py: [2648] * test_hookutils.py: Don't assume
	that /etc/motd exists.

	* NEWS,
	* apport/sandboxutils.py,
	* backends/packaging-apt-dpkg.py: [2647] * sandboxutils.py: Call
	get_file_package() with the report's release, so that we actually get
	files from the target release, not the host release.

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2646] * apt/dpkg: Fix
	get_file_package()'s "release" field to actually mean DistroRelease:,
	not a distro code name. This now requires a previous call to
	install_packages() with a configdir, which needs to have a file
	<configdir>/<release>/codename with the release's code name in it.

2013-05-22  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2645] Launchpad automatic translations update.

2013-05-21  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [2644] remove debug statement

	* NEWS,
	* apport/report.py: [2643] * report.py, add_gdb_info(): Fix crash if
	gdb did not determine an assertion message. (LP: #1171484)

	* NEWS,
	* apport/ui.py: [2642] * Fix endless loop of EOFErrors with broken
	core dumps. (LP: #1168849)

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2641] update po files

2013-05-21  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2640] Launchpad automatic translations update.

2013-05-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_python_crashes.py: [2639] * Resolve symlinks in file
	references in Python crash signatures. (LP: #1179979)

2013-05-16  Martin Pitt <martin.pitt@canonical.com>

	* TODO: [2638] drop implemented TODO item

=== 2.10.1 ===
2013-05-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2637] release 2.10.1

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2636] * apt/dpkg: When there is no
	-dbg package, install all -dbg packages of the corresponding source
	package, and only then fall back to -dbgsym. (LP: #1003234)

2013-05-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2635] * launchpad.py: Fix crash
	when trying to adjust a distro-only bug task if the bug also already
	has a distropackage task.

2013-05-12  Launchpad Translations on behalf of apport-hackers

	* po/et.po: [2634] Launchpad automatic translations update.

2013-05-03  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/mr.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/tg.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2633] Launchpad automatic translations update.

2013-05-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_ui.py: [2632] * Fix ui.test_run_crash_anonymity_escaping
	test when running as root.

=== 2.10 ===
2013-04-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2631] release 2.10

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2630] * hookutils.py,
	in_session_of_problem(): Port from ConsoleKit to logind.

	* NEWS,
	* apport/hookutils.py: [2629] * hookutils.py: Add
	attach_upstart_logs(), thanks Steve Langasek.

	* NEWS: [2628] NEWS: separate out the improvements

2013-04-25  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2627] * apport/report.py: Generate a crash
	signature for suspend/resume failures.

2013-04-25  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2626] * Fix UnicodeDecodeError when apport
	encounters non-ASCII environment variables. (LP: #1172638)

	* NEWS,
	* test/run,
	* test/test_fileutils.py,
	* test/test_report.py: [2625] * Run tests under LC_CTYPE=C and unset
	LANG as well, to discover assumptions about UTF-8 locales. Fix the two
	failing tests.

2013-04-21  Launchpad Translations on behalf of apport-hackers

	* po/tg.po: Added.

	[2624] Launchpad automatic translations update.

2013-04-09  Launchpad Translations on behalf of apport-hackers

	* po/mr.po: Added.

	[2623] Launchpad automatic translations update.

2013-04-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_ui.py: [2622] * Fix anonymization of user/GECOS fields
	with regexp control characters like '+'. (LP: #985049)

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2621] * apport/report.py: Handle the case
	where the user has been removed from the system, but one of its still-
	running binaries crashes (LP: #1163453).

	* NEWS,
	* apport/report.py: [2620] * Support retracing foreign powerpc
	reports, thanks Steve Langasek.

2013-04-02  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2619] Launchpad automatic translations update.

2013-03-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/gcc_ice_hook,
	* test/test_hooks.py: [2618] * data/gcc_ice_hook: Fix crash with
	source files that have non-UTF8 data. (LP: #1045283)

2013-03-25  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [2617] * hookutils.in_session_of_problem(): Fix
	crash when the current locale is invalid. (LP: #1154896)

	* NEWS,
	* apport/hookutils.py,
	* backends/packaging-apt-dpkg.py: [2616] *
	hookutils.attach_conffiles(): Fix IOError crash on inaccessible
	conffiles; mark them as '[inaccessible: <reason>]' instead. (LP:
	#1154536)

2013-03-21  Launchpad Translations on behalf of apport-hackers

	* po/de.po: [2615] Launchpad automatic translations update.

2013-03-20  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2614] Launchpad automatic translations update.

=== 2.9.2 ===
2013-03-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2613] release 2.9.2

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2612] merge po files

2013-03-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/kernel_crashdump,
	* etc/cron.daily/apport,
	* etc/init.d/apport,
	* test/test_hooks.py: [2611] * Adjust kernel_crashdump to the format
	kdump-tools produces. Thanks Louis Bouchard.

2013-03-14  Martin Pitt <martin.pitt@canonical.com>

	* data/apport: [2610] apport: move ulimit kB ? bytes conversion to
	more logical place, thanks Graeme Hewson

	* NEWS,
	* data/apport,
	* test/test_signal_crashes.py: [2609] * Write core dumps on SIGQUIT if
	ulimit allows. Thanks Graeme Hewson. (LP: #1153662)

	* test/test_signal_crashes.py: [2608] test_signal_crashes.py: some
	factorization of core dump tests

2013-03-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2607] * report.py, add_package_info(): Add
	"[origin: unknown]" tag to Package/Dependencies fields for non-distro
	package whose origin cannot be determined. (LP: #1148116)

2013-03-08  Launchpad Translations on behalf of apport-hackers

	* po/ru.po: [2606] Launchpad automatic translations update.

=== 2.9.1 ===
2013-03-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2605] release 2.9.1

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2604] * apt/dpkg
	get_modified_files(): Fix crash when encountering non-ASCII file names
	in an ASCII locale. (LP: #1044014)

2013-03-07  Launchpad Translations on behalf of apport-hackers

	* po/ru.po,
	* po/tr.po: [2603] Launchpad automatic translations update.

2013-03-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* doc/crashdb-conf.txt: [2602] * launchpad.py: Add support for filing
	bugs as private. Document this in doc/crashdb-conf.txt. (LP: #1144647)

	* NEWS,
	* apport/fileutils.py: [2601] * fileutils.py,
	find_package_desktopfile(): Restrict to autostart and application
	.desktop files. (LP: #1147528)

	* NEWS,
	* po/tr.po: [2600] * Fix Turkish translation to add missing keyboard
	accelerator. (LP: #648750)

	* NEWS,
	* apport/__init__.py: [2599] * Fix crash in error() and warning() if
	there is no sys.stderr. (LP: #1012445)

2013-03-03  Launchpad Translations on behalf of apport-hackers

	* po/id.po: [2598] Launchpad automatic translations update.

2013-03-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_signal_crashes.py: [2597] * test_signal_crashes.py: Fix
	test_crash_apport() when being run under LD_PRELOAD.

=== 2.9 ===
2013-03-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2596] release 2.9

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2595] * ui.py, get_desktop_entry(): Fix for Python
	2.

	* NEWS,
	* apport/sandboxutils.py,
	* bin/apport-valgrind,
	* man/apport-valgrind.1,
	* test/test_apport_valgrind.py: [2594] * sandboxutils.py: Support
	unpackaged executables, i. e. reports which do not have "Package" and
	"Dependencies" fields. For those, get required libraries from
	"ProcMaps". Thanks Kyle Nitzsche. * apport-valgrind: Fix path to debug
	symbols in the sandbox.

	* NEWS,
	* apport/fileutils.py,
	* test/test_fileutils.py: [2593] * fileutils.py, shared_libraries():
	Return a "name ? path" dict instead of just a set of names. Thanks
	Kyle Nitzsche.

2013-03-01  Launchpad Translations on behalf of apport-hackers

	* po/tr.po: [2592] Launchpad automatic translations update.

2013-02-18  Launchpad Translations on behalf of apport-hackers

	* po/et.po: [2591] Launchpad automatic translations update.

2013-02-15  Launchpad Translations on behalf of apport-hackers

	* po/sr.po: [2590] Launchpad automatic translations update.

2013-02-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/fileutils.py,
	* test/test_fileutils.py: [2589] * fileutils.shared_libraries():
	Filter out virtual "linux-vdso" from result. Thanks Kyle Nitzsche.

	* apport/fileutils.py: [2588] fix previous commit for Python 2,
	Popen.wait() does not yet support timeout there

2013-02-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* bin/apport-valgrind,
	* data/general-hooks/generic.py,
	* test/test_fileutils.py: [2587] * Move shared_libraries() and
	links_with_shared_library() from hookutils into fileutils, so that we
	can use it from apport-valgrind. Thanks to Kyle Nitzsche for the
	initial patch.

2013-02-10  Launchpad Translations on behalf of apport-hackers

	* po/ar.po: [2586] Launchpad automatic translations update.

2013-02-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/debian.py: [2585] * debian.py: Fix "string
	payload expected" crash when building the report. Thanks Dmitry
	Shachnev. (Debian #698010)

	* NEWS,
	* bin/apport-valgrind: [2584] * apport-valgrind: Cleanly exit on
	keyboard interrupts. Thanks Kyle Nitzsche.

	* NEWS,
	* apport/report.py: [2583] * apport/report.py: report if LD_PRELOAD
	and LD_LIBRARY_PATH are set. Thanks James Hunt.

2013-02-05  Launchpad Translations on behalf of apport-hackers

	* po/ja.po: [2582] Launchpad automatic translations update.

2013-02-03  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [2581] launchpad.py: Remove
	running-unity from the tags to copy since the majority of users are
	now having unity

2013-02-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2580] * ui.py: Check $PKEXEC_UID in addition to
	$SUDO_UID for opening a browser.

2013-01-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/com.ubuntu.apport.policy.in: [2579] properly name polkit
	action from previous commit

2013-01-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/com.ubuntu.apport.policy.in: [2578] * Add "com.ubuntu.pkexec
	.apport-gtk" polkit action for running apport-gtk through pkexec to
	access system crash reports. Thanks Brian Murray.

2013-01-26  Launchpad Translations on behalf of apport-hackers

	* po/uk.po: [2577] Launchpad automatic translations update.

2013-01-15  Launchpad Translations on behalf of apport-hackers

	* po/fr.po,
	* po/pl.po: [2576] Launchpad automatic translations update.

=== 2.8 ===
2013-01-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2575] release 2.8

	* test/test_apport_valgrind.py: [2574] test_apport_valgrind.py: Skip
	tests if valgrind is not installed

2013-01-08  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/uz.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2573] Launchpad automatic translations update.

2013-01-07  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-valgrind,
	* man/apport-valgrind.1,
	* test/test_apport_valgrind.py: Added.

	* NEWS,
	* apport/sandboxutils.py,
	* bin/apport-retrace,
	* po/apport.pot,
	* test/run: Modified.

	[2572] * Add "apport-valgrind" tool to produce valgrind reports in a
	temporary sandbox with debug symbols (similar to apport-retrace).
	Thanks Alex Chiang and Kyle Nitzsche!

2013-01-04  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2571] Generate a crash signature for kernel
	OOPSes.

2013-01-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport_python_hook.py,
	* test/test_python_crashes.py: [2570] * apport_python_hook.py: Update
	"ExecutableTimestamp" field when mangling "ExecutablePath". (LP:
	#1077253)

	* test/test_python_crashes.py: [2569] test_python_crashes.py: Defer
	removal of temporary scripts to the end of test cases, so that we can
	compare their mtime

	* NEWS,
	* apport/crashdb_impl/debian.py: [2568] * debian.py: Fix TypeError
	crash in payload generation. Thanks Ritesh Raj Sarraf.

2012-12-28  Launchpad Translations on behalf of apport-hackers

	* po/hr.po: [2567] Launchpad automatic translations update.

2012-12-24  Launchpad Translations on behalf of apport-hackers

	* po/hr.po: [2566] Launchpad automatic translations update.

2012-12-21  Launchpad Translations on behalf of apport-hackers

	* po/uz.po: Added.

	[2565] Launchpad automatic translations update.

2012-12-20  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2564] Launchpad automatic translations update.

2012-12-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2563] * Fix StacktraceAddressSignature
	generation on ARM. (LP: #1089778)

2012-12-12  Martin Pitt <martin.pitt@canonical.com>

	* bin/crash-digger: [2562] crash-digger: use apport.log

2012-12-12  Martin Pitt <martin.pitt@canonical.com>

	* apport/sandboxutils.py: Added.

	* NEWS,
	* apport/__init__.py,
	* bin/apport-retrace: Modified.

	[2561] * Factor out sandbox management functions from apport-retrace
	into apport/sandboxutils.py, so that other programs can re-use the API
	easily. Thanks to Kyle Nitzsche for the initial work on this.

2012-12-11  Launchpad Translations on behalf of apport-hackers

	* po/el.po: [2560] Launchpad automatic translations update.

=== 2.7 ===
2012-12-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2559] release 2.7

	* NEWS,
	* data/apportcheckresume: [2558] * apportcheckresume: Fix crash if
	state file does not exist.

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2557] * Add exceptions from package hooks to
	new HookError_<filename> report field, to make them more visible.
	Until now they were only written to stderr. (LP: #1086309)

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* doc/crashdb-conf.txt: [2556] * launchpad.py: Add "architecture"
	option to process reports for a foreign architecture.

	* NEWS,
	* apport/report.py,
	* bin/apport-retrace: [2555] * When a report's architecture does not
	match the system architecture, try to use gdb-multiarch (if available,
	as packaged on Debian/Ubuntu), and set architecture and gnutarget
	accordingly in gdb. This supports x86, x86_64, and ARM for now, so
	that reports from all these architectures can be retraced on an x86_84
	machine. (LP: #1044437)

	* apport/report.py,
	* bin/apport-retrace: [2554] factor out building gdb command from
	add_gdb_info() and apport-retrace into Report.gdb_command()

	* NEWS,
	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2553] * packaging.py,
	install_packages(): Add optional "architecture" argument for creating
	a sandbox for a foreign architecture. Implement this for apt/dpkg
	backend.

	* test/test_backend_apt_dpkg.py: [2552] test/test_backend_apt_dpkg.py:
	move from lucid to precise

2012-12-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2551] * backends/packaging-apt-
	dpkg.py, install_packages(): Set mirror to the one in the sandbox
	config.

2012-12-06  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* test/test_python_crashes.py,
	* test/test_signal_crashes.py: [2550] finish r2545, consistently use
	ignore file without $HOME

2012-12-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/fileutils.py: [2549] * fileutils.py, mark_report_upload(): Do
	not try to remove the .uploaded file, as this is not owned by the
	user.

	* NEWS,
	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* test/test_backend_apt_dpkg.py: [2548] * packaging.py,
	get_file_package(): Add optional "release" and "arch" arguments for
	getting a file's package for a foreign release or architecture.
	Implement this for apt/dpkg backend.

2012-12-05  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2547] Launchpad automatic translations update.

2012-12-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-cli: [2546] * apport-cli: Fix showing of prompt. Thanks
	Dmitry Shachnev!

2012-11-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2545] * report.py, mark_ignore(): Use home
	directory of actual effective user, not of $HOME. Fixes ignore file
	when using through sudo.

	* NEWS,
	* test/test_fileutils.py: [2544] * Fix test_find_package_desktopfile
	test to not consider packages with only one "NoDisplay=true" .desktop
	file for the "has one desktop file" test.

=== 2.6.3 ===
2012-11-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2543] release 2.6.3

	* NEWS,
	* apport/fileutils.py,
	* test/test_fileutils.py: [2542] * fileutils.py: Ignore .desktop files
	with NoDisplay=true. (LP: #1048524)

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2541] * Ignore implausibly low addresses when
	computing StacktraceAddressSignature. These are usually artifacts from
	gdb when not having debug symbols, and having too many of them
	prevents proper client-side duplicate detection and proper bucketing
	in daisy. (LP: #1084996)

2012-11-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* apport/fileutils.py,
	* test/test_fileutils.py: [2540] * fileutils.py, mark_report_upload():
	Refresh the .upload stamps if a previous version of the report was
	already uploaded, but another instance of the problem happened since
	then. Thanks Brian Murray. (LP: #1084296)

	* NEWS,
	* bin/apport-retrace: [2539] * apport-retrace: Disallow option -C
	without option -S. Thanks Kyle Nitzsche.

2012-11-27  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* apport/ui.py,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2538] apport-gtk, apport-kde: Don't provide an
	option to restart a crashed application when the crash occurred in a
	thread (LP: #1033902).

2012-11-23  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2537] Launchpad automatic translations update.

2012-11-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2536] * report.py, add_gdb_info(): Handle
	libnih's assertion messages. (LP: #997359)

	* backends/packaging-apt-dpkg.py,
	* test/run: [2535] fix PEP-8 issues, ignore "closing bracket does not
	match visual indentation"

2012-11-20  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* data/apport: [2534] data/apport: Call fsync when writing upstart
	crash reports.

2012-11-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/debian.py: [2533] * debian.py: Fix crash on
	broken "Package" fields, as generated by current Debian/Ubuntu dkms
	package.

2012-11-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/debian.py: [2532] * debian.py: Fix UTF-8 string
	handling. Thanks Ritesh Raj Sarraf.

2012-11-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/debian.py: [2531] * debian.py: Only reject
	reports with useless stack traces if the report actually has a stack
	trace at all.

2012-11-09  Launchpad Translations on behalf of apport-hackers

	* po/da.po: [2530] Launchpad automatic translations update.

2012-11-08  Launchpad Translations on behalf of apport-hackers

	* po/da.po: [2529] Launchpad automatic translations update.

2012-11-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_signal_crashes.py: [2528] * test_signal_crashes.py: Allow
	XDG_RUNTIME_DIR environment variable, as it only shows whether or not
	it is set. (Test regression from 2.6)

	* NEWS,
	* test/test_signal_crashes.py: [2527] * test_signal_crashes.py: Fix
	incompatibility with Python 3.3.

2012-11-07  Launchpad Translations on behalf of apport-hackers

	* po/da.po: [2526] Launchpad automatic translations update.

=== 2.6.2 ===
2012-11-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2525] release 2.6.2

	* NEWS,
	* apport/REThread.py: [2524] * REThread.py: Fix for Python 3.3.

2012-11-06  Launchpad Translations on behalf of apport-hackers

	* po/sr.po,
	* po/ug.po: [2523] Launchpad automatic translations update.

2012-11-05  Launchpad Translations on behalf of apport-hackers

	* po/sr.po: [2522] Launchpad automatic translations update.

2012-10-27  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2521] Launchpad automatic translations update.

2012-10-25  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2520] * report.py, add_gdb_info(): Check
	__glib_assert_msg for assertion messages, too.

2012-10-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2519] * report.py, add_proc_info(): Throw correct
	exception if the executable path does not exist, to provide a more
	appropriate error message. (LP: #1065129)

2012-10-19  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2518] Launchpad automatic translations update.

2012-10-19  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-retrace: [2517] make previous commit Python 2 friendly

2012-10-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [2516] * bin/apport-retrace: Fix crash when not
	using --sandbox mode.

2012-10-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/debian.py: [2515] * debian.py: Fix calling of
	parent accepts() method and return value. Thanks Ritesh Raj Sarraf.

2012-10-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* problem_report.py,
	* test/test_problem_report.py: [2514] * problem_report.py: Fix
	UnicodeDecodeError crash under Python 2 when the report has an unicode
	field with an unprintable ASCII character < 20.

	* NEWS,
	* kde/apport-kde: [2513] kde/apport-kde: Drop dead code

2012-10-11  Launchpad Translations on behalf of apport-hackers

	* po/da.po: [2512] Launchpad automatic translations update.

2012-10-10  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2511] Launchpad automatic translations update.

2012-10-05  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2510] Back out the previous change.
	It turned out to be a packaging bug.

2012-10-02  Evan Dandrea <evan.dandrea@canonical.com>

	* backends/packaging-apt-dpkg.py: [2509] The previous commit used
	apt_inst to extract the deb packages, which unfortunately turns any
	encountered symlink into an empty directory. Use python-debian with a
	filtered list of paths to extract instead. This list does not contain
	any paths that are symlinks whose target already exists.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2508] Merge my branch for bug
	1059621.

2012-10-02  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2507] Launchpad automatic translations update.

=== 2.6.1 ===
2012-10-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2506] release 2.6.1

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2505] merge po

	* NEWS,
	* setup.py: [2504] * setup.py: Specify "-source 1.5" javac option as
	well, to avoid build failure with OpenJDK 7.

=== 2.6 ===
2012-10-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2503] release 2.6

	* NEWS,
	* test/test_python_crashes.py: [2502] * test_python_crashes.py:
	Robustify "$PYTHONPATH in ProcEnviron" check.

2012-10-01  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/debian.py: Added.

	* NEWS,
	* etc/apport/crashdb.conf: Modified.

	[2501] * Add apport/crashdb_impl/debian.py: Initial crash database
	implementation for the Debian BTS. Add configuration for it to
	etc/apport/crashdb.conf. Thanks Ritesh Raj Sarraf!

2012-10-01  Launchpad Translations on behalf of apport-hackers

	* po/el.po: [2500] Launchpad automatic translations update.

2012-09-28  Evan Dandrea <evan.dandrea@canonical.com>

	* backends/packaging-apt-dpkg.py: [2499] Corrupt reports can have
	packages with '%' in the name, which breaks apport.warning.

2012-09-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2498] * report.py, add_proc_info(): Show if
	$XDG_RUNTIME_DIR is set.

	* NEWS,
	* setup.py: [2497] * setup.py: Build java module with "-target 1.5"
	option, so that you can run it with OpenJDK 6 even if you build with
	OpenJDK 7.

=== 2.5.3 ===
2012-09-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2496] release 2.5.3

	* NEWS,
	* apport_python_hook.py,
	* test/test_python_crashes.py: [2495] * apport_python_hook.py: Capture
	$PYTHONPATH and $PYTHONHOME environment variables for Python crashes.
	Thanks Brian Murray.

2012-09-26  Launchpad Translations on behalf of apport-hackers

	* po/hr.po: [2494] Launchpad automatic translations update.

2012-09-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2493] * report.py, search_bug_patterns(): Fix
	bug patterns containing non-ASCII characters. Thanks Brian Murray.

2012-09-23  Launchpad Translations on behalf of apport-hackers

	* po/fr.po: [2492] Launchpad automatic translations update.

2012-09-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [2491] * hookutils.py,
	attach_root_command_outputs(): Ignore IOError crash about nonexisting
	files, which can happen if the user dismisses authorization. (LP:
	#1051222)

	* apport/crashdb_impl/launchpad.py: [2490] launchpad.py: Fix tag
	filtering (r2487) for Python 3. (LP: #1052754)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2489] * launchpad.py: Temporarily
	disable filing private bugs in the test suite, to work around the
	SSLHandshakeError error when downloading private attachments from
	staging.

2012-09-19  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [2488] apport/ui.py: update expected exception after
	r2486

2012-09-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2487] * launchpad.py: Replace
	characters from tags which are not allowed by Launchpad with '.' (LP:
	#1029479)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2486] * packaging-apt-dpkg.py: When
	throwing ValueErrors, show the non-existing package name. This makes
	it easier to debug such crashes.

	* NEWS,
	* data/apportcheckresume: [2485] * data/apportcheckresume: Open report
	file in binary mode. (LP: #1040353)

=== 2.5.2 ===
2012-09-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2484] release 2.5.2

2012-09-13  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/my.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2483] Launchpad automatic translations update.

2012-09-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2482] * report.py, _check_bug_pattern(): Fix
	bug pattern matching against binary values. Thanks Brian Murray for
	the original patch. (LP: #1016380)

2012-09-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2481] * launchpad.py: Add missing
	"Pre-release Freeze" status. Thanks Brian Murray!

2012-09-05  Launchpad Translations on behalf of apport-hackers

	* po/my.po: Added.

	[2480] Launchpad automatic translations update.

2012-09-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* kde/apport-kde: [2479] * apport-kde: Fix crash with undefined
	QString under Python 3. Thanks Jonathan Riddell! (LP: #1028984)

2012-09-02  Launchpad Translations on behalf of apport-hackers

	* po/cs.po: [2478] Launchpad automatic translations update.

2012-08-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2477] * report.py: Fix crash on determination
	of Python module path when examining a crash of "python -m ...".

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2476] * apport-gtk: For console program
	crashes, say "stopped" instead of "closed". Add a subtitle label with
	a hint about hanging programs. Thanks Matt Price and Matthew Paul
	Thomas!

2012-08-28  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2475] Launchpad automatic translations update.

2012-08-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2474] * Fix crash on broken .desktop files. (LP:
	#1039889)

	* NEWS,
	* test/test_hookutils.py: [2473] * test_hookutils.py,
	test_in_session_of_problem(): Use year 2038 for a future date instead
	of 2211, as current Python 3.2 now crashes with an OverflowError on 32
	bit machines with later years.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2472] * packaging-apt-dpkg.py: Add
	recommended packages to "Dependencies:" field. (LP: #1014428)

	* NEWS,
	* test/run: [2471] * test/run: Ignore root_info_wrapper with pyflakes.

=== 2.5.1 ===
2012-08-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2470] release 2.5.1

	* NEWS: [2469] * data/root_info_wrapper: Turn into a real file, a
	symlink can cause some packaging problems.

=== 2.5 ===
2012-08-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2468] release 2.5

	* apport/report.py: [2467] report.py: Fix r2465 for Python 2

	* NEWS,
	* apport/fileutils.py,
	* apport/report.py,
	* apport/ui.py,
	* test/test_report.py: [2466] * report.py, add_hooks_info(): If
	reporting against a package/program in /opt, also search for package
	hooks in the corresponding /opt directory. This allows such hooks to
	define a custom crash database and thus report bugs against their own
	project instead of against the distribution. (LP: #1020503)

	* apport/report.py: [2465] report.py, add_hooks_info(): Factorize
	common code

	* NEWS,
	* apport/crashdb.py,
	* apport/ui.py,
	* doc/crashdb-conf.txt,
	* doc/package-hooks.txt,
	* test/test_ui.py: [2464] * Package hooks which want to send the
	report to a different crash database than "default" can now also give
	the database specification itself in the "CrashDB" field, not just the
	DB name. With this, packages do not need to ship a separate
	/etc/apport/crashdb.conf.d/ file. Please see doc/package-hooks.txt for
	details. (LP: #551330)

	* apport/hookutils.py: [2463] hookutils.py: Clean up old code line

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/se.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2462] merge i18n, update German translations

2012-08-22  Martin Pitt <martin.pitt@canonical.com>

	* apport/com.ubuntu.apport.policy.in,
	* data/root_info_wrapper: Added.

	* NEWS,
	* apport/hookutils.py,
	* po/apport.pot: Modified.

	[2461] * hookutils.py, attach_root_command_outputs() and
	root_command_output(): Drop usage of sudo, kdesudo, and gksu, and
	replace with pkexec. For attach_root_command_outputs(), use a wrapper
	and proper .policy file which explains the action and works under
	every environment; thus attach_root_command_outputs() is preferred
	over root_command_output() now, as it provides a better user
	experience.

2012-08-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2460] revert r2455, incomplete fix

2012-08-18  Launchpad Translations on behalf of apport-hackers

	* po/se.po: Added.

	[2459] Launchpad automatic translations update.

2012-08-17  Launchpad Translations on behalf of apport-hackers

	* po/de.po: [2458] Launchpad automatic translations update.

2012-08-16  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2457] * hookutils.py: Allow specifying a
	list of profile names when using attach_mac_events(). Thanks Marc
	Deslauriers.

	* apport/__init__.py: [2456] Fix whitespace

	* NEWS,
	* apport/ui.py: [2455] * ui.py: Only create the .upload file after
	collect_info() has completed, to avoid uploading broken reports
	through whoopsie. Thanks Brian Murray. (LP: #1020994)

2012-08-15  Launchpad Translations on behalf of apport-hackers

	* po/eo.po: [2454] Launchpad automatic translations update.

2012-08-06  Launchpad Translations on behalf of apport-hackers

	* po/en_AU.po,
	* po/en_GB.po: [2453] Launchpad automatic translations update.

2012-08-05  Launchpad Translations on behalf of apport-hackers

	* po/es.po: [2452] Launchpad automatic translations update.

2012-08-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [2451] * apport-retrace: Keep compressed
	CoreDump from .crash files instead of uncompressing them into memory.
	This dramatically reduces memory usage. (LP: #981155)

	* NEWS,
	* apport/__init__.py,
	* bin/apport-retrace: [2450] * Add an apport.memdbg() function which
	prints out current memory usage if APPORT_MEMDEBUG is set. Annotate
	apport-retrace with it.

	* NEWS: [2449] NEWS: Fix typo

2012-07-31  Launchpad Translations on behalf of apport-hackers

	* po/hi.po: [2448] Launchpad automatic translations update.

2012-07-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/REThread.py,
	* test/test_rethread.py: [2447] * REThread.py: Fix re-raising of
	exceptions in Python 3. Thanks Martin * Packman! (LP: #1024836)

2012-07-26  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2446] Launchpad automatic translations update.

2012-07-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2445] * packaging-apt-dpkg.py: Fix
	crash on writing virtual_mapping.db when running with --sandbox-dir
	and -S system or giving no --cache.

2012-07-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_recoverable_problem.py: [2444] *
	test_recoverable_problem.py: Fix test for calling test runner with
	absolute path.

=== 2.4 ===
2012-07-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2443] release 2.4

2012-07-18  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2442] Launchpad automatic translations update.

2012-07-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [2441] * apport-retrace: Fix UnicodeDecodeError
	when encountering a non-ASCII source code file and running under a
	non-UTF-8 locale.

2012-07-13  Martin Pitt <martin.pitt@canonical.com>

	* data/recoverable_problem,
	* test/test_recoverable_problem.py: Added.

	* NEWS,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: Modified.

	[2440] * Add new "RecoverableProblem" report type for problems which
	the application can handle, but still wishes to notify the user and
	send a problem report about. As an example, the application may wish
	to notify the user because handling the error resulted in degraded
	functionality. The user interface may fail to load items, or the
	action just performed may not return any data. Applications call
	/usr/share/apport/recoverable_problem with a string of arbitrary NUL-
	separated key/value pairs that are added to the report. Thanks Evan
	Dandrea!

2012-07-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py: [2439] * crashdb.py, check_duplicate(): Do not
	try to mark a bug as duplicate of itself. This can happen when re-
	processing a previously retraced bug.

	* NEWS,
	* bin/apport-retrace: [2438] * apport-retrace: Fix StacktraceSource
	generation for relative --cache paths.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2437] * launchpad.py: Fix setting
	of 'Medium' importance on duplicate checking.

2012-07-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_python_crashes.py: [2436] * test_python_crashes.py: Fix
	race condition in timeout test.

	* NEWS,
	* test/test_hooks.py,
	* test/test_report.py,
	* test/test_signal_crashes.py: [2435] * testsuite: Fix
	ResourceWarnings when running with Python 3.

	* test/run: [2434] test/run: Run python_crashes against a local d-bus,
	not the actual session one

	* NEWS,
	* test/test_ui.py: [2433] * ui tests, test_wait_for_pid(): Fix eternal
	hang when running as root.

	* NEWS,
	* apport/hookutils.py: [2432] * hookutils.py, attach_alsa(): Use alsa-
	info.sh when available. Thanks David Henningson.

2012-07-10  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2431] Launchpad automatic translations update.

2012-07-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport_python_hook.py,
	* test/test_python_crashes.py: [2430] * apport_python_hook.py: For
	org.freedesktop.DBus.Error.ServiceUnknown exceptions, add a
	'DbusErrorAnalysis' field to the report which points out whether any
	.service file provides the service it tried to talk to, and whether
	the processes for those are running. This helps to determine the root
	cause for such errors (missing dependencies, broken .service files,
	talking to the wrong bus, etc.) (LP: #1020572)

=== 2.3 ===
2012-07-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2429] release 2.3

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2428] merge po

	* NEWS,
	* test/test_ui_kde.py: [2427] * test_ui_kde.py: Fix occasional test
	failure in test_1_crash_details if the application ends before the "is
	progress bar visible" check is done.

	* NEWS,
	* apport_python_hook.py,
	* test/test_python_crashes.py: [2426] * apport_python_hook: Fix
	UnicodeEncodeError crash with Python 2 for exceptions with non-ASCII
	characters. (LP: #972436)

2012-07-07  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2425] Launchpad automatic translations update.

2012-07-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [2424] bump to 2.3, new features

2012-07-04  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* apport/fileutils.py,
	* apport/ui.py,
	* bin/apport-retrace,
	* data/apport,
	* gtk/apport-gtk,
	* test/test_fileutils.py,
	* test/test_ui.py,
	* test/test_ui_gtk.py: [2423] * apport-gtk: Add --hanging option to
	specify the process ID of a hanging application. If the user chooses
	to report this error, apport will terminate the pid with SIGABRT,
	otherwise it will send SIGKILL. The normal core pipe handler will be
	used to process the resulting report file, with a .hanging file in
	/var/crash to separate these from regular crashes.

2012-07-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2422] * launchpad.py: Ensure that
	upload chunk size does not underrun. (LP: #1013334)

2012-06-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [2421] * apport-retrace: Turn StacktraceSource
	generation back on, now that it works with the current sandboxing.

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2420] * packaging-apt-dpkg.py: Fix
	get_source_tree() to work with apt sandboxes.

2012-06-29  Evan Dandrea <evan.dandrea@canonical.com>

	* bin/crash-digger: [2419] Typo

2012-06-29  Martin Pitt <martin.pitt@canonical.com>

	* bin/crash-digger: [2418] crash-digger: Unbreak -D option again,
	regression from r2407

	* NEWS,
	* bin/crash-digger,
	* test/test_crash_digger.py: [2417] * crash-digger: Add --crash-db
	option to specify a non-default crash databae name. (LP: #1003506)

	* apport/crashdb_impl/launchpad.py: [2416] launchpad.py: PEP8 fixes

	* apport/crashdb_impl/launchpad.py: [2415] launchpad.py tests: lazily
	create uncommon description bug for speed up

	* apport/crashdb_impl/launchpad.py: [2414] launchpad.py: Robustify
	test_get_fixed_version() against staging not having current release
	series

	* apport/crashdb_impl/launchpad.py: [2413] launchpad.py: Fix
	test_update_description()

2012-06-29  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2412] Launchpad automatic translations update.

2012-06-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2411] * launchpad.py: Rework test
	suite to not use Launchpad's +storeblob facility at all any more. It
	almost never works on staging and is horribly slow. Fake the bug
	creation from a blob by manually creating the comment and attachments
	ourselves, and just assume that storeblob works on production. Also
	change the structure to allow running every test individually.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2410] * launchpad.py: Recongize
	Launchpad projects for bug query and marking operations. (LP:
	#1003506)

	* apport/crashdb_impl/launchpad.py: [2409] launchpad.py: Ensure that
	core file in test is properly written

	* NEWS,
	* apport/ui.py: [2408] * ui.py: Do not ignore certain exceptions
	during upload which are not likely to be a network error.

	* NEWS,
	* apport/REThread.py,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* bin/apport-cli,
	* bin/apport-retrace,
	* bin/crash-digger,
	* bin/dupdb-admin,
	* data/apport,
	* data/apport-checkreports,
	* data/apportcheckresume,
	* data/general-hooks/generic.py,
	* data/general-hooks/parse_segv.py,
	* data/package_hook,
	* data/unkillable_shutdown,
	* problem_report.py,
	* setup.py,
	* test/test_apport_unpack.py,
	* test/test_backend_apt_dpkg.py,
	* test/test_backend_rpm.py,
	* test/test_crash_digger.py,
	* test/test_crashdb.py,
	* test/test_fileutils.py,
	* test/test_hooks.py,
	* test/test_java_crashes.py,
	* test/test_problem_report.py,
	* test/test_python_crashes.py,
	* test/test_report.py,
	* test/test_rethread.py,
	* test/test_signal_crashes.py,
	* test/test_ui.py,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2407] * Fix PEP-8 violations picked up by
	latest pep8 checker.

	* NEWS,
	* data/apport: [2406] * apport: Also treat a binary as modified if the
	/proc/pid/exe symlink does not point to an existing file any more.
	(LP: #984944)

=== 2.2.5 ===
2012-06-21  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2405] release 2.2.5

	* NEWS,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2404] * GTK and KDE UI tests: Avoid eternal
	hangs due to "this is not a distro package" error messages.

	* apport/ui.py,
	* backends/packaging-apt-dpkg.py,
	* gtk/apport-gtk,
	* test/test_ui.py: [2403] fix some fd leaks from subprocess.call()
	with PIPE

	* apport/crashdb_impl/launchpad.py: [2402] launchpad.py: Fix
	whitespace

	* NEWS,
	* apport/ui.py: [2401] * apport/ui.py: Fix rare crash if a report is
	already being updated in the background when the UI tries to update a
	previous version. (LP: #949196)

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2400] * apport/ui.py, get_desktop_entry(): Disable
	interpolation, to correctly read desktop files with % signs. (LP:
	#1014341)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2399] * launchpad.py: Fix str vs.
	bytes crash for already known bugs, take 2. (LP: #1015788)

=== 2.2.4 ===
2012-06-21  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2398] release 2.2.4

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2397] * launchpad.py: Fix str vs.
	bytes crash for already known bugs. (LP: #1015788)

	* NEWS,
	* bin/apport-cli: [2396] * apport-cli: Unbreak "keep" option. (LP:
	#1007826)

2012-06-21  Launchpad Translations on behalf of apport-hackers

	* po/hi.po,
	* po/ru.po: [2395] Launchpad automatic translations update.

2012-06-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/run: [2394] * test/run: Wait for a previous xvfb server to
	finish before trying to start one. This fixes a race condition in the
	KDE UI tests which often failed to start up xvfb.

2012-06-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_crash_digger.py: [2393] * test_crash_digger.py: Do not
	write crash reports of crash-digger into system /var/crash, use a
	temporary directory.

2012-06-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_signal_crashes.py: [2392] * test_signal_crashes.py: Show
	crash reports in /var/crash/.

2012-06-16  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2391] Launchpad automatic translations update.

2012-06-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/java_uncaught_exception,
	* test/test_java_crashes.py: [2390] * data/java_uncaught_exception:
	Fix for Python 3.

	* NEWS,
	* test/test_apport_unpack.py: [2389] * test_apport_unpack.py: Fix
	test_unpack_python() test when running the system-installed tests.

=== 2.2.3 ===
2012-06-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2388] release 2.2.3

	* NEWS,
	* test/run,
	* test/test_apport_unpack.py: [2387] * test/run: Run the tests under
	LC_MESSAGES=C, to avoid failing tests on translated strings.

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2386] merge i18n

	* NEWS,
	* test/test_apport_unpack.py: [2385] * test_apport_unpack.py: Do not
	fail tests on translated help output.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2384] * launchpad.py: Fix
	urlopen() for Python3. Thanks Steve Langasek.

	* NEWS,
	* test/test_signal_crashes.py: [2383] * test_signal_crashes.py: Drop
	the broken and obsolete test_local_python() test. Instead, add two
	tests which check proper logging.

2012-06-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_report.py: [2382] * test_report.py: Call "sync" after test
	script write core dumps, to ensure that subsequent operations have a
	complete one.

	* NEWS,
	* test/test_backend_apt_dpkg.py: [2381] * test_backend_apt_dpkg.py:
	For the "are we online" check, verify that we can download from
	http://ddebs.ubuntu.com/, not just whether we have a default route.
	The latter is not sufficient for e. g. buildd environments which are
	online, but are restricted by proxies or firewalls.

2012-06-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/run: [2380] * test/run: Do not run pep8 and pyflakes when
	running against the sytem installed Apport.

	* test/test_signal_crashes.py: [2379] test/test_signal_crashes.py:
	More verbose tests

=== 2.2.2 ===
2012-06-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2378] release 2.2.2

	* NEWS,
	* data/apport: [2377] * data/apport: Properly close the written crash
	report before changing its permissions to be readable. This prevents
	having crash reporting UI from looking at incomplete .crash files.

	* NEWS,
	* data/apport,
	* test/test_signal_crashes.py: [2376] * data/apport: When core dumps
	are enabled, read them from the written report instead of directly
	from stdin (and then reading the written core file into the .crash
	report). If the core file size is limited, we otherwise stop reading
	the core dump from the kernel in the middle and have no (or a broken)
	core dump to be put into the report.

	* NEWS,
	* data/apport: [2375] * data/apport: Do not use sys.stdin.fileno(), it
	is invalid when being called from the kernel with Python 3.

	* data/apport,
	* test/test_signal_crashes.py: [2374] data/apport: Clean up core file
	writing

	* NEWS,
	* test/run,
	* test/test_apport_unpack.py,
	* test/test_python_crashes.py,
	* test/test_report.py: [2373] * testsuite: Run with Python 3 by
	default. To test with Python 2, run "PYTHON=python2 test/run".

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2372] * hookutils.py, xsession_errors():
	Fix crash when running under a non-UTF8 locale.

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2371] * apport-gtk: Fix crash when closing the
	crash dialog while the information is being collected.

	* NEWS,
	* test/test_signal_crashes.py: [2370] * test/test_signal_crashes.py:
	Clean up unexpected core dumps on failed test cases.

	* NEWS,
	* data/apport: [2369] * apport: Redefine sys.std{out,err} when
	redirecting output, as they are None in Python 3 when being called
	from the kernel.

2012-06-12  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2368] Launchpad automatic translations update.

=== 2.2.1 ===
2012-06-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2367] release 2.2.1

	* NEWS,
	* data/dump_acpi_tables.py: [2366] * data/dump_acpi_tables.py: Fix for
	Python 3.

	* NEWS,
	* data/apport: [2365] * data/apport: Do not assume that sys.stdout and
	sys.stderr always have a name; they can be None in Python 3.

	* apport/hookutils.py: [2364] apport/hookutils.py, shared_libraries():
	Update for recent command_output() change

	* NEWS,
	* apport/hookutils.py: [2363] * hookutils.py, recent_logfile(): Fix fd
	leak.

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2362] * hooktuils, command_output():
	Convert output to unicode by default, and add a "decode_utf8"
	parameter to disable this.

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2361] * hookutils.py, read_file,
	attach_file(), attach_file_if_exists(): Convert file contents to
	unicode if the contents is UTF-8, or the newly added force_unicode
	argument is True.

	* bin/apport-bug: [2360] bin/apport-bug: Make it easier to add
	prefixes to find_programs results

	* NEWS,
	* setup.py: [2359] * setup.py: When fixing hashbang lines of installed
	scripts, only include the major Python version.

	* NEWS,
	* bin/apport-cli: [2358] * apport-cli: Port to work with Python 3.

=== 2.2 ===
2012-06-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2357] release 2.2

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2356] merge i18n

2012-06-09  Evan Dandrea <evan.dandrea@canonical.com>

	* test/run: [2355] Copy and paste error.

2012-06-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* kde/apport-kde,
	* test/test_ui_kde.py: [2354] * apport-kde: Port to work with Python
	3.

	* test/test_python_crashes.py: [2353] test/test_python_crashes.py:
	Python 3 fix

	* test/test_python_crashes.py,
	* test/test_report.py: [2352] test/test_report.py: Fix str vs. bytes
	confusion

	* apport/crashdb_impl/launchpad.py,
	* apport/ui.py,
	* setup.py: [2351] fix pyflakes/pep8 issues

	* NEWS: [2350] change version to 2.2, there are new features

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2349] * launchpad.py: Also work
	with Python 3. Deal gracefully with a missing "launchpadlib" module;
	this is not yet available for Python 3, but not required for client-
	side reporting.

	* apport/ui.py: [2348] apport/ui.py: Fix excstr() for Python 3

2012-06-06  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/multipartpost_handler.py: Removed.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: Modified.

	[2347] * launchpad.py: Drop the external multipartpost_handler.py
	(which is not portable to Python 3) and replace it with using the
	standard email module.

2012-06-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [2346] * setup.py: Update hashbang lines of installed
	scripts in data directory to the python executable setup.py was run
	with, similar to what already happens to scripts installed to ../bin/.

	* apport/crashdb_impl/memory.py,
	* apport/crashdb_impl/multipartpost_handler.py,
	* data/apport-checkreports,
	* data/apportcheckresume,
	* data/general-hooks/parse_segv.py: [2345] Fix leftover print
	statements for Python 3 compatibility

	* test/test_python_crashes.py,
	* test/test_report.py: [2344] do not hardcode /usr/bin/python in tests

	* apport/crashdb_impl/multipartpost_handler.py: [2343]
	apport/crashdb_impl/multipartpost_handler.py: Drop hashbang line

2012-06-05  Launchpad Translations on behalf of apport-hackers

	* po/ja.po: [2342] Launchpad automatic translations update.

2012-06-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/package_hook,
	* test/test_hooks.py: [2341] * package_hook: Add --tags option. Thanks
	to Brian Murray.

2012-06-04  Launchpad Translations on behalf of apport-hackers

	* po/ja.po: [2340] Launchpad automatic translations update.

2012-06-02  Launchpad Translations on behalf of apport-hackers

	* po/uk.po: [2339] Launchpad automatic translations update.

2012-05-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [2338] * apport-retrace: Fix crash when using
	the --procmaps option.

	* NEWS,
	* apport/__init__.py,
	* apport/crashdb.py,
	* apport/crashdb_impl/multipartpost_handler.py,
	* apport/fileutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-cli,
	* bin/crash-digger,
	* bin/dupdb-admin,
	* data/apport,
	* data/apport-checkreports,
	* data/apportcheckresume,
	* data/unkillable_shutdown,
	* problem_report.py,
	* test/run,
	* test/test_packaging.py,
	* test/test_python_crashes.py,
	* test/test_report.py,
	* test/test_ui.py: [2337] * Clean up module imports. * test/run: Run
	pyflakes, if available.

=== 2.1.1 ===
2012-05-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2336] release 2.1.1

	* apport/crashdb_impl/launchpad.py: [2335]
	apport/crashdb_impl/launchpad.py: Fix undefined "ubuntu" variable

	* NEWS,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2334] * apport-gtk, apport-kde: Avoid
	collecting information twice in "bug update" mode. This caused a crash
	in cases where the source package in a bug report does not correspond
	to an installed binary package. (LP: #993810)

	* data/gcc_ice_hook,
	* test/test_ui_gtk.py: [2333] whitespace fixes

2012-05-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_ui.py: [2332] * report.py: Do not change the
	SourcePackage: field if the binary package is not installed and does
	not exist. This fixes source package hooks to actually work in some
	cases where source and binary package names overlap. (part of LP:
	#993810)

	* apport/crashdb_impl/launchpad.py: [2331]
	apport/crashdb_impl/launchpad.py: Remove trailing whitespace

2012-05-24  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2330] Launchpad automatic translations update.

2012-05-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* doc/crashdb-conf.txt: [2329] * launchpad.py: Make Launchpad bug
	subscription user/team configurable: The initial subscriber after
	filing a bug can be set with the "initial_subscriber" crashdb option,
	and the team which gets subscribed after retracing with
	"triaging_team". (LP: #980726)

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2328] * hookutils.py: Add
	attach_default_grub() convenience function from the grub2 package hook
	so it can be used by other packages. Thanks Brian Murray.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2327] * launchpad.py: When
	closing a bug as a duplicate, copy some well-known tags to the master
	bug. Thanks Brian Murray. * launchpad.py: Set importance of Python
	crash reports to "Medium" by default, similar to signal crashes.
	Thanks Brian Murray.

=== 2.1 ===
2012-05-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2326] release 2.1

	* do-release: [2325] do-release: Ignore shelves

	* NEWS,
	* kde/apport-kde,
	* test/test_ui_kde.py: [2324] apport-kde: Do not show the information
	collection progress dialog if the crash database does not accept this
	kind of report. In that case whoopsie will upload it in the background
	and the dialog is not necessary. (LP: #989698)

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2323] * apport-gtk: Do not show the
	information collection progress dialog if the crash database does not
	accept this kind of report. In that case whoopsie will upload it in
	the background and the dialog is not necessary. (LP: #989698)

2012-05-16  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [2322] launchpad.py: Use BytesIO
	instead of StringIO

2012-05-10  Launchpad Translations on behalf of apport-hackers

	* po/tr.po: [2321] Launchpad automatic translations update.

2012-05-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui_gtk.py: [2320] * ui.py: Drop python-xdg dependency, use
	ConfigParser to read the .desktop files.

	* NEWS: [2319] fix NEWS entry for previous commit

2012-05-08  Evan Dandrea <evan.dandrea@canonical.com>

	* NEWS,
	* apport/report.py: [2318] * report.py: Correctly escape the file path
	passed to gdb.

2012-05-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [2317] NEWS: Update Python 3 port description

2012-05-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [2316] * apport-retrace: Add information about
	outdated packages to the "RetraceOutdatedPackages" field.

2012-05-05  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2315] Launchpad automatic translations update.

2012-05-04  Martin Pitt <martin.pitt@canonical.com>

	* apport_python_hook.py,
	* test/test_python_crashes.py: [2314] apport_python_hook.py: Fix for
	Python 3

	* data/kernel_crashdump: [2313] data/kernel_crashdump: Fix for Python
	3

	* bin/apport-retrace: [2312] apport-retrace: Fix for Python 3

	* test/test_crash_digger.py,
	* test/test_hooks.py: [2311] drop unnecessary hashbangs from tests

	* data/apport,
	* test/run,
	* test/test_signal_crashes.py: [2310] data/apport: Fix for Python 3

	* bin/dupdb-admin: [2309] bin/dupdb-admin: Fix for Python 3

2012-05-04  Martin Pitt <martin.pitt@canonical.com>

	* test/test_apport_unpack.py: Added.

	* NEWS,
	* bin/apport-unpack: Modified.

	[2308] apport-unpack: Add tests and fix for Python 3

2012-05-01  Martin Pitt <martin.pitt@canonical.com>

	* test/test_ui_kde.py: [2307] test_ui_kde.py: Fix for Python 3

	* apport/report.py: [2306] report.py, _check_bug_patterns(): Ignore
	UnicodeEncodeErrors, regression from previous Python 3 fixes

	* apport/crashdb.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* data/general-hooks/generic.py,
	* data/general-hooks/parse_segv.py,
	* gtk/apport-gtk,
	* problem_report.py,
	* test/test_hooks.py,
	* test/test_java_crashes.py,
	* test/test_report.py,
	* test/test_ui.py,
	* test/test_ui_gtk.py: [2305] More Python 3 fixes

2012-04-30  Martin Pitt <martin.pitt@canonical.com>

	* test/test_signal_crashes.py: [2304] test/test_signal_crashes.py: Fix
	for Python 3

	* NEWS,
	* apport/ui.py: [2303] * ui.py: Don't show the duplicate warning when
	the crash database does not accept the problem type, and they are just
	being sent to whoopsie. Thanks Evan Dandrea. (LP: #989779)

	* NEWS,
	* apport/ui.py,
	* apport_python_hook.py,
	* data/apport,
	* data/gcc_ice_hook,
	* data/java_uncaught_exception,
	* data/kernel_crashdump,
	* data/kernel_oops,
	* data/package_hook,
	* data/unkillable_shutdown,
	* problem_report.py,
	* test/test_fileutils.py,
	* test/test_hooks.py,
	* test/test_java_crashes.py,
	* test/test_problem_report.py,
	* test/test_python_crashes.py,
	* test/test_report.py,
	* test/test_signal_crashes.py,
	* test/test_ui.py,
	* test/test_ui_gtk.py: [2302] problem_report.py: Fix for Python 3  An
	important change is that the load(), write(), and write_mime() methods
	of a ProblemReport and apport.Report object now require the file
	stream to be opened in binary mode.

2012-04-27  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py: [2301] apport/hookutils.py: Fix for Python 3

	* test/test_python_crashes.py: [2300] test/test_python_crashes.py: Fix
	for Python 3

2012-04-24  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2299] Launchpad automatic translations update.

2012-04-23  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb.py,
	* test/test_crashdb.py: [2298] crashdb.py: Fix r2288, caused
	UnicodeDecodeError in C locales under Python 2

2012-04-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk: [2297] * apport-gtk: Do not assume that an icon
	requested for size 42 actually delivers size 42; some themes do not
	have this available and deliver a smaller one instead, causing
	overflows. Also, copy the image as gtk_icon_theme_load_icon() returns
	a readonly result which we must not modify. (LP: #937249)

	* NEWS,
	* data/apport,
	* test/test_signal_crashes.py: [2296] * data/apport: Ignore a crash if
	the executable was modified after the process started. This often
	happens if the package is upgraded and a long-running process is not
	stopped before. (LP: #984944)

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2295] * hookutils.py, recent_logfile(): Use
	a default limit of 10000 lines and call "tail" instead of reading the
	whole file. This protects against using up all memory when there are
	massive repeated log messages. (LP: #984256)

2012-04-18  Martin Pitt <martin.pitt@canonical.com>

	* apport/__init__.py,
	* apport/fileutils.py,
	* gtk/apport-gtk,
	* test/test_signal_crashes.py,
	* test/test_ui_gtk.py: [2294] various Python 3 fixes

	* apport/REThread.py: [2293] apport/REThread.py: Fix for Python 3

	* data/gcc_ice_hook,
	* test/test_hooks.py: [2292] data/gcc_ice_hook, test/test_hooks.py:
	Some Python 3 fixes (incomplete)

	* data/general-hooks/parse_segv.py,
	* test/test_parse_segv.py: [2291] data/general-hooks/parse_segv.py:
	Fix for Python 3

	* apport/hookutils.py,
	* test/test_hookutils.py: [2290] apport/hookutils.py: Fix for Python 3

	* test/test_crash_digger.py: [2289] test/test_crash_digger.py: Fix for
	Python 3

	* NEWS,
	* apport/crashdb.py,
	* test/test_crashdb.py: [2288] apport/crashdb.py: Fix to work with
	Python 3

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2287] *
	test/test_backend_apt_dpkg.py: Fix to work with Python 3.

	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2286] backends/packaging-apt-
	dpkg.py: Correctly handle conflicting/replacing packages in a
	permanent sandbox. Thanks Evan Dandrea!

	* NEWS,
	* data/general-hooks/generic.py: [2285] * data/general-
	hooks/generic.py: Bump minimum free space requirement from 10 to 50
	MB. 10 is not nearly enough particularly for /tmp. (LP: #979928)

2012-04-16  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2284] * backends/packaging-apt-
	dpkg.py: Fix crash if a package is installed, but has no candidates in
	apt. (LP: #980094)

	* NEWS,
	* data/dump_acpi_tables.py: [2283] * data/dump_acpi_tables.py: Fix
	crash on undefined variable with non-standard tables. (LP: #982267)

2012-04-15  Launchpad Translations on behalf of apport-hackers

	* po/tr.po: [2282] Launchpad automatic translations update.

2012-04-14  Launchpad Translations on behalf of apport-hackers

	* po/pt_BR.po: [2281] Launchpad automatic translations update.

2012-04-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2280] * apport-gtk: Work around GTK crash when
	trying to set pixmap on an already destroyed parent window. (LP:
	#938090)

	* NEWS,
	* test/test_ui_gtk.py: [2279] * GTK UI tests: Ensure that there are no
	GLib/GTK warnings or criticals.

2012-04-12  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2278] Launchpad automatic translations update.

2012-04-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/REThread.py,
	* apport/__init__.py,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/crashdb_impl/multipartpost_handler.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* bin/apport-cli,
	* bin/apport-retrace,
	* bin/crash-digger,
	* bin/dupdb-admin,
	* data/apport,
	* data/apportcheckresume,
	* data/dump_acpi_tables.py,
	* data/general-hooks/generic.py,
	* data/general-hooks/parse_segv.py,
	* data/java_uncaught_exception,
	* data/kernel_crashdump,
	* data/package-hooks/source_apport.py,
	* data/package_hook,
	* data/unkillable_shutdown,
	* po/apport.pot,
	* problem_report.py,
	* setup.py,
	* test/run,
	* test/test_backend_apt_dpkg.py,
	* test/test_backend_rpm.py,
	* test/test_crash_digger.py,
	* test/test_crashdb.py,
	* test/test_fileutils.py,
	* test/test_hooks.py,
	* test/test_hookutils.py,
	* test/test_java_crashes.py,
	* test/test_packaging.py,
	* test/test_parse_segv.py,
	* test/test_problem_report.py,
	* test/test_python_crashes.py,
	* test/test_report.py,
	* test/test_rethread.py,
	* test/test_signal_crashes.py,
	* test/test_ui.py,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2277] * Fix the whole code to be PEP-8
	compatible, and enforce this in test/run by running the "pep8" tool.

	* NEWS,
	* bin/crash-digger: [2276] * crash-digger: Add --sandbox-dir option
	and pass it to apport-retrace.

	* NEWS,
	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-retrace,
	* man/apport-retrace.1,
	* test/test_backend_apt_dpkg.py: [2275] * packaging.py,
	install_packages(): Add permanent_rootdir flag and if set, only unpack
	newly downloaded packages. Implement it for the apt/dpkg backend.
	Thanks Evan Dandrea. * apport-retrace: Add --sandbox-dir option for
	keeping a permanent sandbox (unpacked packages). This provides a
	considerable speedup. Thanks Evan Dandrea.

=== 2.0.1 ===
2012-04-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2274] release 2.0.1

	* NEWS,
	* problem_report.py,
	* test/test_problem_report.py: [2273] * problem_report.py,
	write_mime(): Fix regression from version 1.95: Add a value as
	attachment if it is bigger than 1000 bytes, not if it is bigger than
	100. (LP: #977882)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2272] * packaging-apt-dpkg.py:
	Avoid constructing and updating the apt.Cache() objects multiple
	times, to speed up retracing. Thanks Evan Dandrea. (LP: #973494)

	* NEWS,
	* data/general-hooks/generic.py: [2271] * generic package hook: Also
	check /tmp for enough space. Thanks Brian Murray. (LP: #972933)

2012-04-10  Launchpad Translations on behalf of apport-hackers

	* po/fi.po,
	* po/tr.po: [2270] Launchpad automatic translations update.

2012-04-08  Launchpad Translations on behalf of apport-hackers

	* po/cs.po,
	* po/sl.po: [2269] Launchpad automatic translations update.

2012-04-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_report.py: [2268] * test_report.py: Sleep a bit after
	calling our test crash script, to ensure the kernel has time to finish
	writing the core file.

	* NEWS,
	* test/test_backend_apt_dpkg.py: [2267] * test_backend_apt_dpkg.py:
	Fix checks for the installation of -dbgsym packages. This should
	always happen, as the sandboxes have a ddeb apt source. Only make it
	conditional on the system apt sources in the "use system config" test.

2012-03-31  Launchpad Translations on behalf of apport-hackers

	* po/pl.po: [2266] Launchpad automatic translations update.

2012-03-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_ui_gtk.py: [2265] * test_ui_gtk.py: Disable package hooks
	for the tests, as they might ask for sudo passwords and other
	interactive bits, and thus make the tests hang.

=== 2.0 ===
2012-03-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2264] release 2.0

	* NEWS: [2263] bump version to 2.0

	* NEWS,
	* apport/ui.py,
	* test/test_ui_gtk.py: [2262] ui.py: Do not short-circuit information
	collection if report already has a "DistroRelease" field, as the GUIs
	add that in some cases. Check for "Dependencies" instead. This fixes
	information collection for kernel problems (which now has a full GTK
	GUI test case). (LP: #968488)

2012-03-30  Launchpad Translations on behalf of apport-hackers

	* po/ca.po: [2261] Launchpad automatic translations update.

2012-03-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/ui.py,
	* doc/crashdb-conf.txt,
	* test/test_crashdb.py,
	* test/test_ui.py: [2260] Add a new crash database option
	"problem_types" and a CrashDatabase method "accepts(report)". This can
	be used to stop uploading particular problem report types to that
	database. E. g. a distribution might decide to not get "Crash" reports
	any more after release.  Document the new option in doc/crashdb-
	conf.txt. - ui.py: Do not upload a report if the crash database does
	not accept the report's type. This behaviour is not really correct,
	but necessary as long as we only support a single crashdb and have
	whoopsie hardcoded.  Once we have multiple crash dbs, we need to not
	even present the data if none of the DBs wants the report. See LP
	#957177 for details. (LP: #968121)

	* NEWS,
	* apport/crashdb.py,
	* test/test_crashdb.py: [2259] crashdb.py: When publishing the crash
	database, cut hash file names after quoting, to avoid that the quoting
	causes them to become too long. (LP: #968070) This also uncovered that
	known() did not actually find any signature which contained an URL-
	quoted character, therefore breaking client-side duplicate checking in
	a lot of cases. Double-quote the file name now, as urlopen() unquotes
	it.

2012-03-29  Launchpad Translations on behalf of apport-hackers

	* po/ca.po: [2258] Launchpad automatic translations update.

2012-03-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport_python_hook.py: [2257] apport_python_hook.py: Fix filtering
	of org.freedesktop.DBus.Error.NoReply exceptions. (LP: #958575)

	* NEWS,
	* apport/report.py,
	* test/test_ui.py: [2256] report.py, anonymize(): Only replace whole
	words, not substrings. (LP: #966562)

2012-03-27  Launchpad Translations on behalf of apport-hackers

	* po/tr.po: [2255] Launchpad automatic translations update.

2012-03-24  Launchpad Translations on behalf of apport-hackers

	* po/nb.po: [2254] Launchpad automatic translations update.

2012-03-23  Launchpad Translations on behalf of apport-hackers

	* po/es.po,
	* po/gl.po,
	* po/hu.po,
	* po/it.po: [2253] Launchpad automatic translations update.

=== 1.95 ===
2012-03-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2252] release 1.95

	* NEWS,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2251] apport-kde, apport-gtk: Only show
	"Relaunch" if the report has a ProcCmdline, otherwise we cannot
	restart it. (LP: #956173)

	* NEWS,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2250] backends/packaging-apt-
	dpkg.py, _check_files_md5(): Fix double encoding, which caused
	UnicodeDecodeErrors on non-ASCII characters in an md5sum file. (LP:
	#953682)

	* NEWS,
	* gtk/apport-gtk: [2249] apport-gtk: Require an application to both
	have TERM and SHELL in its environment to consider it a command line
	application that was started by the user. (LP: #962130)

	* NEWS,
	* apport/report.py,
	* apport/ui.py,
	* test/test_ui.py: [2248] ui.py: Run anonymization after checking for
	duplicates, to prevent host or user names which look like hex numbers
	to corrupt the stack trace. (LP: #953104)

	* NEWS,
	* apport/crashdb.py: [2247] crashdb.py, known(): Check the address
	signature duplicate database if the symbolic signature exists, but did
	not find any result. (LP: #103083)

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2246] apport-gtk: Make details window
	resizable in bug reporting mode.

	* NEWS,
	* gtk/apport-gtk: [2245] apport-gtk: Cut off text values after 4000
	characters, as Gtk's TreeView does not get along well with huge
	values. KDE's copes fine, so continue to display the complete value
	there. (LP: #957062)

	* NEWS,
	* apport/hookutils.py: [2244] hooktuils.py: Change
	root_command_output() and attach_root_command_outputs() to disable
	translated messages (LC_MESSAGES=C) only as part of the command to be
	run, not already for the root prefix command. This will keep the
	latter (gksu, kdesudo, etc.) translated. (LP: #961659)

	* NEWS,
	* apport/hookutils.py,
	* test/test_hookutils.py: [2243] hookutils.py, command_output(): Add
	option to keep the locale instead of disabling it. - hookutils.py,
	command_output(): Actually make the "input" parameter work, instead of
	causing an eternal hang. Add tests for all possible modes of
	operation.

	* NEWS,
	* gtk/apport-gtk: [2242] apport-gtk: Do not compare current continue
	button label against a translated string.  Instead just remember
	whether or not we can restart the application. (LP: #960439)

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2241] report.py, mark_ignore(): Fix crash if
	executable went away underneath us. (LP: #961410)

	* NEWS,
	* etc/cron.daily/apport: [2240] etc/cron.daily/apport: Do not remove
	whoopsie's *.upload* stamps every day, only if they are older than a
	week. whoopsie comes with its own cron job which deals with them.
	Thanks Steve Langasek. (LP: #957102)

2012-03-22  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2239] Launchpad automatic translations update.

2012-03-21  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* problem_report.py,
	* test/test_problem_report.py: [2238] problem_report.py, write_mime():
	Do not put a key inline if it is bigger than 1 kB, to guard against
	very long lines. (LP: #957326)

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2237] update POT, merge PO

	* NEWS,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2236] apport-gtk, apport-kde: When reporting a
	"system crash", don't say "... of this program version", but "...of
	this type", as we don't show a program version in the initial dialog
	(https://wiki.ubuntu.com/ErrorTracker#error) (LP: #961065)

2012-03-20  Launchpad Translations on behalf of apport-hackers

	* po/es.po: [2235] Launchpad automatic translations update.

2012-03-16  Launchpad Translations on behalf of apport-hackers

	* po/fi.po: [2234] Launchpad automatic translations update.

2012-03-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk,
	* kde/apport-kde: [2233] apport-gtk, apport-kde: Show the
	ExecutablePath while we're collecting data for the crash report.
	Thanks Evan Dandrea. (LP: #938707).

2012-03-11  Launchpad Translations on behalf of apport-hackers

	* po/ta.po: [2232] Launchpad automatic translations update.

2012-03-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [2231] NEWS: fix bug ref

	* NEWS,
	* apport/hookutils.py: [2230] hookutils.py, attach_alsa(): Add the
	full "pacmd list" output instead of just sinks and sources. Thanks
	David Henningsson.

	* NEWS: [2229] NEWS: Link to bug

	* test/test_ui_gtk.py: [2228] test_ui_gtk.py: Clean up distro name
	comparisons

	* NEWS,
	* test/run: [2227] test/run: Ignore obsolete packages on the system,
	to avoid breaking the GUI tests due to them.

2012-03-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2226] apport-gtk, apport-kde: Set the window
	title to the distribution name, as per
	http://wiki.ubuntu.com/ErrorTracker#error . Thanks Evan Dandrea.

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2225] ui.py: Ensure that the report file is
	readable by the crash reporting daemon after running through
	collect_info(). Thanks Evan Dandrea.

=== 1.94.1 ===
2012-03-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2224] release 1.94.1

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2223] apport-gtk: Fix handling of non-ASCII
	strings in message dialogs. (LP: #620579)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2222] packaging-apt-dpkg.py: Fix
	UnicodeDecodeError on unexpected md5sum output. (LP: #921037)

	* NEWS,
	* apport/report.py,
	* test/test_report.py,
	* test/test_ui.py: [2221] report.py, anonymize(): Fix crash when the
	hostname or user name contain non-ASCII characters. (LP: #945230)

	* NEWS,
	* bin/apport-cli: [2220] apport-cli: Consistently handle unicode vs.
	byte arrays. (LP: #946207)

2012-03-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2219] ui.py, collect_info(): Do not assume
	that reports have a "ProblemType" field. This is not the case when
	updating a bug. (LP: #947519)

	* NEWS,
	* test/test_ui_kde.py: [2218] test_ui_kde.py: Re-enable inadvertently
	disabled "bug report for uninstalled package" test.

2012-03-06  Launchpad Translations on behalf of apport-hackers

	* po/cs.po: [2217] Launchpad automatic translations update.

2012-03-05  Launchpad Translations on behalf of apport-hackers

	* po/sv.po: [2216] Launchpad automatic translations update.

2012-03-03  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2215] Launchpad automatic translations update.

2012-03-02  Martin Pitt <martin.pitt@canonical.com>

	* test/run: [2214] test/run: Fix "Ubuntu" hardcoded name test to
	ignore Ubuntu desktop files

=== 1.94 ===
2012-03-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2213] release 1.94

	* apport/report.py: [2212] report.py: Drop dead code

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2211] update German translations

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/apport.pot,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2210] PO refresh

	* NEWS,
	* gtk/apport-gtk,
	* test/test_ui_gtk.py: [2209] apport-gtk: Fix resizability and size
	after hiding details. (LP: #405418)

	* NEWS,
	* kde/apport-kde: [2208] apport-kde: Fix Home page URL in KApplication
	metadata.

	* NEWS,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui,
	* kde/apport-kde,
	* test/run,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2207] Drop hardcoded "Ubuntu" words again
	which crept in with the whoopsie support merge. Use the DistroRelease:
	field.

	* NEWS,
	* test/run: [2206] test/run: Add a test that there are no hardcoded
	"Ubuntu" words in the source. The code should use the DistroRelease:
	field or lsb_release.

	* NEWS: [2205] NEWS: Fix grammar

	* NEWS,
	* apport/hookutils.py: [2204] apport/hookutils.py, pci_devices(): Fix
	crash on unexpected lines from lspci. (LP: #904489)

	* NEWS,
	* data/unkillable_shutdown: [2203] data/unkillable_shutdown: Fix crash
	on race condition when PID goes away while the report is created. (LP:
	#546369)

	* NEWS,
	* apport/ui.py: [2202] ui.py, get_desktop_entry(): Fix crash on
	uninstalled package. (LP: #940984)

	* bin/apport-cli: [2201] apport-cli: Drop dead code

	* NEWS,
	* test/test_ui.py: [2200] test_ui.py: Add a test case for reporting a
	complete report on uninstalled package. This happens when reporting a
	problem from a different machine through copying a .crash file.

	* NEWS: [2199] NEWS: refer to another collect() crash

	* NEWS,
	* apport/ui.py,
	* bin/apport-cli,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* test/test_ui.py: [2198] Revert the usage of multiple nested threads
	during data collection, and switch back to only using one UI thread.
	The UI implementations can, and now do, decide between showing a
	spinner and showing a progress dialog in the
	ui_*_info_collection_progress() methods. This fixes libX11 crashes
	when multiple UI threads do changes concurrently (LP: #901675), and
	also avoids multi-thread induced crashes in Pango (LP: #943661). The
	removal of the collect() method, this also fixes the new crashes in
	it. (LP: #942098)

2012-03-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_ui_kde.py: [2197] test/test_ui_kde.py: add same test cases
	as for GTK UI in previous commit

	* NEWS,
	* test/test_ui_gtk.py: [2196] test/test_ui_gtk.py: Add test cases for
	complete UI workflow runs for reporting a bug against an
	installed/uninstalled package, and reporting a crash with and without
	showing details. This reproduces the recent crashes like LP #901675 or
	LP #943661.

	* test/run: [2195] test/run: Fix for no arguments

2012-03-01  Martin Pitt <martin.pitt@canonical.com>

	* test/test_packaging.py: Added.

	* NEWS,
	* apport/packaging.py,
	* test/test_hooks.py: Modified.

	[2194] apport/packaging.py: Add get_uninstalled_package() method as a
	helper method for the test suite. Use it instead of a hardcoded
	Debian/Ubuntu specific name in test/test_hooks.py.

2012-03-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/run: [2193] test/run: Support running a single test

	* test/test_ui_gtk.py: [2192] test_ui_gtk.py: Consistent test case
	name

	* test/run: [2191] test/run: Do not use xvfb when setting
	$APPORT_TEST_NOXVFB

2012-02-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py,
	* test/test_crashdb.py: [2190] crashdb.py, check_duplicate(): It can
	happen that a bug gets identified as being a duplicate of bug S by
	symbolic signatures and a duplicate of bug A by address signatures.
	Empirical evidence shows that this is due to the unavoidable jitter in
	stack traces (A and S not being identified as duplicates as their
	signatures differ slightly) and not a logic error. So instead of
	erroring out, duplicate all three bugs and keep the lowest number as
	the master ID. (LP: #943117)

	* apport/REThread.py,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/crashdb_impl/multipartpost_handler.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* bin/apport-cli,
	* bin/apport-retrace,
	* bin/crash-digger,
	* data/dump_acpi_tables.py,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* problem_report.py,
	* setup.py,
	* test/test_backend_apt_dpkg.py,
	* test/test_backend_rpm.py,
	* test/test_crash_digger.py,
	* test/test_crashdb.py,
	* test/test_hooks.py,
	* test/test_hookutils.py,
	* test/test_java_crashes.py,
	* test/test_parse_segv.py,
	* test/test_problem_report.py,
	* test/test_python_crashes.py,
	* test/test_report.py,
	* test/test_signal_crashes.py,
	* test/test_ui.py,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2189] remove trailing whitespace

	* apport/report.py: [2188] fix regression from r2183

	* NEWS,
	* apport/ui.py: [2187] Make "binary changed since the time of the
	crash" error message more comprehensible, thanks Paolo Rotolo. (LP:
	#942830)

2012-02-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py,
	* test/test_report.py: [2186] report.py, crash_signature(): Do not put
	"<module>" frames into Python crash signatures that happen outside of
	function/method calls. Fall back to the file/line number as a frame
	description instead. This will do a much better job at disambiguating
	e. g. different ImportError crashes. (LP: #920403)

	* apport/crashdb_impl/memory.py: [2185] apport/crashdb_impl/memory.py:
	Re-fix broken spacing in dummy traces

	* NEWS,
	* data/apport: [2184] apport: Fix crash if the "whoopsie" group does
	not exist. (LP: #942326)

	* NEWS,
	* apport/report.py,
	* data/general-hooks/generic.py: [2183] report.py, add_package_info():
	Add "[origin: ...]" tag to "Package" and "Dependencies" fields for any
	package which is not native to the distribution. If any such package
	is present, tag the report with "third-party-packages" in data
	/general-hooks/generic.py. (LP: #927912)

	* NEWS,
	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* test/test_backend_apt_dpkg.py: [2182] packaging.py: Add
	get_package_origin() method, and implement it for apt-dpkg.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2181] launchpad.py: Properly
	handle "Expired" status, to avoid marking new bugs as duplicates of
	expired ones. (LP: #941854)

2012-02-28  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2180] Launchpad automatic translations update.

2012-02-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py,
	* data/general-hooks/generic.py,
	* test/test_hookutils.py: [2179] hookutils.py, xsession_errors(): Add
	a reasonable default pattern which matches glib-style warnings,
	errors, criticals etc. and X window errors. In data/general-
	hooks/generic.py, call it with that default instead of the rather
	incomplete custom pattern. (LP: #932660)

	* NEWS,
	* data/general-hooks/generic.py: [2178] general-hooks/generic.py: Also
	attach xsession-errors for programs that link to libgtk-3.

	* NEWS,
	* test/run: [2177] test/run: Run under LC_MESSAGES=C to avoid test
	failures due to translated strings.

	* NEWS,
	* test/test_backend_apt_dpkg.py: [2176] testsuite: Force the skipping
	of online tests when $SKIP_ONLINE_TESTS is set.

	* NEWS,
	* test/run: [2175] test/run: Consider command line arguments as test
	names and only run those when given.

	* NEWS,
	* test/run: [2174] test/run: Drop "local" argument. This now tests
	against the source tree when run in the source tree root, and against
	the system libraries/programs when run from anywhere else.

2012-02-24  Martin Pitt <martin.pitt@canonical.com>

	* test/test_backend-apt-dpkg.py: Renamed to
	  test/test_backend_apt_dpkg.py.
	* test/test_backend-rpm.py: Renamed to test/test_backend_rpm.py.

	[2173] rename tests to use _ consistently

2012-02-24  Martin Pitt <martin.pitt@canonical.com>

	* README: [2172] README: Fix typo

2012-02-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/test_backend-apt-dpkg.py,
	* test/test_backend-rpm.py,
	* test/test_java_crashes.py,
	* test/test_parse_segv.py,
	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2171] Fix tests to run properly against the
	system-installed modules and binaries.

	* NEWS,
	* data/apport: [2170] apport: Set the group of written reports to
	"whoopsie" if that group exists.

=== 1.93 ===
2012-02-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2169] release 1.93

	* apport/crashdb_impl/launchpad.py: [2168] launchpad.py: typo fix

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2167] launchpad.py: Fix crash on
	unicode report titles. (LP: #896626)

	* apport/crashdb_impl/launchpad.py: [2166] launchpad.py: Fix test
	suite after recent test reorganization

	* NEWS,
	* apport/ui.py,
	* test/test_ui.py: [2165] ui.py: Fix crash on invalid core dumps. (LP:
	#937215)

	* test/test_ui_gtk.py,
	* test/test_ui_kde.py: [2164] clean up UI tests

	* test/test_backend-apt-dpkg.py: [2163] drop debugging leftover

2012-02-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/run,
	* test/test_backend-apt-dpkg.py: Modified.

	* test/crash: Renamed to test/test_signal_crashes.py and modified.
	* test/crash-digger: Renamed to test/test_crash_digger.py and
	  modified.
	* test/gtk: Renamed to test/test_ui_gtk.py and modified.
	* test/hooks: Renamed to test/test_hooks.py and modified.
	* test/java: Renamed to test/test_java_crashes.py and modified.
	* test/kde: Renamed to test/test_ui_kde.py and modified.
	* test/python: Renamed to test/test_python_crashes.py and modified.

	[2162] Clean up the other executable test script in test/* and change
	them to the same structure as the module tests.

2012-02-23  Martin Pitt <martin.pitt@canonical.com>

	* test/test_backend-apt-dpkg.py,
	* test/test_backend-rpm.py,
	* test/test_crashdb.py,
	* test/test_fileutils.py,
	* test/test_hookutils.py,
	* test/test_parse_segv.py,
	* test/test_problem_report.py,
	* test/test_report.py,
	* test/test_rethread.py,
	* test/test_ui.py: Added.

	* NEWS,
	* apport/REThread.py,
	* apport/crashdb_impl/memory.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* data/general-hooks/parse_segv.py,
	* problem_report.py,
	* test/run: Modified.

	[2161] Move all test suites out of the code modules into
	test/test_<module>.py. This avoids having to load it every time the
	program runs, and also allows running the tests against the installed
	version of Apport.

2012-02-23  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [2160] ui.py: Drop unused code from test case

	* NEWS,
	* do-release: [2159] do-release: Call pyflakes and abort on errors
	other than unused imports.

	* apport/crashdb_impl/multipartpost_handler.py,
	* apport/report.py: [2158] more pyflakes complaint fixes

	* apport/crashdb_impl/launchpad.py: [2157] launchpad.py: Fix
	_get_bug_target() declaration

	* NEWS,
	* data/general-hooks/parse_segv.py: [2156] data/general-
	hooks/parse_segv.py: Fix test case name.

	* apport/crashdb.py,
	* apport/crashdb_impl/multipartpost_handler.py,
	* apport/hookutils.py,
	* apport/report.py,
	* backends/packaging-apt-dpkg.py,
	* data/dump_acpi_tables.py,
	* problem_report.py: [2155] fix some pyflakes complaints

	* backends/packaging-apt-dpkg.py,
	* data/dump_acpi_tables.py,
	* data/package-hooks/source_apport.py,
	* setup.py: [2154] drop some unused imports

	* NEWS,
	* test/python: [2153] test/python: Do not assume that /var/crash/
	exists. Use /var/tmp/ for the fake binaries instead.

	* NEWS,
	* test/hooks: [2152] test/hooks: Use a package from Debian/Ubuntu
	main, so that this works better during package builds on build
	servers.

	* NEWS,
	* apport/ui.py: [2151] ui.py: Fix test failures for data collection
	progress, they are not expected to happen for "ProblemType: Crash" any
	more (happens in the background during sending, or if user clicks on
	"Show Details").

	* NEWS,
	* test/crash: [2150] test/crash: Fix regression of
	test_crash_apport(), consider $TERM a non-sensitive variable.

	* apport/ui.py: [2149] document ui.py collect(), and add assertion

2012-02-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [2148] link additional bug report

	* NEWS,
	* gtk/apport-gtk: [2147] apport-gtk: Show the most interesting fields
	first in the details view.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2146] launchpad.py: If a bug is
	already known, but the report is private, do not send the report.
	There is little sense piling up lots of duplicates. (LP: #938700)

	* NEWS,
	* apport/ui.py: [2145] ui.py: Fix aborting with "AssertionError" if
	the report is already known, but without an URL. (LP: #938778)

	* NEWS,
	* apport/ui.py: [2144] ui.py, open_url(): Revert back to calling sudo
	instead of dropping privileges ourselves; with the latter, calling
	firefox as the sudo'ing user fails. (LP: #916810)

	* NEWS,
	* gtk/apport-gtk,
	* test/gtk: [2143] apport-gtk: Fix crash on nonexisting icon. Thanks
	Evan Dandrea. (LP: #937354)

=== 1.92 ===
2012-02-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2142] release 1.92

2012-02-20  Martin Pitt <martin.pitt@canonical.com>

	* data/spinner.gif,
	* test/gtk,
	* test/kde: Added.

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* bin/apport-cli,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui,
	* kde/apport-kde,
	* kde/bugreport.ui,
	* test/run: Modified.

	[2141] Merge whoopsie branch from Evan Dandrea:  - Clean up
	unnecessary imports.  - Reorganize the GNOME and KDE user interface to
	do the crash notifications    and detail browser in a single dialog.
	Add test/gtk and test/kde tests to    check expected dialog layout for
	different cases.  - Add support for the whoopsie-daisy crash reporting
	daemon by creating    zero-byte .upload file stamps for crash reports.

2012-02-20  Launchpad Translations on behalf of apport-hackers

	* po/sv.po: [2140] Launchpad automatic translations update.

2012-02-19  Launchpad Translations on behalf of apport-hackers

	* po/el.po: [2139] Launchpad automatic translations update.

2012-02-14  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2138] Launchpad automatic translations update.

2012-02-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk.ui: [2137] apport-gtk: Fix resize handling of
	expander in details window. Thanks Thomas Bechtold! (LP: #930562)

2012-02-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2136] report.py, crash_signature_addresses(): Fix
	crash if report does not have "Signal".

2012-02-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2135] launchpad.py: Keep
	"Dependencies" attachment in duplicates. Thanks Brian Murray.

2012-02-06  Launchpad Translations on behalf of apport-hackers

	* po/sr.po: [2134] Launchpad automatic translations update.

2012-02-05  Launchpad Translations on behalf of apport-hackers

	* po/sr.po: [2133] Launchpad automatic translations update.

2012-02-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2132] launchpad.py: Avoid sending
	tag names with upper case. (LP: #924181)

2012-02-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [2131] hookutils.py, attach_hardware(): Sort
	ProcModules, thanks Brian Murray.

2012-01-28  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/shn.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2130] Launchpad automatic translations update.

2012-01-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace,
	* data/general-hooks/parse_segv.py: [2129] Replace file() calls with
	open() for Python 3 compatibility. Thanks Colin Watson!

2012-01-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* man/apport-bug.1: [2128] man/apport-bug.1: Mention where crash files
	are stored. Thanks David Kastrup.

2012-01-19  Launchpad Translations on behalf of apport-hackers

	* po/shn.po: Added.

	[2127] Launchpad automatic translations update.

2012-01-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2126] ui.py: Fix wrong creation of "~" folder instead
	of expanding it to home directory when using "Examine locally". Thanks
	Jason Conti! (LP: #909149)

=== 1.91 ===
2012-01-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2125] release 1.91

	* NEWS,
	* apport/report.py: [2124] report.py: Update reading AssertionMessage.
	Current (e)glibc turned __abort_msg from a simple static string into a
	struct.

	* NEWS,
	* apport/report.py: [2123] Support /etc/apport/whitelist.d/ similarly
	to /etc/apport/blacklist.d/, for cases like installer environments
	where only crashes of a few selected programs should be reported.

	* NEWS,
	* apport_python_hook.py: [2122] Python exceptions: Blacklist
	DBus.Error.NoReply. It does not help to get these traces from the
	client-side application, you need the actual exception in the D-Bus
	server backend instead. (LP: #914220)

2012-01-16  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport_python_hook.py,
	* data/apport,
	* data/apportcheckresume,
	* test/crash,
	* test/python: [2121] Change permissions of .crash files from 0600 to
	0640, so that /var/crash can be made g+s and crash handling daemons
	can access those.

2012-01-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py: [2120] crashdb.py: Remove debugging leftover
	which completely disabled bug pattern checking.

2012-01-08  Launchpad Translations on behalf of apport-hackers

	* po/de.po: [2119] Launchpad automatic translations update.

2012-01-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [2118] report.py: Filter out frames which are
	internal kernel/glibc implementation details and not stable across
	duplicates. In particular, filter out __kernel-syscall() and the SSE
	stubs.

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* bin/apport-retrace: [2117] apport-retrace: Fix "an useful" typo.
	(LP: #911437)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2116] launchpad.py: Only set bug
	task importance if it is undecided.

2012-01-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-cli: [2115] apport-cli: Fix UnicodeDecodeError on unicode
	report values. (LP: #275972)

2012-01-01  Launchpad Translations on behalf of apport-hackers

	* po/pl.po: [2114] Launchpad automatic translations update.

2011-12-26  Launchpad Translations on behalf of apport-hackers

	* po/fi.po: [2113] Launchpad automatic translations update.

2011-12-13  Launchpad Translations on behalf of apport-hackers

	* po/fi.po: [2112] Launchpad automatic translations update.

2011-12-09  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2111] Launchpad automatic translations update.

2011-12-08  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [2110] backends/packaging-apt-
	dpkg.py: Fix import of time

2011-12-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py: [2109] crashdb.py: Do not add a new address
	signature entry if one already exists.

	* NEWS,
	* apport/crashdb.py: [2108] crashdb.py: Ensure that address_signature
	duplicate db table does not have multiple identical signatures by
	making it a primary key. Bump the db format to "3". Existing databases
	need to be migrated manually as SQLite does not allow adding a
	"PRIMARY KEY" constraint to existing tables.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2107] packaging-apt-dpkg.py:
	Refresh Contents.gz cache if it is older than one day.

	* NEWS,
	* bin/apport-retrace: [2106] apport-retrace: Use DistroRelease
	specific subdirectory of the cache dir for mapping a file to a
	package, as these maps are release specific.

2011-12-01  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-retrace: [2105] apport-retrace: KernelCrash processing
	unimplemented is not a transient error which should stop the retracer

2011-12-01  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2104] Launchpad automatic translations update.

2011-11-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py: [2103] crashdb.py, check_duplicate(): If a crash
	has a signature but no existing duplicate in the DB, also check for an
	existing address signature duplicate in the DB.

=== 1.90 ===
2011-11-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2102] release 1.90

	* NEWS: [2101] bump version to 1.90 as first beta of 2.0

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2100] launchpad.py: Current
	Launchpad cannot have private bugs which affect multiple projects. Fix
	test suite accordingly.

	* apport/crashdb_impl/launchpad.py: [2099] launchpad.py: Fix exception
	on tag removal, and fix test suite

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2098] launchpad.py: Override
	known() to check if the master bug is actually accessible by the
	reporter, and is not tagged with "apport-failed-retrace" or "apport-
	request-retrace"; otherwise file it anyway.

	* doc/crashdb-conf.txt: [2097] doc/crashdb-conf.txt: Document
	dupdb_url and standard options

2011-11-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk,
	* kde/apport-kde: [2096] apport-kde, apport-gtk: Support the
	"Annotation" field for custom dialog titles for "Crash" and "Package"
	problem types as well, not just for "Kernel". (LP: #664378)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2095] launchpad.py: Attach
	updated stack traces from a duplicate to the master bug if it failed
	retracing previously or has an "apport-request-retrace" tag. (LP:
	#869982)

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py: [2094] pass report to
	CrashDatabase.close_duplicate(), in case implementations need it

	* NEWS,
	* apport/ui.py: [2093] ui.py: Also anonymize standard bug title. (LP:
	#893863)

	* apport/crashdb.py: [2092] crashdb.py: Fix imports for python3

	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py: [2091] fix crash on address signature
	duplicates which get uploaded

2011-11-23  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2090] Launchpad automatic translations update.

2011-11-21  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/ui.py,
	* bin/dupdb-admin: [2089] crashdb.py: Change CrashDatabase constructor
	to not explicitly take a "bugpattern_baseurl" argument any more. Just
	take it from the options dictionary.

	* NEWS,
	* bin/crash-digger,
	* test/crash-digger: [2088] crash-digger: Add --publish-db option to
	conveniently integrate duplicate DB publication (similar to dupdb-
	admin publish) into retracer setups.

	* etc/apport/crashdb.conf: [2087] etc/apport/crashdb.conf: Fix
	whitespace

	* etc/apport/crashdb.conf: [2086] etc/apport/crashdb.conf: Add
	dupdb_url option for Launchpad/Ubuntu

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* bin/dupdb-admin,
	* man/dupdb-admin.1: [2085] Add "publish" dupdb-admin command which
	exports the duplicate database into a set of text files suitable for
	WWW publishing. Implement crashdb.py known() method to check this
	format, if the crash database is initialized with a "dupdb_url" option
	pointing to the exported database.

	* apport/crashdb.py: [2084] crashdb.py: Fix _duplicate_db_upgrade() to
	actually write the current version

	* apport/ui.py: [2083] ui.py: Simplify test code

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py: [2082] crashdb.py: Put address
	signatures from reports checked with check_duplicate() into the
	duplicate database, so that implementations of known() can check for
	these.

2011-11-18  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/memory.py: [2081] apport/crashdb_impl/memory.py:
	Implement known() for DuplicateSignature and crash_signature()

	* apport/crashdb.py: [2080] crashdb.py: Code cleanup

	* apport/crashdb.py: [2079] crashdb.py: Small code beautification

	* NEWS,
	* apport/crashdb.py: [2078] crashdb.py: Add a table "version" with the
	database format version. Add automatic upgrading to the most current
	format.

	* apport/ui.py: [2077] ui.py: Add some more checks to debug IOErrors,
	causing self.ui.report to become None

	* NEWS,
	* apport/crashdb.py,
	* apport/ui.py: [2076] crashdb.py: Add new method "known(report)"
	which can be implemented to check if the crash db already knows about
	the crash signature. If so, the report will not be uploaded, and
	instead the user will be directed to the existing report URL (if
	available), similar to bug patterns. The default implementation always
	returns None, i. e. keeps current behaviour.

2011-11-17  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [2075] ui.py: Change internal "BugPatternURL" field to
	"KnownReport", as it is not relevant how we figure out that it is
	already known. Also support non-URL values.

	* NEWS,
	* apport/report.py,
	* apport/ui.py: [2074] report.py, add_gdb_info(): Add a new field
	"StacktraceAddressSignature" which is a heuristic signature for signal
	crashes. This should be used if crash_signature() fails, i. e. the
	Stacktrace field does not have enough symbols. This can be used to
	check for duplicates on the client side, provided that the crash
	database server supports querying for these. Do not expose this field
	when uploading to crash databases though, as it can be recomputed from
	the already existing information (ProcMaps and Stacktrace) and thus
	would just clutter the reports.

	* apport/report.py: [2073] apport/report.py: Add
	crash_signature_addresses() method

	* apport/report.py: [2072] apport/report.py: Add _address_to_offset()
	method

2011-11-16  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2071] launchpad.net: When sending
	retraced results back to the bug report, update the topmost function
	in the bug title. (LP: #869970)

	* NEWS,
	* apport/report.py: [2070] report.py: Break out new method
	stacktrace_top_function() from standard_title(), so that other parts
	of the code can use this as well.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2069] launchpad.py: Only query
	for bugs after 2011-08-01, to avoid timeouts.

2011-11-15  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py: [2068] report.py: Fix crash in _command_output()

2011-11-12  Launchpad Translations on behalf of apport-hackers

	* po/lt.po: [2067] Launchpad automatic translations update.

2011-11-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2066] backends/packaging-apt-
	dpkg.py: Fix handling of explicit cache directory name when it is a
	relative path.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2065] backends/packaging-apt-
	dpkg.py: Fix another test case failure when ddeb repository is not
	enabled.

=== 1.26 ===
2011-11-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2064] release 1.26

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2063] backends/packaging-apt-
	dpkg.py: Fix tests if system does not have a dbgsym apt source.

	* backends/packaging-apt-dpkg.py: [2062] backends/packaging-apt-
	dpkg.py: slight code cleanup

	* NEWS,
	* apport/ui.py,
	* test/crash: [2061] apport/ui.py, test/crash: Use "yes" as test
	process instead of "cat". The former is less likely to run already,
	and does not depend on having a stdin, so it runs better in test
	environments like autopkgtest.

2011-11-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/crash,
	* test/run: [2060] test/crash: Rewrite using Python's unittest, to be
	in line with other tests, and be easier to maintain and extend.

	* NEWS,
	* apport/report.py: [2059] report.py test suite: Remove requirement
	that $USER is set, which makes it easier to run this from package
	build environments.

	* NEWS,
	* data/apport: [2058] Ignore a crash if gnome-session is running and
	says that the session is being shut down. These often die because
	X.org or other services are going away, are usually harmless, and just
	cause a lot of clutter in bug trackers. (LP: #460932)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2057] backends/packaging-apt-
	dpkg.py: Fix interleaving usage of install_packages() with other
	operations such as get_version(), by resetting the apt status after
	building and using the sandbox.

2011-11-09  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [2056] backends/packaging-apt-
	dpkg.py, install_packages(): Add some bookkeeping to ensure that apt
	fetcher really got everything; this is missing a lot of packages for
	apport-retrace

	* AUTHORS,
	* NEWS,
	* README: [2055] README: Update command for one-time enablement.

	* NEWS,
	* setup.py: [2054] setup.py: Fix crash when "javac -version" fails.

	* NEWS,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py: [2053] Fix tests when running as root.

2011-11-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2052] apport/ui.py: Clean up test .crash file after
	test cases.

	* NEWS,
	* test/run: [2051] test/run: Fix testing data/general-
	hooks/parse_segv.py when called in system-installed mode.

	* NEWS,
	* apport/hookutils.py,
	* apport/ui.py: [2050] Fix some import statements to also work for the
	system-installed test suite.

	* NEWS,
	* apport/report.py: [2049] report.py, add_proc_info(): Correctly
	handle "python -m <modulename>" programs as being interpreted and
	determine the appropriate module path.

2011-11-08  Launchpad Translations on behalf of apport-hackers

	* po/tr.po: [2048] Launchpad automatic translations update.

2011-11-07  Launchpad Translations on behalf of apport-hackers

	* po/es.po: [2047] Launchpad automatic translations update.

2011-11-06  Launchpad Translations on behalf of apport-hackers

	* po/es.po: [2046] Launchpad automatic translations update.

2011-11-04  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py: [2045] apport/report.py: More Python 3 porting

2011-11-03  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* apport/ui.py: [2044] fix remaining execfile() calls to be Python 3
	compatible

	* apport/report.py,
	* backends/packaging-apt-dpkg.py: [2043] apport/report.py: Fix fd
	leaks

	* apport/REThread.py: [2042] apport/REThread.py: cannot fix to work
	with both Python 2 and 3, add comment for Python 3 syntax

	* apport/crashdb.py: [2041] crashdb.py: finish porting to Python 3

	* apport/fileutils.py: [2040] fileutils.py: Port to Python 3

	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py: [2039] crashdb.py, memory.py: Python
	3 porting

	* apport/hookutils.py: [2038] apport/hookutils.py: Port to Python 3

	* NEWS,
	* test/crash: [2037] test/crash: Exit successfully if apport is not
	enabled in the system. This allows packages to run the test suite
	during build.

	* NEWS,
	* apport/hookutils.py: [2036] hookutils.py: Fix path_to_key() to also
	work with unicode arguments.

	* backends/packaging-apt-dpkg.py: [2035] backends/packaging-apt-
	dpkg.py: Improve test case

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2034] backends/packaging-apt-
	dpkg.py: Port to current python-apt API.

	* backends/packaging-apt-dpkg.py: [2033] backends/packaging-apt-
	dpkg.py, _search_contents(): Fix for Python 3

=== 1.25 ===
2011-11-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2032] release 1.25

2011-11-02  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [2031] backends/packaging-apt-
	dpkg.py: Fix unicode <-> binary conversion and fd leaks

2011-11-01  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-retrace,
	* data/apport,
	* data/general-hooks/parse_segv.py,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* problem_report.py,
	* test/crash: [2030] has_key() -> in, for Python 3 friendliness

2011-10-31  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2029] Launchpad automatic translations update.

2011-10-30  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/am.po,
	* po/an.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/br.po,
	* po/bs.po,
	* po/ca.po,
	* po/ca@valencia.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gd.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/hy.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kk.po,
	* po/km.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sc.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/te.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_HK.po,
	* po/zh_TW.po: [2028] Launchpad automatic translations update.

2011-10-30  Martin Pitt <martin.pitt@canonical.com>

	* TODO: [2027] TODO: add

	* TODO: [2026] TODO: add two more

	* NEWS: [2025] NEWS: Fix typo

	* NEWS,
	* apport/hookutils.py: [2024] hookutils.py: Add
	attach_upstart_overrides().

2011-10-29  Martin Pitt <martin.pitt@canonical.com>

	* test/python: [2023] test/python: Run verbosely

	* NEWS,
	* apport/ui.py: [2022] ui.py: Fix test suite to not fail if system has
	some obsolete or non-distro packages.

	* NEWS,
	* apport/hookutils.py: [2021] hookutils.py: Add attach_conffiles().

	* NEWS,
	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py: [2020] packaging.py: Add
	get_modified_conffiles() API, and implement it in packaging-apt-
	dpkg.py.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2019] packaging-apt-dpkg.py: Skip
	online tests when there is no default route.

	* NEWS: [2018] fix NEWS

	* NEWS,
	* backends/packaging-apt-dpkg.py: [2017] packaging-apt-dpkg.py: Ignore
	hardening-wrapper diversions, to make gcc_ice_hook work if hardening-
	wrapper is installed.

	* po/apport.pot: [2016] update POT

	* NEWS,
	* apport_python_hook.py,
	* test/python: [2015] apport_python_hook: Limit successive crashes per
	program and user to 3 per day, just like signal crashes. (LP: #603503)

	* NEWS,
	* apport_python_hook.py,
	* test/python: [2014] apport_python_hook: Respect $APPORT_REPORT_DIR.

	* test/python: [2013] test/python: Drop leftover debugging cleanup
	disabling

	* NEWS,
	* test/python: [2012] test/python: Also make tests work if Python hook
	is not installed in system's sitecustomize.py.

2011-10-29  Martin Pitt <martin.pitt@canonical.com>

	* test/python: Added.

	* NEWS,
	* apport_python_hook.py,
	* test/run: Modified.

	[2011] apport_python_hook.py: Move tests out of this file into
	test/python, to avoid having to parse the unit tests at each Python
	startup.

2011-10-29  Martin Pitt <martin.pitt@canonical.com>

	* TODO: [2010] TODO: drop obsolete item

	* NEWS,
	* bin/apport-cli: [2009] apport-cli: Greatly speed up displaying large
	reports. This also changes the format to avoid indenting each line
	with a space, and visually set apart the keys in a better way.

	* NEWS,
	* bin/apport-cli: [2008] apport-cli: Add "Examine locally..."
	respones, and implement ui_run_terminal().

	* NEWS,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui: [2007] apport-gtk: Add "Examine locally..."
	button, and implement ui_run_terminal().

	* NEWS,
	* apport/ui.py: [2006] Add new response "Examine locally" to
	presenting the report details, which runs apport-retrace in the chosen
	mode in a terminal. This should be made available for crash reports if
	apport-retrace and a Terminal application are installed; add an
	abstrace UI method for this. (LP: #75901)

	* NEWS,
	* kde/apport-kde: [2005] apport-kde: Rearrange order of imports to get
	intended error message if PyKDE is not installed.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [2004] launchpad.py: Remove
	"Ubuntu" in bug response, replace with "this software". (LP: #883234)

2011-10-24  Launchpad Translations on behalf of apport-hackers

	* po/hu.po: [2003] Launchpad automatic translations update.

2011-10-23  Launchpad Translations on behalf of apport-hackers

	* po/bs.po: [2002] Launchpad automatic translations update.

2011-10-21  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [2001] backends/packaging-apt-
	dpkg.py: Fix incorrect exception documentation for _cache(). Thanks
	Bryce Harrington.

=== 1.24 ===
2011-10-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [2000] release 1.24

2011-10-18  Launchpad Translations on behalf of apport-hackers

	* po/gl.po: [1999] Launchpad automatic translations update.

2011-10-17  Launchpad Translations on behalf of apport-hackers

	* po/fi.po: [1998] Launchpad automatic translations update.

2011-10-15  Launchpad Translations on behalf of apport-hackers

	* po/gl.po,
	* po/oc.po: [1997] Launchpad automatic translations update.

2011-10-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1996] ui.py: Improve error message if package is not
	a genuine distro package. Thanks to Ronan Jouchet. (LP: #559345)

	* NEWS,
	* test/crash: [1995] test/crash: Change to /tmp/ for test crash
	process, to fix failure if the user that runs the test suite cannot
	write into the current directory. (LP: #868695)

	* NEWS,
	* test/crash: [1994] test/crash: Fix test failure if user is not in
	any system groups.

2011-10-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1993] hookutils.py, attach_wifi(): Anonymize
	ESSID and AP MAC from "iwconfig" output. (LP: #746900)

	* NEWS,
	* gtk/apport-gtk: [1992] apport-gtk: Fix crash if report does not have
	ProcCmdline. (LP: #854452)

	* NEWS,
	* gtk/apport-gtk: [1991] apport-gtk: In bug update mode, make details
	dialog resizable and fix default size. (LP: #865754)

2011-10-13  Launchpad Translations on behalf of apport-hackers

	* po/en_AU.po: [1990] Launchpad automatic translations update.

2011-10-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [1989] Special-case crashes of 'twistd': Try to
	determine the client program and assign the report to that, or fail
	with an UnreportableReason. (LP: #755025)

	* NEWS,
	* apport/report.py,
	* apport/ui.py: [1988] Ignore crashes for programs which got updated
	in between the crash and reporting. (LP: #132904)

2011-10-11  Launchpad Translations on behalf of apport-hackers

	* po/en_CA.po,
	* po/en_GB.po,
	* po/pt_BR.po: [1987] Launchpad automatic translations update.

2011-10-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/general-hooks/generic.py: [1986] data/general-hooks/generic.py:
	Only attach ~/.xsession_errors if the bug is reported in the same XDG
	session as the crash happened. (LP: #869974)

	* NEWS,
	* apport/hookutils.py: [1985] hookutils.py: Add new function
	in_session_of_problem() which returns whether the given report
	happened in the currently running XDG session. This can be used to
	determine if e. g. ~/.xsession-errors is relevant and should be
	attached.

	* NEWS,
	* apport/ui.py: [1984] ui.py, open_url(): Greatly simply and robustify
	by just using xdg-open. This already does the right thing wrt. reading
	the default browser from GNOME, KDE, XCE, and other desktops. (LP:
	#198449)

	* NEWS,
	* apport/hookutils.py: [1983] hookutils.py: Add two new functions
	attach_gsettings_package() and attach_gsettings_schema() for adding
	user-modified gsettings keys to a report. (LP: #836489)

	* NEWS,
	* apport/hookutils.py: [1982] hookutils.py: Replace attach_gconf()
	with a no-op stub. It used static python modules like "gconf" which
	broke the PyGI GTK user interface, and gconf is rather obsolete these
	days.

	* apport/ui.py: [1981] ui.py: Disable "not a genuine distro package"
	check if APPORT_DISABLE_DISTRO_CHECK is set; keep as an undocumented
	feature

2011-10-08  Launchpad Translations on behalf of apport-hackers

	* po/ace.po,
	* po/af.po,
	* po/an.po,
	* po/br.po,
	* po/ca@valencia.po,
	* po/gd.po,
	* po/hy.po,
	* po/kk.po,
	* po/km.po,
	* po/sc.po,
	* po/te.po,
	* po/zh_HK.po: Added.

	* po/am.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_TW.po: Modified.

	[1980] Launchpad automatic translations update.

2011-10-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/crash: [1979] test/crash: Fix race condition in the "second
	instance terminates immediately" check.

	* NEWS,
	* bin/crash-digger: [1978] crash-digger: Call apport-retrace with
	--timestamps, to get consistent timestamps in log output.

	* NEWS,
	* bin/apport-retrace: [1977] apport-retrace: Add --timestamp option to
	prepend a timestamp to log messages. This is useful for batch
	operations.

2011-10-07  Martin Pitt <martin.pitt@canonical.com>

	* po/apport.pot: Added.

	* .bzrignore: Modified.

	[1976] add po/apport.pot, for LP imports

2011-10-07  Martin Pitt <martin.pitt@canonical.com>

	* po/am.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_TW.po: [1975] merge translations

2011-10-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1974] hookutils, recent_logfile(): Fix invalid
	return value if log file is not readable. (LP: #819357)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1973] backends/packaging-apt-
	dpkg.py: Fix crash when /etc/apport/native-origins.d contains any
	files. (LP: #865199)

	* NEWS,
	* bin/apport-retrace: [1972] apport-retrace: Don't crash, just give a
	proper error message if servers are unreachable, or configuration
	files are broken. (LP: #859248)

	* NEWS,
	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py: [1971] packaging.py, backends
	/packaging-apt-dpkg.py: Define that install_packages() should return a
	SystemError for broken configs/unreachable servers etc., and fix the
	apt/dpkg implementation accordingly.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1970] backends/packaging-apt-
	dpkg.py, install_packages(): Install apt keyrings from config dir or
	from system into sandbox. (LP: #856216)

	* NEWS: [1969] clarify NEWS

2011-10-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1968] backends/packaging-apt-
	dpkg.py: Also copy apt/sources.list.d/ into sandbox.

=== 1.23.1 ===
2011-09-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1967] release 1.23.1

	* NEWS: [1966] fix typo in NEWS

	* NEWS,
	* apport/report.py: [1965] apport/report.py: Unwind XError() from
	stack traces for the "StacktraceTop" field, as they take a significant
	part of the trace. This causes bugs to be duplicated which really have
	different causes.

2011-09-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [1964] apport-retrace: Drop assertion failure
	for existance of "Stacktrace". This isn't present in the case of gdb
	crashing, and there is not much we can do about it. This should not
	break the retracer.

2011-09-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [1963] apport-retraceDo not leave behind
	temporary directories on errors.

	* NEWS,
	* bin/apport-retrace: [1962] apport-retrace: Pass correct executable
	path to gdb in --gdb with --sandbox mode.

	* NEWS,
	* apport/crashdb.py: [1961] apport/crashdb.py: Ensure that duplicate
	table only has one entry per report ID.

=== 1.23 ===
2011-09-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1960] release 1.23

	* NEWS,
	* apport/report.py: [1959] apport/report.py, standard_title(): Escape
	regular expression control characters in custom exception names. (LP:
	#762998)

	* NEWS,
	* apport/ui.py: [1958] apport/ui.py, load_report(): Intercept another
	case of broken report files. (LP: #445142)

	* NEWS,
	* apport/fileutils.py: [1957] fileutils.py, get_new_reports(): Fix
	crash if report file disappears in the middle of the operation. (LP:
	#640216)

	* NEWS,
	* bin/apport-retrace: [1956] apport-retrace: Give proper error mesage
	instead of AssertionError crash if a report does not contain standard
	Apport format data. (LP: #843221)

	* NEWS,
	* bin/apport-retrace: [1955] apport-retrace: If the user did not
	specify a --cache directory, create a shared one instead of letting
	the two install_packages() calls create their own. This ensures that
	the apt and dpkg status is up to date, and avoids downloading the
	package indexes multiple times. (LP: #847951)

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py: [1954] fix documentation of
	packaging.install_packages()

2011-09-13  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* bin/dupdb-admin: [1953] crashdb.py: Remove redundant
	duplicate_db_remove_id()

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* bin/crash-digger,
	* bin/dupdb-admin,
	* man/dupdb-admin.1: [1952] crashdb.py, crash-digger, dupdb-admin:
	Drop the concept of "duplicate DB consolidation". Such massive queries
	cause timeouts with e. g. Launchpad. Instead, update the status of
	potential master bugs in the crash DB whenever check_duplicate() is
	called.

2011-09-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1951] launchpad.py: Fix
	test_marking_python_task_mangle() check to work with current
	Launchpad.

	* NEWS,
	* problem_report.py: [1950] problem_report.py, load(): Fix missing
	last character if the last line in a multi-line field is not
	terminated with a newline.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1949] launchpad.py: Fix crash in
	close_duplicate() if master bug was already marked as a duplicate of
	the examined bug.

=== 1.22.1 ===
2011-09-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1948] release 1.22.1

	* NEWS,
	* gtk/apport-gtk: [1947] apport-gtk: Update markup_escape_text() call
	to current glib. (LP: #829635)

2011-09-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk.ui: [1946] Set the default "Apport" title for choice
	dialogs instead of the default apport-gtk title. Thanks Robert Roth.
	(LP: #608222)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1945] launchpad.py: Fix crash if
	a crash report does not have a DistroRelease.

2011-09-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* bin/dupdb-admin: [1944] dupdb-admin: Add "removeid" command.

	* NEWS,
	* bin/dupdb-admin: [1943] dupdb-admin: Fix UnicodeEncodeError crash.

	* NEWS,
	* bin/dupdb-admin: [1942] dupdb-admin: Use the in-memory CrashDB
	implementation for simple operations like dump or changeid, which do
	not require an actual backend. This makes the command work in
	checkouts without a /etc/apport/crashdb.conf.

=== 1.22 ===
2011-08-25  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1941] release 1.22

	* bin/apport-retrace: [1940] apport-retrace: fix variable name

	* bin/apport-retrace: [1939] bin/apport-retrace: fix syntax

	* po/am.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_TW.po: [1938] merge po files

	* bin/apport-retrace: [1937] bin/apport-retrace: Clean up opt parsing

	* apport/ui.py: [1936] fix whitespace error

	* NEWS,
	* bin/crash-digger: [1935] crash-digger: Show how many bugs are left
	in the pool with each new retrace.

	* bin/apport-retrace: [1934] apport-retrace: Re-check if we really
	have ExecutablePath/InterpreterPath after installing packages

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-retrace,
	* man/apport-retrace.1: [1933] apport-retrace: "-s system" uses the
	system configuration files

	* backends/packaging-apt-dpkg.py: [1932] packaging-apt-dpkg.py:
	Properly handle FetchFailedException

	* NEWS,
	* bin/apport-retrace: [1931] crash-digger: Intercept OverflowError
	from downloaded compressed attachments.

2011-08-24  Martin Pitt <martin.pitt@canonical.com>

	* po/am.po,
	* po/ar.po,
	* po/ast.po,
	* po/be.po,
	* po/bg.po,
	* po/bn.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/cv.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fa.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/gu.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/kab.po,
	* po/kn.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ml.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/ne.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/si.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sr.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/ug.po,
	* po/uk.po,
	* po/vi.po,
	* po/zh_CN.po,
	* po/zh_TW.po: [1930] merge translations, update German translations a
	bit

	* apport/ui.py: [1929] apport/ui.py: Fix typo

2011-08-24  Martin Pitt <martin.pitt@canonical.com>

	* apport/chroot.py: Removed.

	* NEWS,
	* apport/packaging.py,
	* apport/report.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-retrace,
	* bin/crash-digger,
	* doc/data-format.tex,
	* man/apport-retrace.1,
	* test/crash-digger,
	* test/run: Modified.

	[1928] Completely rework apport-retrace to use gdb's "debug-file-
	directory" and "solib-absolute-prefix" settings and only unpack the
	necessary packages in a temporary directory. This makes it possible to
	use it in a running system without actually touching installed
	packages, does not need any root privileges, and stops the requirement
	of using chroots with fakechroot and fakeroot. This is a lot easier to
	maintain and use, and a lot faster, too. As a consequence, drop the
	chroot module, and update crash-digger accordingly. See "man apport-
	retrace" for the new usage. It is now also easier to port to other
	packaging backends, as a lot of the common logic moved out of the
	packaging API; packaging.install_retracing_packages() got dropped in
	favor of the simpler packaging.install_packages().

2011-08-23  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1927] launchpad.py: less verbose
	connection failure errors

	* apport/crashdb_impl/launchpad.py: [1926] launchpad.py: followup fix:
	also cover id_set() call in transient timeout check

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1925] launchpad.py: When
	searchTasks() times out, exit with 99 as this is a transient error.

2011-08-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk: [1924] apport-gtk: Fix crash in
	GLib.markup_escape_text() call, regression from 1.21.3. (LP: #828010)

=== 1.21.3 ===
2011-08-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1923] release 1.21.3

	* NEWS: [1922] fix version number

2011-08-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk: [1921] apport-gtk: Fix GLib and GObject imports to
	be compatible with the future pygobject 3.0.

2011-07-21  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1920] hookutils.py, attach_alsa(): Get a list
	of outputs/inputs that PulseAudio knows about, which also shows the
	currently selected output/input, as well as volumes. This should help
	with "no sound" bug troubleshooting. Thanks Luke Yelavich.

	* NEWS,
	* gtk/apport-gtk: [1919] apport-gtk: Correctly pass message dialog
	type.

	* NEWS,
	* apport/hookutils.py: [1918] hookutils.py: Don't attach empty values.
	Thanks Bryce Harrington. (LP: #813798)

2011-07-18  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py: [1917] apport/hookutils.py: properly detect as
	non-root when auditd is being used, use egrep as we're using an
	extended regex.

2011-07-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/chroot.py,
	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py: [1916] Add
	apport.packaging.get_library_paths() interface and implement it for
	backends/packaging-apt-dpkg.py using dpkg multiarch directories. Use
	it in chroot.py.

2011-07-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1915] hookutils.py: Add attach_mac_events()
	for reporting logs of MAC systems. Looks for AppArmor messages for
	now. Thanks Marc Deslauriers!

2011-07-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-unpack: [1914] apport-unpack: Fix crash on file errors.

2011-07-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk.desktop.in: [1913] gtk/apport-gtk.desktop.in: Also
	show in Unity. (LP: #803519)

=== 1.21.2 ===
2011-07-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1912] release 1.21.2

2011-06-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1911] hookutils.py, attach_wifi(): Also
	include wpasupplicant logs. Thanks Mathieu Trudel-Lapierre!

2011-06-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [1910] report.py: Fix bug patterns to correctly
	match against compressed report fields.

2011-06-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/general-hooks/generic.py: [1909] generic hook: Don't report
	package installation failures due to segfaulting maintainer scripts.
	We want the actual crash report only. Thanks Brian Murray.

2011-06-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1908] backends/packaging-apt-
	dpkg.py: Fix crash introduced in 1.21.1's multiarch fixes.

2011-06-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/run: [1907] test/run: Check $PYTHON for using a different
	Python interpreter (such as "python3") for the tests.

=== 1.21.1 ===
2011-06-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1906] release 1.21.1

	* NEWS,
	* test/run: [1905] test/run: Fix the test suite to run against the
	system installed libraries with current Python versions (2.6, 2.7)
	where __file__ does not work any more with imports.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1904] backends/packaging-apt-
	dpkg.py: Fix for current dpkg with multiarch support.

	* NEWS,
	* apport/ui.py: [1903] When showing the size of the full report, take
	the compressed size of binary values instead of their uncompressed
	size, as the crash db upload will use the compressed values.

	* NEWS,
	* apport/hookutils.py: [1902] hookutils.py, attach_file() and
	attach_file_if_exists(): Add a new "overwrite" flag option. If not
	given, now default to overwriting an existing key, as this is usually
	what you need when attaching files (instead of attaching it several
	times with '_' appended to the keys). You can get the old behaviour by
	setting overwrite=False.

2011-06-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/general-hooks/generic.py: [1901] data/general-hooks/generic.py:
	Also check for low space on /var. Thanks Brian Murray.

2011-06-08  Martin Pitt <martin.pitt@canonical.com>

	* apport_python_hook.py: [1900] Add comment explaining why
	apport_python_hook.py doesn't use apport.packaging.enabled() and
	instead implements it itself

=== 1.21 ===
2011-06-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1899] release 1.21

	* NEWS: [1898] bump version to 1.21, new features

2011-06-08  Martin Pitt <martin.pitt@canonical.com>

	* data/is-enabled: Added.

	* NEWS: Modified.

	[1897] Add data/is-enabled: Shell script to check if apport is
	enabled. Non-Python programs (which can't use
	apport.packaging.enabled() ) can call this instead of having to parse
	/etc/default/apport themselves, and just check the exit code. Inspired
	by original patch from Michael Vogt, thanks!

2011-06-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/apport-checkreports: [1896] apport-checkreports: Exit with
	status 2 if there are new reports, but apport is disabled. This helps
	crash notification GUIs to not display new crash reports in that case.
	Thanks to Michael Vogt for the original patch.

2011-05-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1895] Supply --desktop option to kdesudo to
	improve the description which program is requesting administrative
	privileges.

2011-05-27  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py: [1894] add "recognize interpreter" test case for
	versioned Python interpreter

2011-04-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1893] Use kde-open instead of kfmclient to open URLs
	under KDE. Thanks Philip Mu?kovac. (LP: #765808)

2011-04-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* man/apport-cli.1: [1892] man/apport-cli.1: Document recently added
	-w/--window option. Thanks Abhinav Upadhyay! (LP: #765600)

2011-04-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/dump_acpi_tables.py: [1891] dump_acpi_tables.py: Check to see
	if acpi/tables dir is mounted first. Thanks Brian Murray. (LP:
	#729622)

2011-04-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk: [1890] apport-gtk: HTML-escape text for dialogs with
	URLs. (LP: #750870)

=== 1.20.1 ===
2011-03-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1889] release 1.20.1

2011-03-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1888] ui.py: Properly raise exceptions from the
	upload thread that happen at its very end. (LP: #469943)

	* NEWS,
	* data/unkillable_shutdown: [1887] unkillable_shutdown: Fix crash if
	the checked process terminated underneath us. (LP: #540436)

	* NEWS,
	* data/kernel_crashdump: [1886] kernel_crashdump: Fix crash if the
	vmcore file disappeared underneath us. (LP: #450295)

	* NEWS,
	* data/unkillable_shutdown: [1885] unkillable_shutdown: Fix rare crash
	if ExecutablePath does not exist (any more). (LP: #537904)

	* NEWS,
	* gtk/apport-gtk: [1884] Fix crash if application from desktop name is
	a non-ASCII string. (LP: #737799)

2011-03-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1883] Fix crash if UnreportableReason is a non-ASCII
	string. (LP: #738632)

2011-03-21  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-unpack: [1882] apport-unpack: Fix crash if target
	directory already exists.

	* NEWS,
	* etc/bash_completion.d/apport_completion: [1881] Add bash completion
	support for new -w/--window option that was introduced in 1.20. Thanks
	Philip Mu?kovac.

=== 1.20 ===
2011-03-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1880] release 1.20

	* NEWS,
	* gtk/apport-gtk: [1879] apport-gtk: Don't crash if GTK cannot be
	initialized. This usually happens without a $DISPLAY or when the
	session is being shut down. Just print an error message. If there are
	pending crashes, they will be shown again the next time a session
	starts. (LP: #730569)

	* NEWS,
	* gtk/apport-gtk: [1878] apport-gtk: Fix broken dialog heading if the
	name of the crashed program contains an & or other markup specific
	characters.

	* NEWS: [1877] add LP ref for re-enabling SIGABRT crashes

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* doc/package-hooks.txt: [1876] Add support for a "DuplicateSignature"
	report fields. This allows package hooks to implement custom duplicate
	problem handling which doesn't need to be hardcoded in Apport itself.
	Update the launchpad backend to tag such bugs as "need-duplicate-
	check".

	* NEWS,
	* apport/ui.py: [1875] Disable the filtering on SIGABRT without
	assertion messages. Turns out that developers want these crash reports
	after all.

	* apport/ui.py: [1874] check that crash reports get a Stacktrace even
	for SIGABRT without assertion message

	* apport/ui.py: [1873] ui.py: Fix whitespace

	* NEWS,
	* apport/ui.py: [1872] Add support for -w/--window option which will
	enable user to select a window as a target for filing a problem
	report. Thanks Abhinav Upadhyay for the patch! (LP: #357847)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1871] backends/packaging-apt-
	dpkg.py: Replace deprecated getChanges() call with get_changes().

2011-03-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1870] hookutils.py, attach_hardware(): Avoid
	error message if machine does not have a PCI bus. Thanks Marcin
	Juszkiewicz! (LP: #608449)

2011-03-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1869] hookutils.py Update WifiSyslog regex to
	correctly catch application log messages in syslog. Thanks Mathieu
	Trudel-Lapierre. (LP: #732917)

2011-03-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [1868] fix typo in NEWS

	* NEWS,
	* apport/crashdb.py: [1867] If a custom crash database does not
	specify a bug_pattern_url, fall back to using the default database's.
	(LP: ##731526)

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* test/crash-digger: [1866] Fix crash if crash database configuration
	does not specify a bug_pattern_url. Just assume None. (LP: #731526)

2011-03-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [1865] apport-retrace: Intercept SystemErrors
	from ill-formed gzip attachments as well.

2011-03-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [1864] fix NEWS

2011-03-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [1863] report.py, add_hooks_info(): Properly
	report TypeErrors from hooks.

=== 1.19 ===
2011-02-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1862] release 1.19

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* problem_report.py,
	* test/crash-digger,
	* test/hooks,
	* test/java: [1861] Convert deprecated failIf()/assert_() TestCase
	method calls to assertFalse()/assertTrue().

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* apport/report.py,
	* apport/ui.py,
	* doc/crashdb-conf.txt,
	* etc/apport/crashdb.conf,
	* test/crash-digger: [1860] Change bug patterns to just use one
	central file instead of per-package files. This allows bug patterns to
	be written which are not package specific, and is easier to maintain
	as well. IMPORTANT: This changed the format of crashdb.conf:
	bug_pattern_base is now obsolete, and the new attribute
	bug_pattern_url now points to the full URL/path of the patterns file.
	Thanks to Matt Zimmerman!

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1859] launchpad.py: Fix retracer
	crash if DistroRelease field does not exist.

2011-02-24  Matt Zimmerman <mdz@ubuntu.com>

	* test/hooks: [1858] Convert gcc_ice_hook test to use assertEqual so
	that it's obvious when it's failing because hardening-wrapper is
	installed

	* apport/chroot.py: [1857] Add os.umask(022) to apport/chroot.py
	tests, because the test output assumes it

	* NEWS,
	* apport/hookutils.py: [1856]  - In hookutils.attach_dmesg, skip over
	an initial truncated message if one    is present (this happens when
	the ring buffer overflows)  This also prevents the test suite from
	failing in this case

	* NEWS,
	* apport/ui.py: [1855] Merge ~mdz/apport/504340-kernel-threads

2011-02-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1854] apt backend: Only add -dbg in
	--no-pkg mode, as there will be conflicts in normal package mode.

2011-02-24  Matt Zimmerman <mdz@ubuntu.com>

	* apport/hookutils.py: [1853] In apport.hookutils.package_versions,
	when matching a glob, sort the resulting list of package names so the
	output is easier to scan

	* apport/hookutils.py: [1852] In hookutils.package_versions, return
	the list as a nicely formatted table

2011-02-22  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [1851] one more tar -C fix

	* backends/packaging-apt-dpkg.py: [1850] packaging-apt-dpkg.py: Fix
	-dbg vs. -dbgsym harder

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1849] apt backend: Call tar with
	target cwd instead of using -C; the latter causes an extra openat()
	call which breaks with current fakechroot.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1848] apt backend: Do not generate
	a warning if the opportunistically added -dbg package does not exist.

2011-02-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [1847] Fix crash_signature() to fail if there is
	an empty or too short StacktraceTop.

	* NEWS,
	* apport/report.py: [1846] Update stack unwind patterns for current
	glib (slightly changed function names), and also ignore a preceding
	'*'. (LP: #716251)

=== 1.18 ===
2011-02-16  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1845] release 1.18

	* NEWS: [1844] we have new features, bump version

	* NEWS,
	* etc/default/apport: [1843] etc/default/apport: Remove obsolete
	"maxsize" setting. (LP: #719564)

	* NEWS,
	* apport/hookutils.py: [1842] hookutils.py: Add
	attach_root_command_outputs() to run several commands at once. This
	avoids asking for the password several times. (LP: #716595)

2011-02-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* etc/bash_completion.d/apport_completion: [1841] Update bash
	completion. Thanks Philip Mu?kovac.

2011-02-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1840] Remove explicit handling of KDE *.ui files in
	setup.py, as python-distutils-extra 2.24 fixes this. Bump version
	check.

2011-02-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1839] Do not show symptom scripts which start with an
	underscore. These can be used for private libraries for the actual
	symptom scripts.

	* NEWS,
	* apport/ui.py: [1838] Ensure that symptom scripts define a run()
	function, and don't show them if not.

=== 1.17.2 ===
2011-02-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1837] release 1.17.2

	* NEWS,
	* apport/ui.py: [1836] Add --tag option to add extra tags to reports.
	(LP: #572504)

	* apport/ui.py: [1835] apport/ui.py, parse_argv(): Remove default
	arguments for option creation

	* apport/ui.py: [1834] fix r1831: --save is actually allowed with
	apport-bug

	* apport/ui.py: [1833] apport/ui.py: Reorganize parse_argv() test
	cases

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1832] launchpad.py: Adapt test
	cases to current standard_title() behaviour.

2011-02-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1831] ui.py: Do not show all the options in --help
	when invoked as *-bug. (LP: #665953)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1830] apt/dpkg backend: Drop
	support for pre-0.7.9 python-apt API.

	* problem_report.py: [1829] problem_report.py: More Python 3
	friendliness

	* apport/REThread.py,
	* apport/chroot.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* problem_report.py: [1828] replace obsolete TestCase.assert_() with
	TestCase.assertTrue()

	* apport/__init__.py,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/fileutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-cli,
	* bin/apport-retrace,
	* bin/apport-unpack,
	* bin/crash-digger,
	* bin/dupdb-admin,
	* data/apport,
	* data/gcc_ice_hook,
	* data/general-hooks/parse_segv.py,
	* data/kernel_crashdump,
	* data/package_hook,
	* data/unkillable_shutdown,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* problem_report.py,
	* setup.py,
	* test/hooks,
	* test/java: [1827] Python 3 compatible "print" (not everything yet)

	* apport/fileutils.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* problem_report.py: [1826] Python 3 compatible number literals

	* NEWS,
	* apport/REThread.py,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/crashdb_impl/multipartpost_handler.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* apport/ui.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* data/general-hooks/parse_segv.py,
	* problem_report.py: [1825] Python 3 compatible exception handling

2011-01-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [1824] fix NEWS formatting

	* NEWS,
	* apport/hookutils.py: [1823] hookutils.py: Be more robust against
	file permission errors. (LP: #444678)

2011-01-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1822] hookutils.py, attach_dmesg(): Do not
	overwrite already existing dmesg.

=== 1.17.1 ===
2011-01-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1821] release 1.17.1

2011-01-10  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk: [1820] remove some GTK 2 quirks which are now
	working with current GTK

2011-01-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk: [1819] Make the GTK frontend work with GTK 2.0 as
	well, and drop "3.0" requirement.

2011-01-05  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk: [1818] apport-gtk: Some fixes to work better with
	GTK2. Still breaks on radio button grouping

=== 1.17 ===
2010-12-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1817] release 1.17

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1816] launchpad.py: When updating
	a bug, also add new tags. Thanks Brian Murray!

	* NEWS: [1815] add NEWS entry for Matt's commit

2010-12-29  Matt Zimmerman <mdz@ubuntu.com>

	* apport/hookutils.py: [1814] Make hookutils.package_versions a bit
	more readable

	* apport/hookutils.py: [1813] Always include all requested package
	names in hookutils.package_versions(), even if they're unknown to us
	(LP: #695188)

2010-12-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1812] ui.py, format_filesize(): Fix to work with
	stricter locale.format() in Python 2.7. (LP: #688535). While we are at
	it, also change it to use base-10 units.

2010-12-08  Martin Pitt <martin.pitt@canonical.com>

	* setup.py: [1811] setup.py: Update comment about KDE ui files

2010-12-08  Martin Pitt <martin.pitt@canonical.com>

	* java/TODO: Removed.

	* setup.py: Modified.

	[1810] setup.py: properly clean up Java builds

2010-12-08  Martin Pitt <martin.pitt@canonical.com>

	* data/java_uncaught_exception,
	* java,
	* java/README,
	* java/TODO,
	* java/com,
	* java/com/ubuntu,
	* java/com/ubuntu/apport,
	* java/com/ubuntu/apport/ApportUncaughtExceptionHandler.java,
	* java/crash.java,
	* test/java: Added.

	* NEWS,
	* setup.py,
	* test/run: Modified.

	[1809] Add handler for uncaught Java exceptions. There is no
	integration for automatically intercepting all Java crashes yet, see
	java/README. Thanks Matt Zimmerman! (LP: #548877)

2010-11-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1808] hookutils.py, attach_alsa(): Fix crash
	if /proc/asound/cards does not exist. (LP: #626215)

2010-11-26  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1807] launchpad.py: Default to
	"production" instance, not "edge", since edge is obsolete now.

2010-11-25  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [1806] Better standard bug titles for Python
	crashes. Thanks Matt Zimmerman! (LP: #681574)

2010-11-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk: [1805] GTK frontend: Require GTK 3.0.

=== 1.16 ===
2010-11-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1804] release 1.16

	* NEWS,
	* apport/crashdb_impl/memory.py: [1803] Fix memory test case to work
	with current Python versions, where the SQLite integrity check throws
	a different exception.

	* NEWS,
	* apport/ui.py: [1802] Fix symptoms again. Version 1.15 broke the
	default symptom directory.

	* NEWS,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui: [1801] Port GTK frontend from pygtk2 to GTK+3.0
	and gobject-introspection.

=== 1.15 ===
2010-11-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1800] release 1.15

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1799] apt backend:
	Opportunistically try to install a -dbg package in addition to
	-dbgsym, to increase the chance that at least one of it exists. Thanks
	Daniel J Blueman!

2010-11-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1798] launchpad.py: Fix
	APPORT_LAUNCHPAD_INSTANCE values with a https:// prefix.

2010-10-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* etc/apport/crashdb.conf: [1797] Remove escalation_subscription from
	Ubuntu bug DB definition, turned out to not be useful; thanks Brian
	Murray.

2010-10-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1796] Check $APPORT_SYMPTOMS_DIR environment variable
	for overriding the system default path. Thanks to Javier Collado.

	* NEWS,
	* apport/ui.py: [1795] Order symptom descriptions alphabetically.
	Thanks to Javier Collado.

2010-10-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1794] Fix --save option to recognise ~, thanks Philip
	Mu?kovac. (LP: #657278)

2010-10-09  Kees Cook <kees.cook@canonical.com>

	* NEWS: [1793] add note to NEWS about attach_file() key anti-collision
	routine

	* apport/hookutils.py: [1792] avoid clobbering existing keys when
	adding files

2010-10-08  Kees Cook <kees.cook@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1791] apport/hookutils.py: rename ProcCmdLine
	to ProcKernelCmdLine to not wipe wipe out /proc/$pid/cmdline
	information. (LP: #657091)

2010-09-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* doc/symptoms.txt: [1790] doc/symptoms.txt: Fix typo, thanks Philip
	Muskovac. (LP: #590521)

2010-09-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1789] backends/packaging-apt-
	dpkg.py: Fix crash on empty lines in ProcMaps attachment.

2010-09-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1788] launchpad.py: Use
	launchpadlib to file a bug instead of screen scraping. The latter was
	completely broken with current Launchpad, so this makes the test suite
	actually work again. Thanks to Diogo Matsubara! - launchpad.py: Change
	$APPORT_STAGING to $APPORT_LAUNCHPAD_INSTANCE, so that you can now
	specify "staging", "edge", or "dev" (for a local http://launchpad.dev
	installation). Thanks to Diogo Matsubara!

2010-09-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* kde/apport-kde: [1787] apport-kde: Load correct translation
	catalogue. Thanks Jonathan Riddell. (LP: #633483)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1786] packaging-apt-dpkg.py: Fix
	handling of /etc/apport/native-origins.d to actually work. Thanks
	Steve Langasek. (LP: #627777)

2010-07-13  Martin Pitt <martin.pitt@canonical.com>

	* data/dump_acpi_tables.py: Added.

	* NEWS: Modified.

	[1785] Add dump_acpi_tables.py script. This can be called by package
	hooks which need ACPI table information (in particular, kernel bug
	reports). Thanks to Brad Figg for the script!

2010-07-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1784] ui.py test suite: Rewrite _gen_test_crash() to
	have the test process core dump itself, instead of using gdb to do it.
	The latter fails in ptrace restricted environments, such as Ubuntu
	10.10.

2010-06-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/memory.py: [1783] testsuite: Check that
	crashdb.conf can have dynamic code to determine DB names and options.

=== 1.14.1 ===
2010-06-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1782] release 1.14.1

	* NEWS,
	* etc/bash_completion.d/apport_completion: [1781] bash completion:
	Complete all path names, apport-bug can be invoked with a path to a
	program. Thanks Philip Muskovac.

2010-06-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1780] hookutils.py, attach_drm_info():
	Sanitize connector names. Thanks Chris Halse Rogers! (LP: #597558)

=== 1.14 ===
2010-06-16  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1779] release 1.14

	* NEWS: [1778] format NEWS, bump to 1.14 due to new feature

	* NEWS,
	* apport/hookutils.py: [1777] hookutils.py: Add new method
	attach_drm_info() to read and format /sys/class/drm/*.

	* NEWS,
	* apport/hookutils.py: [1776] hookutils.py, attach_gconf(): Fix
	defaults parsing for boolean keys. (LP: #583109)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1775] launchpad.py: Fix crash on
	attachments which are named *.gz, but uncompressed. (LP: #574360)

2010-06-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1774] packaging-apt-dpkg.py: Fix
	deprecated python-apt variables, thanks David Stansby. (LP: #591695)

2010-06-01  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py: [1773] report.py: Fix another crash on retracing
	kernel crashes

	* bin/apport-retrace: [1772] apport-retrace: Fix crash on kernel
	retraces harder

=== 1.13.4 ===
2010-05-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1771] release 1.13.4

	* NEWS,
	* data/general-hooks/generic.py: [1770] generic hook: Check ProcMaps
	for unpackaged libraries, and ask the user if he really wants to
	continue. If he does, tag the report as "local-libs" and add a
	"LocalLibraries" field to the report with a list of them. (LP:
	#545227)

2010-05-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* man/apport-bug.1: [1769] apport-bug manpage: Clarify when apport-
	collect may be used. Thanks Brian Murray! (LP: #537273)

2010-04-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [1768] apport-retrace: Fix crash for retracing
	kernel vmcores, which do not have an ExecutablePath.

2010-04-26  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1767] ui.py: When displaying strings from system
	exceptions, decode them into an unicode string, to avoid crashing the
	KDE UI. (LP: #567253)

	* NEWS,
	* apport/hookutils.py: [1766] hookutils.py, command_output(): Do not
	set $LC_MESSAGES for the calling process/hook, just for the command to
	be called.

	* NEWS: [1765] NEWS: beautify formatting

	* NEWS,
	* apport/ui.py: [1764] Save/restore environment when calling hooks, in
	case they change the locale, etc. (LP: #564422)

2010-04-22  Kees Cook <kees.cook@canonical.com>

	* NEWS,
	* data/general-hooks/parse_segv.py: [1763] report stack exhaustion
	more clearly, correctly handle register dereferencing calls.

2010-04-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* etc/bash_completion.d/apport_completion: [1762] bash completion: Fix
	error message if /usr/share/apport/symptoms does not exist. Thanks
	Philip Mu?kovac! (LP: #562118)

=== 1.13.3 ===
2010-04-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1761] release 1.13.3

	* NEWS,
	* apport/ui.py: [1760] ui.py: When running as root, only show system
	crash reports, to avoid restarting user programs as root. (LP:
	#445017)

2010-04-06  Kees Cook <kees.cook@canonical.com>

	* NEWS,
	* data/general-hooks/parse_segv.py: [1759] data/general-
	hooks/parse_segv.py: suggest segv-in-kernel possibility.

=== 1.13.2 ===
2010-03-31  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1758] release 1.13.2

	* NEWS,
	* apport/ui.py: [1757] apport/ui.py: Fix the help output if Apport is
	invoked under an alternative name (like apport-collect). (LP: #539427)

	* NEWS,
	* apport/hookutils.py: [1756] hookutils.py: Factor out the DMI
	collection code from attach_hardware() into attach_dmi(), and call
	that in attach_alsa() as well. Thanks to Brad Figg for the patch! (LP:
	#552091)

	* NEWS,
	* data/apport: [1755] data/apport: Fix IOError when apport is called
	with invalid number of arguments, and stderr is not a valid fd. (LP:
	#467363)

	* NEWS,
	* data/kernel_crashdump: [1754] data/kernel_crashdump: Fix crash if
	log file disappeared underneath us. (LP: #510327)

	* NEWS,
	* apport/ui.py: [1753] ui.py: Fix crash when /etc/apport/crashdb.conf
	is damaged; print an appropriate error message instead. (LP: #528327)

	* NEWS,
	* apport/ui.py: [1752] ui.py: Fix crash when package information
	cannot be determined due to broken apt status. (LP: #362743)

	* NEWS,
	* bin/apport-retrace: [1751] apport-retrace: Fix crash when trying to
	rebuild package info for reports without an ExecutablePath. (LP:
	#436157)

	* NEWS: [1750] add missing launchpad ref

	* NEWS,
	* gtk/apport-gtk: [1749] apport-gtk: Turn http:// and https:// links
	into clickable hyperlinks in information and error dialogs. (LP:
	#516323)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1748] launchpad.py: Some LP bugs
	have broken attachments (this is a bug in Launchpad itself). Ignore
	those instead of crashing.

	* NEWS,
	* gtk/apport-gtk-mime.desktop.in,
	* kde/apport-kde-mime.desktop.in: [1747] gtk/apport-gtk-
	mime.desktop.in, kde/apport-kde-mime.desktop.in: Change categories so
	that these do not ever appear in menu editors. (LP: #449215)

2010-03-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1746] launchpad.py: Port to
	launchpadlib 1.0 API, thanks Michael Bienia for the initial patch!
	(LP: #545009)

	* apport/crashdb_impl/launchpad.py: [1745] launchpad.py: fix
	_fill_bug_form_project() for current Launchpad as well

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1744] launchpad.py: Fix crash if
	configuration does not have an "escalated_tag" option.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1743] launchpad.py test suite:
	Add "Referer" HTTP header, now required by launchpad.

2010-03-26  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1742] packaging-apt-dpkg.py,
	_install_debug_kernel(): Do not crash on an outdated kernel, just
	return that it is outdated.

	* apport/crashdb_impl/launchpad.py: [1741] launchpad.py: Fix
	reassignment to right source package, and update bug filing for
	current staging (broken right now, though)

2010-03-23  Martin Pitt <martin.pitt@canonical.com>

	* data/unkillable_shutdown: [1740] unkillable_shutdown: Add executable
	name to title

	* problem_report.py: [1739] problem_report.py: Fix documentation of
	write()

2010-03-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* problem_report.py: [1738]  - problem_report.py, write_mime(): Add
	new optional argument "priority_fields"    for ordering report keys.
	Patch by Brian Murray, thanks!  - launchpad.py: Put some interesting
	fields first in the report, with the new    priority_fields argument.
	Patch by Brian Murray, thanks!

=== 1.13.1 ===
2010-03-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1737] release 1.13.1

2010-03-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-cli,
	* gtk/apport-gtk,
	* kde/apport-kde: [1736] Sort the report by key in the details view.
	(LP: #519416)

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1735] packaging-apt-dpkg.py:
	Silence apt.Cache() spewage to stdout with newer python-apt versions.
	(LP: #531518)

	* NEWS,
	* bin/apport-cli: [1734] apport-cli: Create the details string only if
	user wants to view details, and do not show files larger than 1MB.
	Thanks Scott Moser! (LP: #486122)

	* NEWS,
	* apport/ui.py: [1733] Fix regression from 1.10 which made it
	impossible for a package hook to set a third-party crash database for
	non-native packages. (LP: #517272)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1732] launchpad.py, download():
	Ignore attachments with invalid key names.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1731] launchpad.py: Add yet
	another workaround for LP#336866. (LP: #516381)

2010-03-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1730] UI: Add back -p option to apport-collect
	/apport-update-bug (regression from 1.13). (LP: #538944)

	* NEWS,
	* apport/ui.py: [1729] UI: Add exception string to the "network error"
	dialog, to better tell what the problem is.

2010-03-13  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1728] fix crash in previous
	commit

	* apport/crashdb_impl/launchpad.py: [1727] launchpad.py: Preserve the
	bug title written to the description by apport as OriginalTitle for
	pattern matching. Thanks to Brian Murray! (LP: #511310)

	* data/unkillable_shutdown: [1726] unkillable_shutdown: Add initctl
	list to report. (LP: #537262)

2010-03-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/unkillable_shutdown: [1725] unkillable_shutdown: Add list of
	running processes and blacklisted pids to report. (LP: #537262)

2010-03-11  Kees Cook <kees.cook@canonical.com>

	* NEWS,
	* apport/report.py,
	* data/general-hooks/parse_segv.py,
	* test/run: [1724] Update parse-segv to handle gdb 7.1 output, add
	further tests

2010-03-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [1723] Fix test suite to work with gdb 7.1 as
	well.

=== 1.13 ===
2010-03-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1722] release 1.13

	* NEWS: [1721] bump version for new feature

2010-03-10  Martin Pitt <martin.pitt@canonical.com>

	* data/unkillable_shutdown: Added.

	* NEWS: Modified.

	[1720] add unkillable_shutdown script

2010-03-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1719] Fix option processing when being invoked as
	apport-bug. Thanks to Daniel Hahler for the patch! (LP: #532944)

2010-03-06  Kees Cook <kees.cook@canonical.com>

	* NEWS: [1718] update NEWS to include recent fixes

2010-03-05  Kees Cook <kees.cook@canonical.com>

	* apport/crashdb_impl/launchpad.py,
	* etc/apport/crashdb.conf: [1717] Fix escalation tagging, thanks to
	Brian Murray

2010-03-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1716] Fix --help output for bug updating mode
	(invocation as apport-collect or apport-update-bug)

2010-03-04  Kees Cook <kees.cook@canonical.com>

	* data/general-hooks/parse_segv.py: [1715] Notice when we walk off the
	stack for "call" too (LP: #531672)

2010-03-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport_python_hook.py: [1714] apport_python_hook.py: Directly check
	/etc/default/apport instead of querying packaging.enabled(), to avoid
	importing lots of modules for non-packaged scripts. Thanks Stuart
	Colville! (LP: #528355)

=== 1.12.1 ===
2010-02-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1713] release 1.12.1

2010-02-18  Kees Cook <kees.cook@canonical.com>

	* AUTHORS,
	* apport/report.py: [1712] whitelist proc files that will not contain
	hostname or username. having "me" get replaced with "username" in
	cpuinfo is mind-blowing.

2010-02-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1711] hookutils, package_versions(): Ignore
	"None" packages, for more robust package hooks. (LP: #518295)

2010-02-04  Martin Pitt <martin.pitt@canonical.com>

	* test/crash: [1710] test/crash: update to work on current
	kernels/Ubuntu

	* NEWS,
	* apport_python_hook.py,
	* data/apport,
	* data/apportcheckresume: [1709] Review and clean up usage of chmod().
	This fixes a small race condition in the Python exception hook where a
	local attacker could read the information from another user's crash
	report. (LP: #516029)

	* NEWS,
	* data/general-hooks/generic.py: [1708] general-hooks/generic.py: Fix
	crash on libGL check with empty StacktraceTop.

2010-01-29  Martin Pitt <martin.pitt@canonical.com>

	* TODO: [1707] drop implemented TODO item

	* NEWS,
	* apport/ui.py: [1706] Improve error message if a symptom script did
	not determine a package name. (LP: #503834)

2010-01-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1705] launchpad.py: Do not keep
	escalating bugs, just escalate at the 10th duplicate.

=== 1.12 ===
2010-01-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1704] release 1.12

	* apport/crashdb_impl/launchpad.py: [1703] launchpad.net: Update
	workaround bug LP #

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1702] launchpad.py,
	get_fixed_version(): Do not consider a bug as invalid just because it
	has any invalid distro package task.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1701] launchpad.py: Fix marking
	of 'checked for duplicate' for bugs with upstream tasks.

2010-01-19  Martin Pitt <martin.pitt@canonical.com>

	* etc/bash_completion.d/apport_completion: [1700] improve bash
	completion script, thanks Phillip.

2010-01-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* test/crash: [1699] test/crash: Update expected core dump flags for
	changed rlimit behaviour in Linux 2.6.32

2010-01-14  Martin Pitt <martin.pitt@canonical.com>

	* etc/bash_completion.d,
	* etc/bash_completion.d/apport_completion: Added.

	* NEWS: Modified.

	[1698] Add bash completion script. Thanks to Philip Mu?kovac. (LP:
	#218933)

2010-01-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* data/general-hooks/generic.py: [1697] general-hooks/generic.py:
	Filter out crashes on missing GLX (LP: #327673)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1696] launchpad.py: Do not put
	the Tags: field into the bug description, since they are already
	proper tags. In download(), convert the real tags back to the Tags:
	field. (LP: #505671)

2010-01-12  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1695] launchpad.py: Fix error
	message

2010-01-11  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1694] launchpad.py: Fix test
	suite output

	* NEWS,
	* etc/apport/crashdb.conf: [1693] crashdb.conf: For Ubuntu, escalate
	bugs with >= 10 duplicates to "ubuntu-bugcontrol" and tag them with
	"bugpattern-needed". (LP: #487900)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1692] launchpad.py: Add options
	'escalation_subscription' and 'escalation_tag' for handling bugs with
	more than 10 duplicates.

2009-12-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1691] launchpad.py, download():
	switch to whitelist again to avoid unknown files

	* apport/crashdb_impl/launchpad.py: [1690] launchpad.py, upload():
	Clean up tag/privacy handling

2009-12-28  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1689] launchpad.py: Drop
	APPORT_FILES whitelist for download() and instead just filter out some
	files which are not likely to be used in bug patterns (*.png and *.jpg
	so far). (LP: #444975)

	* apport/crashdb_impl/launchpad.py: [1688] launchpad.py: Fix testsuite
	regression from r1680

=== 1.11 ===
2009-12-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1687] release 1.11

	* NEWS: [1686] reorder NEWS for 1.11 release

	* NEWS,
	* apport/ui.py: [1685] When reporting a bug from a saved .apport file,
	let the user review/confirm the content before sending.

	* NEWS,
	* apport/ui.py,
	* man/apport-bug.1,
	* man/apport-cli.1: [1684] Add "--save" UI option to store the
	collected information into an .apport file instead of sending it right
	away. The file can then later be sent through apport-bug. Update
	manpages accordingly.

	* NEWS,
	* apport/ui.py: [1683] Testsuite: Verify that report details are/are
	not shown. This uncovered that details about package installation
	failures were not shown before sending them, which is fixed now.

	* NEWS,
	* test/hooks: [1682] test/hooks: Do not try to add hook information to
	kernel_crashdump test case, since we do not have an UI here. This test
	case broke when the system had an interactive package hook for the
	kernel.

	* test/hooks: [1681] test-hooks: Use different test package which is
	less prone to versioning renaming than db4.7

	* NEWS,
	* apport/REThread.py,
	* apport/chroot.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* data/general-hooks/parse_segv.py,
	* problem_report.py,
	* test/crash-digger,
	* test/hooks: [1680] Rename all TestCase classes to "_T", which makes
	it much easier to run individual tests from the command line.

	* NEWS,
	* apport/REThread.py,
	* apport/chroot.py,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py,
	* bin/apport-bug,
	* bin/apport-cli,
	* bin/apport-retrace,
	* bin/crash-digger,
	* bin/dupdb-admin,
	* data/apport,
	* data/apportcheckresume,
	* data/general-hooks/generic.py,
	* data/general-hooks/parse_segv.py,
	* data/package-hooks/source_apport.py,
	* data/package_hook,
	* gtk/apport-gtk,
	* kde/apport-kde,
	* problem_report.py,
	* test/crash,
	* test/crash-digger,
	* test/hooks,
	* test/run: [1679] Update all copyright and description headers and
	consistently format them.

=== 1.10.1 ===
2009-12-23  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1678] release 1.10.1

	* apport/ui.py,
	* bin/apport-bug: [1677] apport-bug: Pass $0 through an environment
	variable, sys.argv[0] does not get set even if using "exec -a"

	* bin/apport-bug: [1676] bin/apport-bug: Remove leftover unused
	variable

2009-12-23  Martin Pitt <martin.pitt@canonical.com>

	* po/am.po,
	* po/ast.po,
	* po/bn.po,
	* po/cv.po,
	* po/en_AU.po,
	* po/en_CA.po,
	* po/en_GB.po,
	* po/fa.po,
	* po/gu.po,
	* po/kab.po,
	* po/kn.po,
	* po/ml.po,
	* po/ne.po,
	* po/si.po,
	* po/sr.po,
	* po/ug.po,
	* po/vi.po: Added.

	* NEWS,
	* po/ar.po,
	* po/be.po,
	* po/bg.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/uk.po,
	* po/zh_CN.po,
	* po/zh_TW.po: Modified.

	[1675] Update translations from Launchpad

2009-12-22  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-collect: Added.

	* NEWS: Modified.

	[1674] Install apport-collect symlink

2009-12-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py,
	* bin/apport-bug: [1673] Move all remaining option/argument parsing
	from apport-bug into ui.py. This allows the user to add options to
	apport-bug/apport-collect, and also avoids unwieldy dissection of
	options/arguments in shell.

=== 1.10 ===
2009-12-19  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1672] release 1.10

	* NEWS,
	* use-local: [1671] use-local: Fix for new source tree location of
	"apport" binary.

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1670] packaging-apt-dpkg.py,
	install_retracing_packages(): Do not crash on malformed
	Dependencies.txt lines. (LP: #441709)

	* apport/crashdb_impl/launchpad.py: [1669] launchpad.py, can_update():
	Dramatically speed up subscription check

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1668] launchpad.py: Do not mark
	non-Ubuntu bugs as needs-retrace, since there is no retracer right
	now. (LP: #489794)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1667] launchpad.py, can_update():
	Check if subscribed

	* apport/ui.py,
	* bin/apport-cli,
	* gtk/apport-gtk,
	* kde/apport-kde: [1666] ui_present_report_details(): Change string
	when updating a bug

	* apport/crashdb_impl/launchpad.py: [1665] launchpad.py, update(): Add
	apport-collect for full update

2009-12-18  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-bug,
	* man/apport-bug.1: [1664] apport-bug: If invoked as "apport-collect"
	or "apport-update-bug" (i. e. through a symlink), run apport in update
	mode (-u <number>). This provides a convenient no-options command line
	program. Please note that setup.py does not currently install such a
	symlink. Update the apport-bug manpage accordingly.

	* NEWS,
	* apport/ui.py,
	* man/apport-cli.1: [1663] Add a mode for updating an existing problem
	report to ui.py (-u/--update). This is similar to the Ubuntu specific
	"apport-collect" tool, but implemented the right way now: In
	particular, this has access to the UI and thus can use interactive
	hooks (LP: #385811) and show you what is being sent for
	confirmation/cancelling (LP: #371827)

	* apport/crashdb_impl/launchpad.py: [1662] launchpad.py: Clean up
	exceptions

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py: [1661] simplify update_traces()
	implementation by using update() with key filter

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py: [1660] add key filtering to to
	CrashDatabase.update()

	* NEWS,
	* data/apport: [1659] Ignore SIGXCPU and SIGXFSZ; thanks to Kees Cook.
	(LP: #498074)

2009-12-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py: [1658]  Add CrashDatabase.update()
	for adding all new fields of a report   This is primarily useful for
	collecting local standard and package hook data for an already
	existing bug report which was not filed through Apport.

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* bin/apport-retrace: [1657] Rename CrashDatabase.update() to
	update_traces()

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py: [1656] New CrashDatabase API:
	is_reporter()

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py: [1655] New CrashDatabase API:
	can_update()

	* NEWS,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py: [1654] New CrashDatabase API:
	get_affected_packages()

2009-12-10  Matt Zimmerman <mdz@ubuntu.com>

	* NEWS,
	* apport/hookutils.py,
	* data/general-hooks/generic.py: [1653]  - New hookutils functions:
	xsession_errors (match lines from ~/.xsession-errors)
	shared_libraries (determine which libraries a binary links with)
	links_with_shared_library (test if a binary links with a particular
	library)

2009-12-07  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1652] launchpad.py: Use new
	login_with() to clean up code, and specify allowed access levels
	(WRITE_PRIVATE is the only sensible one anyway). (LP: #410205)

=== 1.9.6 ===
2009-12-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1651] release 1.9.6

2009-11-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* man/apport-retrace.1: [1650] man/apport-retrace.1: Document -R
	option.

	* NEWS,
	* data/general-hooks/generic.py: [1649] general-hooks/generic.py:
	Check if using ecryptfs, and which directory. (LP: #444656)

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* problem_report.py: [1648] launchpad.py: Ensure that text attachments
	on initial bug filing are valid UTF-8. (LP: #453203)

2009-11-24  Martin Pitt <martin.pitt@canonical.com>

	* pm-utils,
	* pm-utils/sleep.d,
	* pm-utils/sleep.d/000record-status: Added.

	* NEWS,
	* setup.py: Modified.

	[1647] Add pm-utils hook to record current operation, so that
	apportcheckresume can check it.

=== 1.9.5 ===
2009-11-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1646] release 1.9.5

	* do-release: [1645] do-release: remove tarball signing, in lp-
	project-upload now

2009-11-17  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* po/de.po: [1644] Update German translations and fix "konnre" typo.
	(LP: #484119)

2009-11-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk: [1643] apport-gtk: Connect signals properly, to
	repair cancel/window close buttons. (LP: #427814)

2009-11-13  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1642] Fix crash if InterpreterPath does not exist any
	more at the time of reporting. (LP: #428289)

2009-11-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1641] hookutils.py, attach_alsa(): Attach
	/proc/cpuinfo too, for CPU flags.

2009-11-09  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-retrace: [1640] apport-retrace: Fix crash if
	InterpreterPath/ExecutablePath do not exist.

=== 1.9.4 ===
2009-11-06  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1639] release 1.9.4

	* apport/ui.py: [1638] ui.py: Fix test case for arbitrary symptom
	ordering

	* apport/report.py: [1637] report.py: Update test for r1629

	* NEWS,
	* data/general-hooks/generic.py: [1636] general-hooks/generic.py: Only
	collect ~/.xsession-errors bits when we have an ExecutablePath linked
	to libgtk

2009-11-04  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1635] hookutils.py, attach_alsa(): Attach
	/proc/asound/version. (LP: #467233)

2009-10-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* kde/apport-kde: [1634] apport-kde: Properly terminate program after
	closing the last dialog. (LP: #458662)

2009-10-27  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* gtk/apport-gtk.ui: [1633] apport-gtk: Give details window a
	minimize/maximize button, which were missing in some window managers.
	(LP: #447749)

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1632] launchpad.py: If unset, set
	bug task source package also for interpreter crashes.

2009-10-26  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1631] hookutils.py, attach_wifi(): Anonymize
	encryption key. (LP: #446299)

	* NEWS,
	* apport/hookutils.py: [1630] hookutils.py, attach_hardware():
	Anonymize disk labels. (LP: #394411)

2009-10-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/report.py: [1629] Fix crash when ExecutablePath isn't part of
	a package. (LP: #424965)

	* apport/crashdb_impl/launchpad.py: [1628] launchpad.py: LP#342355 got
	fixed, remove workaround

2009-10-16  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-retrace: [1627] apport-retrace: Improve error message for
	missing report required fields.

=== 1.9.3 ===
2009-10-14  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1626] release 1.9.3

	* NEWS: [1625] update NEWS

2009-10-14  Kees Cook <kees.cook@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1624] hookutils.py: fix error codes from
	"comm", thanks to Brian Murray.

2009-10-13  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk.ui: [1623] apport-gtk: Make Cancel/Send buttons
	focusable. Thanks to Marco Rodrigues! (LP: #447780)

2009-10-12  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py,
	* apport/ui.py: [1622] drop APPORT_REPORT_THIRDPARTY/thirdparty hack

	* apport/crashdb_impl/launchpad.py,
	* doc/crashdb-conf.txt: [1621] improve documentation of crash database
	options

	* apport/crashdb_impl/launchpad.py: [1620] launchpad.py: Assert that
	we have exactly one of "distro" or "project" option

2009-10-08  Martin Pitt <martin.pitt@canonical.com>

	* data/general-hooks/generic.py: [1619] general-hooks/generic.py:
	Catch xkbcomp error messages, too. (LP: #431807)

2009-10-05  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-bug: [1618] apport-bug: Consider -h as "output help",
	too. (Marco Rodrigues)

=== 1.9.2 ===
2009-10-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1617] release 1.9.2

2009-09-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1616] launchpad.py: Fix crash on
	invalid credentials file. Thanks to Marco Rodrigues for the initial
	patch! (LP: #414055)

	* NEWS,
	* apport/ui.py: [1615] Fix "apport-bug symptomname" to actually work.

	* NEWS,
	* bin/apport-cli: [1614] apport-cli: Fix crash with non-ASCII
	characters in prompts.

	* NEWS,
	* apport/crashdb_impl/launchpad.py: [1613] launchpad.py: Link hardware
	data submission key if it exists. (LP: #424382)

	* NEWS,
	* data/general-hooks/generic.py: [1612] general-hooks/generic.py:
	Collect important glib errors/assertions from ~/.xsession-errors. (LP:
	#431807)

2009-09-28  Martin Pitt <martin.pitt@canonical.com>

	* man/apport-bug.1: [1611] man/apport-bug.1: Document
	APPORT_IGNORE_OBSOLETE_PACKAGES

2009-09-24  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* bin/apport-cli: [1610] apport-cli: Print the URL and ask whether to
	open a browser. (LP: #286415)

	* apport/crashdb_impl/launchpad.py: [1609] launchpad.py: Consistently
	respect $APPORT_STAGING. (LP: #435112)

2009-09-23  Martin Pitt <martin.pitt@canonical.com>

	* kde/bugreport.ui: [1608] kde/bugreport.ui: Select "complete report"
	option by default, to actually be able to file bugs if the options are
	not shown. Thanks to Yuriy Kozlov! (LP: #405378)

=== 1.9.1 ===
2009-09-22  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1607] release 1.9.1

	* NEWS: [1606] NEWS update

	* apport/hookutils.py: [1605] hookutils.py, attach_gconf(): Fix crash
	with nonexisting <applyto> tags.

	* NEWS: [1604] update NEWS

	* apport/hookutils.py: [1603] hookutils.py, attach_gconf(): Do not
	overwrite previous values from other packages, thanks Lo?c Minier!

2009-09-17  Kees Cook <kees.cook@canonical.com>

	* data/general-hooks/parse_segv.py: [1602] data/general-
	hooks/parse_segv.py: allow "*" to start a register argument

	* NEWS,
	* data/general-hooks/parse_segv.py: [1601] data/general-
	hooks/parse_segv.py: Handle in/out ioport faults.

2009-09-16  Kees Cook <kees@outflux.net>

	* NEWS,
	* data/general-hooks/parse_segv.py: [1600] data/general-
	hooks/parse_segv.py: Handle empty base, scale, or index registers in
	disassembly.

2009-09-15  Martin Pitt <martin.pitt@canonical.com>

	* setup.py: [1599] setup.py: Fix DistUtilsExtra version check. (LP:
	#428337)

2009-09-14  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [1598] backends/packaging-apt-
	dpkg.py: More robust of missing ExecutablePath due to outdated
	packages

	* bin/apport-retrace,
	* bin/dupdb-admin,
	* man/apport-retrace.1: [1597] Remove word "online" from help error
	messages. Thanks to Marco Rodrigues!

2009-09-13  Kees Cook <kees@outflux.net>

	* data/general-hooks/parse_segv.py: [1596] add test for 64bit modulo
	branch too

2009-09-12  Kees Cook <kees@outflux.net>

	* NEWS,
	* data/general-hooks/parse_segv.py: [1595] parse_segv.py: handle
	arithmetic wrapping correctly, process -h argument

2009-09-10  Kees Cook <kees@outflux.net>

	* apport/report.py: [1594] apport/report.py: test that gdb output on
	stderr is recorded

	* apport/report.py: [1593] apport/report.py: add test for internal
	glibc errors

	* NEWS: [1592] update NEWS (I had been looking for "Changes"...)

	* apport/report.py: [1591] apport/report.py:  - do not throw away
	leading text, this is redundant with the pop(0).  - keep stderr, gdb
	reports in-line text for command output (for example,    "Cannot read
	memory address 0x.....") and without this, the -99    separator does
	not make it to its own line, messing up output ordering.

2009-09-09  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [1590] apport/ui.py: Show a better message when failed
	connection to crash database. Thanks to Marco Rodrigues! (LP: #178507)

	* NEWS,
	* apport/hookutils.py: [1589] hookutils.py, attach_hardware(): Do not
	attach empty Pccardctl*.

=== 1.9 ===
2009-09-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/ui.py: [1588] release 1.9

	* backends/packaging-apt-dpkg.py: [1587] backends/packaging-apt-
	dpkg.py: Robustify get_{source,architecture} for uninstalled packages

	* test/hooks: [1586] test/hooks: update basedir for local tests,
	scripts moved from bin/ to data/

	* po/ar.po,
	* po/be.po,
	* po/bg.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/uk.po,
	* po/zh_CN.po,
	* po/zh_TW.po: [1585] merge PO files, update German translations

	* NEWS,
	* apport/__init__.py,
	* apport/ui.py,
	* bin/apport-cli,
	* bin/apport-retrace,
	* bin/apport-unpack,
	* data/apportcheckresume,
	* data/kernel_oops,
	* gtk/apport-gtk,
	* kde/apport-kde: [1584] Update usage of gettext to work around Python
	bug of gettext() not returning unicodes, but str. Fixes
	UnicodeDecodeErrors on translated --help output.

	* apport/ui.py,
	* bin/apport-cli,
	* bin/apport-retrace,
	* bin/apport-unpack: [1583] Add missing gettext wrapping for user-
	visible strings in apport-{retrace,unpack} and ui.py; thanks to Marco
	Rodrigues!

2009-09-08  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-bug,
	* man/apport-bug.1: Added.

	* NEWS: Modified.

	[1582] Add program "apport-bug" to auto-select a GUI and file a bug
	through it. Based on the "ubuntu-bug" script.

2009-09-08  Martin Pitt <martin.pitt@canonical.com>

	* setup.py: [1581] setup.py: Update home page URL to Launchpad

2009-09-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: Modified.

	* bin/apport: Renamed to data/apport.
	* bin/apport-checkreports: Renamed to data/apport-checkreports.
	* bin/apportcheckresume: Renamed to data/apportcheckresume.
	* bin/gcc_ice_hook: Renamed to data/gcc_ice_hook.
	* bin/kernel_crashdump: Renamed to data/kernel_crashdump.
	* bin/kernel_oops: Renamed to data/kernel_oops.
	* bin/package_hook: Renamed to data/package_hook.

	[1580] setup.py: Install internal helper scripts to
	$prefix/share/apport instead of $prefix/bin

2009-09-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1579] move apport-{gtk,kde} to /usr/share/apport/, they
	are not supposed to be called directly

2009-09-08  Martin Pitt <martin.pitt@canonical.com>

	* cli: Removed.

	* setup.py: Modified.

	* cli/apport-cli: Renamed to bin/apport-cli.

	[1578] move apport-cli to bin/

2009-09-08  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: [1577] update NEWS for recent changes

	* man/apport-cli.1: [1576] man/apport-cli.1: Update to current state
	of the art

	* apport/ui.py: [1575] apport/ui.py: Add "do what I mean" mode to
	parse_argv().   When giving a single argument and no options,
	determine the most likely mode. This puts the magic of the Ubuntu
	package's "ubuntu-bug" script into the proper place, and also adds
	test cases for it.

2009-09-06  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [1574] ui.py: Propagate exceptions from the upload
	thread, to catch NeedsCredentials and other exceptions. Thanks to Caio
	Rom?o!

	* apport/ui.py,
	* do-release,
	* setup.py: [1573] ui.py: Add --version option. Thanks Marco
	Rodrigues! (LP: #383694)

=== 1.8.2 ===
2009-09-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1572] release 1.8.2

	* NEWS: [1571] update NEWS for release

	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py: [1570] crashdb.py: Fix handling of
	non-ASCII crash signatures

	* backends/packaging-apt-dpkg.py: [1569] packaging-apt-dpkg.py: Run
	ExecutablePath/InterpreterPath check later, so that it does not always
	have to be done

2009-09-04  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py: [1568] crashdb.py: Never mark a bug
	as a duplicate of itself.

	* apport/crashdb_impl/launchpad.py: [1567] launchpad.py: Add
	explanation to close_duplicate() assertion

	* apport/crashdb_impl/launchpad.py: [1566] launchpad.py,
	close_duplicate(): Add duplicate assertion

	* doc/crashdb-conf.txt,
	* etc/apport/crashdb.conf: [1565] Update Ubuntu bug pattern URL

	* apport/crashdb_impl/launchpad.py: [1564] launchpad.py: Add
	"cache_dir" option and $APPORT_LAUNCHPAD_CACHE environment variable to
	specify a non-temporary cache directory. (LP: #416804)

	* backends/packaging-apt-dpkg.py: [1563] packaging-apt-dpkg.py,
	get_architecture(): Only use installed architecture if package is
	actually installed

	* apport/crashdb_impl/launchpad.py: [1562] launchpad.py: Drop explicit
	temporary cache dir, launchpadlib does that automatically now. Thanks
	to Marco Rodriguez!

=== 1.8.1 ===
2009-09-03  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1561] release 1.8.1

	* apport/ui.py: [1560] apport/ui.py: Remove debugging leftover

	* apport/fileutils.py: [1559] fileutils.py, likely_packaged():
	Partially revert r1554, only ignore /var/lib; we need /var/crash for
	the test suite

	* NEWS: [1558] update NEWS for 1.8.1

	* data/general-hooks/generic.py: [1557] data/general-hooks/generic.py:
	Check $HOME, not /home for enough space. (LP: #422658)

	* apport/crashdb_impl/launchpad.py: [1556] launchpad.py: Intercept
	httplib2.ServerNotFoundError as well, to avoid crashes when being
	offline. (LP: #396276)

	* cli/apport-cli: [1555] apport-cli: Save reports with .apport
	extension instead of .txt. Thanks to Steve Beattie! (LP: #401983)

	* apport/fileutils.py: [1554] fileutils.py, likely_packaged(): Ignored
	crashes in /var, packages don't ship executables there, and it creates
	false positives. (LP: #414368)

	* backends/packaging-apt-dpkg.py: [1553] packaging-apt-dpkg.py,
	get_modified_files(): Fix crash with empty lines. (LP: #408280)

	* backends/packaging-apt-dpkg.py: [1552] packaging-apt-dpkg.py: Use
	installed version instead of candidate version where appropriate. This
	also fixes a crash where an obsolete package is not available any
	more. (LP: #423511)

	* apport/hookutils.py: [1551] hookutils.py, attach_gconf(): Fix crash
	with keys which do not have a schema default. (LP: #422277)

	* apport/crashdb_impl/launchpad.py: [1550] launchpad.py: Remove LP
	#353805 workaround, seems fixed now

	* apport/crashdb_impl/launchpad.py: [1549] launchpad.py: Talk to
	staging if $APPORT_STAGING is set

	* apport/crashdb_impl/launchpad.py: [1548] launchpad.py: Explicitly
	supply content_type for addAttachment, current wadllib requires it
	now.

2009-09-02  Martin Pitt <martin.pitt@canonical.com>

	* apport_python_hook.py: [1547] apport_python_hook.py: Paper over
	inexplicable import error. (LP: #348250)

	* apport_python_hook.py: [1546] apport_python_hook.py: Protect against
	nonexisting sys.argv. (LP: #418051)

	* apport/ui.py: [1545] apport/ui.py, load_report(): Check that report
	has ProblemType field. (LP: #198543)

	* apport/ui.py: [1544] ui.py: Fix handling of complete vs. reduced
	report size. (LP: #92653). This also fixes a race condition crash with
	os.path.getsize(). (LP: #348137)

	* po/fi.po: [1543] fi.po: Fix mistranslation of &Cancel. (LP: #355303)

	* gtk/apport-gtk,
	* kde/apport-kde: [1542] apport-{gtk,kde}: Check for having $DISPLAY
	at startup to avoid crashes. (LP: #411276)

	* apport/report.py: [1541] report.py, add_gdb_info(): Fix race
	condition in unlink_core, thanks to Tommi Komulainen! (LP: #397945)

	* apport/ui.py: [1540] ui.py, load_report(): Robustify check whether
	program is still installed. (LP: #329184)

2009-08-31  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py,
	* bin/apport-retrace: [1539] packaging-apt-dpkg.py,
	install_retracing_packages(): Install package for
	ExecutablePath/InterpreterPath if missing; this can happen with
	package hooks which reassing package

2009-08-28  Kees Cook <kees@outflux.net>

	* apport/report.py: [1538] flip glibc variable to upstream
	__abort_msg, filter hex addresses from assertion dup checker

2009-08-27  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1537] launchpad.py: Add a comment
	when marking a bug as a duplicate.

=== 1.8 ===
2009-08-26  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1536] release 1.8

	* NEWS: [1535] update NEWS

	* apport/ui.py: [1534] ui.py: Drop test_run_crash_assert(), current
	implementation cannot work

	* apport/report.py: [1533] report.py, crash_signature(): Handle
	assertion failures

	* apport/report.py: [1532] report.py, standard_title(): Handle
	assertion failures

	* NEWS,
	* apport/report.py,
	* apport/ui.py,
	* bin/apport: [1531] Do not generally ignore SIGABRT any more. Try to
	extract the assertion message from the core dump, and add it as
	"AssertionMessage" field. Mark reports as unreportable if they do not
	have an assertion message and crashed with SIGABRT. This requires your
	glibc to have this patch:
	http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=48dcd0ba  This
	implements an Ubuntu blueprint:
	https://blueprints.launchpad.net/ubuntu/+spec/security-karmic-apport-
	abort

	* test/crash: [1530] test/crash: remove some dead code

	* test/crash: [1529] test/crash: robustify waiting for test process to
	execv()

2009-08-25  James Westby <james.westby@canonical.com>

	* apport/fileutils.py: [1528] Allow uid to be a string.

	* bin/kernel_oops: [1527] kerneloops will now pass a checksum as the
	first argument.  Use that as part of the path if given so that
	duplicate reports aren't presented to the user.

2009-08-24  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py: [1526] hookutils.py, attach_wifi(): Include
	modem-manager syslog messages in WifiSyslog

	* apport/hookutils.py: [1525] hookutils.py, attach_hardware(): Add
	command_available method, and use it to add prtconf and pccardctl
	output if those commands are available.

2009-08-21  Kees Cook <kees@outflux.net>

	* apport/crashdb_impl/launchpad.py: [1524] mark kernel crash reports
	as private, thanks to Matt Zimmerman (LP: #417059)

2009-08-08  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py: [1523] hookutils.py: Add attach_wifi()

	* kde/apport-kde: [1522] apport-kde: PEP-8 compatible docstrings

	* kde/apport-kde: [1521] apport-kde: Fix quotes

2009-08-08  Martin Pitt <martin.pitt@canonical.com>

	* kde/userpass.ui: Added.

	* kde/apport-kde: Modified.

	[1520] merge Caio's KDE implementation of ui_question_userpass()

2009-08-06  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py: [1519] report.py, add_hooks_info(): Add optional
	package/srcpackage argument

=== 1.7 ===
2009-08-05  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1518] release 1.7

2009-08-05  Martin Pitt <martin.pitt@canonical.com>

	* doc/symptoms.txt: Added.

	[1517] add symptom documentation

2009-08-05  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1516] launchpad.py: Fix project
	bug filing in test suite to work with current launchpad

	* apport/crashdb_impl/launchpad.py: [1515] launchpad.py: Fix bug
	filing in test suite to work with current launchpad

	* NEWS,
	* apport/ui.py: [1514] add support for symptoms

2009-08-04  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk: [1513] apport-gtk: Fix ordering of choices

2009-07-22  Martin Pitt <martin.pitt@canonical.com>

	* apport/REThread.py,
	* apport/chroot.py,
	* apport/crashdb.py,
	* apport/fileutils.py,
	* apport/hookutils.py,
	* apport/report.py,
	* apport/ui.py,
	* problem_report.py: [1512] PEP-8 compatible docstrings

	* backends/packaging-apt-dpkg.py: [1511] backends/packaging-apt-
	dpkg.py: robustify against glibc vs. eglibc

	* apport/crashdb.py,
	* apport/ui.py: [1510] merge Caio's credentials API branch

	* bin/package_hook: [1509] bin/package_hook: Fix crash for
	subdirectories in log dir. (LP: #332350)

	* test/hooks: [1508] test/hooks: Check package_hook behavior for
	subdirectories in log dir. Reproduces LP #332350

2009-07-19  Martin Pitt <martin.pitt@canonical.com>

	* doc/package-hooks.txt: [1507] doc/package-hooks.txt: Document
	allowed chars in report keys

2009-07-16  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [1506] ui.py: Show precise error message for damaged
	reports

=== 1.6 ===
2009-07-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1505] release 1.6

	* apport/ui.py: [1504] apport/ui.py, run_crash(): Do not re-collect
	information if we already have a Dependencies field. This happens when
	calling apport on an already pre-processed .crash file with -c. (LP:
	#394497)

	* apport/hookutils.py: [1503] apport/hookutils.py, pci_devices():
	Deliver all matching devices, not just the last one. (LP: #398906)

	* test/hooks: [1502] test/hooks: Fix up for kernel hook now calling
	add_os_info()

	* NEWS: [1501] update NEWS

	* NEWS,
	* apport/report.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-retrace,
	* bin/kernel_crashdump: [1500] add support for kernel crashes  -
	apport/report.py: Add add_kernel_crash_info() to reprocess a
	"KernelCrash" problem type with the "crash" program. -
	apport/report.py: Add crash signature calculation for kernel crashes.
	- backends/packaging-apt-dpkg.py: Add _install_debug_kernel() to
	special-case fetching kernel ddebs, and call it in
	install_retracing_packages(). - bin/apport-retrace: Call
	add_kernel_crash_info() and update sanity   checks for kernel crashes.
	- bin/kernel_crashdump: Call add_os_info() right in the hook.  Thanks
	to Michael Vogt!

	* apport/hookutils.py: [1499] hookutils.py, _get_module_license():
	Return "invalid" if modinfo fails, so that they do not count as
	"free". (LP: #341720)

	* apport/report.py: [1498] report.py: Update thread stack trace checks
	to also work with recent gdb

2009-07-12  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [1497] packaging-apt-dpkg.py:
	Support additional custom native origins in /etc/apport/native-
	origins.d/ . (LP: #386052)

	* backends/packaging-apt-dpkg.py: [1496] packaging-apt-dpkg.py: Drop
	PPA origin hack, launchpad behaves properly now

	* gtk/apport-gtk: [1495] apport-gtk: Avoid focus stealing when being
	called without arguments (i. e. auto-launched). LP: #396243)

2009-07-10  Martin Pitt <martin.pitt@canonical.com>

	* kde/apport-kde: [1494] apport-kde: Use standard gettext again

2009-07-07  Kees Cook <kees@outflux.net>

	* AUTHORS: [1493] add myself to authors file

	* data/general-hooks/parse_segv.py: [1492] fixes handling of PC
	lacking disassembly due to invalid memory location.

2009-06-30  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [1491] packaging-apt-dpkg.py: Fix
	install_retracing_packages() for pre-0.7.9 python-apt API

2009-06-29  Matt Zimmerman <mdz@canonical.com>

	* apport/report.py: [1490] Sort the list of dependencies so it's
	easier to scan (LP: #391021)

=== 1.5 ===
2009-06-29  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1489] release 1.5

	* apport/crashdb_impl/launchpad.py: [1488] launchpad.py: Add another
	workaround for the "412 Precondition failed" bug (LP#336866)

	* apport/crashdb_impl/launchpad.py: [1487] launchpad.py,
	get_fixed_version(): Fix crash on obsolete source packages

2009-06-27  Martin Pitt <martin.pitt@canonical.com>

	* .bzrignore: [1486] add some built files to .bzrignore

	* NEWS,
	* setup.py,
	* test/run: [1485] auto-detect packaging backend

	* test/hooks: [1484] test/hooks: Update key name for moved test script

2009-06-27  Martin Pitt <martin.pitt@canonical.com>

	* test: Added.

	* NEWS,
	* setup.py: Modified.

	* run-tests: Renamed to test/run and modified.
	* test-apport: Renamed to test/crash.
	* test-crash-digger: Renamed to test/crash-digger.
	* test-hooks: Renamed to test/hooks.

	[1483] Move all test scripts into test/, to unclutter source tree

2009-06-27  Martin Pitt <martin.pitt@canonical.com>

	* data,
	* data/icons,
	* data/icons/scalable,
	* data/icons/scalable/apps,
	* data/icons/scalable/mimetypes,
	* data/icons/scalable/mimetypes/text-x-apport.svg: Added.

	* doc/Makefile,
	* gtk/Makefile,
	* kde/Makefile,
	* po/Makefile,
	* po/Makevars,
	* po/POTFILES.in: Removed.

	* NEWS,
	* setup.py: Modified.

	* apport/apport.svg: Renamed to data/icons/scalable/apps/apport.svg.
	* general-hooks: Renamed to data/general-hooks.
	* package-hooks: Renamed to data/package-hooks.

	[1482] throw away complicated and incomplete build system, use
	DistUtilsExtra.auto

2009-06-27  Martin Pitt <martin.pitt@canonical.com>

	* kde/apport-kde,
	* po/Makefile: [1481] apport-kde: Use standard _() instead of i18n()

=== 1.4 ===
2009-06-26  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1480] release 1.4

	* test-hooks: [1479] test-hooks: update for r1477

	* NEWS: [1478] update NEWS

	* bin/kernel_crashdump: [1477] bin/kernel_crashdump: Use packaging API
	properly

2009-06-23  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [1476] ui.py: Do not reject non-distro package reports
	if report sets CrashDB (for third-party destination). (LP: #391015)

2009-06-19  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk.ui: [1475] gtk/apport-gtk.ui: Drop invalid icon
	reference. (LP: #389064)

2009-06-16  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [1474] apport/ui.py, run_report_bug(): Clean up PID
	information collection

2009-06-14  Martin Pitt <martin.pitt@canonical.com>

	* po/ar.po,
	* po/be.po,
	* po/bg.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/uk.po,
	* po/zh_CN.po,
	* po/zh_TW.po: [1473] merge translations, update German translations

	* gtk/apport-gtk.ui: [1472] apport-gtk.ui: Drop erroneous translatable
	flag from stock buttons

	* po/Makefile: [1471] po/Makefile: add --keyword for kde string
	markers

2009-06-14  Martin Pitt <martin.pitt@canonical.com>

	* kde,
	* kde/Makefile,
	* kde/apport-kde,
	* kde/apport-kde-mime.desktop.in,
	* kde/apport-kde-mimelnk.desktop.in,
	* kde/apport-kde.desktop.in,
	* kde/bugreport.ui,
	* kde/choices.ui,
	* kde/error.ui,
	* kde/progress.ui: Added.

	* qt4,
	* qt4/Makefile,
	* qt4/apport-qt,
	* qt4/apport-qt-mime.desktop.in,
	* qt4/apport-qt-mimelnk.desktop.in,
	* qt4/apport-qt.desktop.in,
	* qt4/bugreport.ui,
	* qt4/choices.ui,
	* qt4/error.ui,
	* qt4/progress.ui: Removed.

	* AUTHORS,
	* NEWS,
	* man/apport-cli.1,
	* po/Makefile,
	* po/POTFILES.in,
	* setup.py: Modified.

	[1470] Merge Richard's KDE frontend, replacing Qt4 one

2009-06-12  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk.ui: [1469] apport-gtk.ui: Make details window
	resizable, and lower default size, so that it will fit on small
	screens. (LP: #365517)

	* apport/hookutils.py: [1468] hookutils.py, command_output(): Force
	LC_MESSAGES=C, to avoid translated output in bug reports. (LP:
	#383230)

2009-06-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* backends/packaging-apt-dpkg.py: [1467] packaging-apt-dpkg.py: Add
	backwards compatibility code for python-apt < 0.7.9 to not break
	backportability

=== 1.3 ===
2009-06-10  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1466] release 1.3

	* NEWS: [1465] NEWS formatting

2009-06-10  Martin Pitt <martin.pitt@canonical.com>

	* qt4/choices.ui: Added.

	* NEWS,
	* apport/report.py,
	* apport/ui.py,
	* cli/apport-cli,
	* doc/package-hooks.txt,
	* gtk/apport-gtk,
	* gtk/apport-gtk.ui,
	* qt4/apport-qt,
	* test-hooks: Modified.

	[1464] merge interactive hooks branch

2009-06-10  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1463] launchpad.py: delete core
	dump from invalid bug reports

2009-06-09  Martin Pitt <martin.pitt@canonical.com>

	* .bzrignore: Added.

	[1462] add .bzrignore

2009-06-04  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1461] launchpad.py, download():
	Download VarLogDistupgrade log. (LP: #383655)

	* apport/crashdb_impl/launchpad.py: [1460] launchpad.py: Fix crash if
	auth credentials are in current directory

	* general-hooks/parse_segv.py: [1459] merge parse_segv.py improvements
	from Kees

2009-06-03  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [1458] ui.py: Do not overwrite report["Title"] if it
	is already set by a hook.

	* run-tests: [1457] run-tests: Replace hardcoded Python path with
	dynamically detected path

2009-06-03  Martin Pitt <martin.pitt@canonical.com>

	* general-hooks/parse_segv.py: Added.

	* NEWS,
	* run-tests: Modified.

	[1456] add segfault analysis hook for quick segv reviews

2009-06-03  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1455] launchpad.py: Fix crash for
	unset titles

2009-06-02  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* doc/data-format.tex,
	* problem_report.py: [1454] problem_report.py: Allow dashes and
	underscores in key names. Update doc/data-format.tex accordingly. (LP:
	#380811)

	* apport/crashdb_impl/launchpad.py: [1453] launchpad.py: More robust
	download(), fixes other part of LP: #382589

	* apport/crashdb_impl/launchpad.py: [1452] launchpad.py: Also fetch
	DpkgTerminalLog.gz. (LP: #382589)

2009-06-01  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* apport/hookutils.py: [1451] add
	apport.hookutils.root_command_output()

2009-05-28  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1450] launchpad.py: Repair
	support for extra tags

	* apport/crashdb_impl/launchpad.py: [1449] launchpad.py: Do not
	overwrite report['Title']

	* apport/crashdb_impl/launchpad.py: [1448] launchpad.py: download
	DpkgTerminalLog.txt

2009-05-27  Martin Pitt <martin.pitt@canonical.com>

	* general-hooks/generic.py: [1447] general-hooks/generic.py: Do not
	report problems with low free space on / or /home. (LP: #381047)

2009-05-26  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py: [1446] ui.py: Check UnreportableReason for
	run_report_bug() as well. (LP: #361359)

	* NEWS,
	* apport/ui.py: [1445] Drop "UnsupportableReason" field, it is too
	similar to UnreportableReason and just confusing.

2009-05-20  Martin Pitt <martin.pitt@canonical.com>

	* cli/apport-cli: [1444] apport-cli: Fix report saving in "bug report"
	mode. (LP: #353253)

=== 1.2.1 ===
2009-05-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1443] release 1.2.1

	* NEWS: [1442] update NEWS

	* po/ar.po,
	* po/be.po,
	* po/bg.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/da.po,
	* po/de.po,
	* po/el.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/uk.po,
	* po/zh_CN.po,
	* po/zh_TW.po: [1441] merge translations, update German translation

	* po/POTFILES.in,
	* setup.py: [1440] Update setup.py and POTFILES.in for .glade -> .ui
	renaming

=== 1.2.0 ===
2009-05-15  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1439] release 1.2.0

	* NEWS: [1438] update NEWS with changes made so far

2009-05-15  Martin Pitt <martin.pitt@canonical.com>

	* gtk/apport-gtk.ui: Added.

	* gtk/apport-gtk.glade: Removed.

	* gtk/apport-gtk: Modified.

	[1437] gtk/: Convert from libglade to gtk.Builder

2009-05-15  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py: [1436] hookutils: replace hal stuff with udev
	attach_hardware(): Attach udev log and DB instead of hal. Drop hal
	related functions.

2009-05-13  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [1435] packaging-apt-dpkg.py: Fix
	another crash

	* backends/packaging-apt-dpkg.py: [1434] packaging-apt-dpkg.py: Drop
	obsolete symbol "_record"

	* backends/packaging-apt-dpkg.py: [1433] packaging-apt-dpkg.py: Fix
	syntax error

	* backends/packaging-apt-dpkg.py: [1432] packaging-apt-dpkg.py: Drop
	remaining obsolete symbol _lookupRecord()

2009-05-11  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [1431] packaging-apt-dpkg.py,
	get_modified_files(): Do not show package list file as modified if the
	package is not installed. (LP: #364533)

	* backends/packaging-apt-dpkg.py: [1430] packaging-apt-dpkg.py,
	is_distro_package(): Fix crash if package is not installed

	* apport/report.py: [1429] report.py, add_package_info(): Fix crash if
	package is not installed

	* backends/packaging-apt-dpkg.py: [1428] packaging-apt-dpkg.py,
	get_version(): Properly raise ValueError for existing, but uninstalled
	packages.

	* backends/packaging-apt-dpkg.py: [1427] packaging-apt-dpkg.py:
	Replace deprecated python-apt properties with current ones (>= 0.7.9)

2009-05-05  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1426] launchpad: fix exception
	class name

2009-04-30  Martin Pitt <martin.pitt@canonical.com>

	* bin/apportcheckresume: [1425] * bin/apportcheckresume: the suspend
	_and_ hibernate logs are both in   pm-suspend.log. *
	bin/apportcheckresume: remove redunant check for file before attaching
	stress log.

	* apport/hookutils.py: [1424] hookutils.py: Drop
	/proc/version_signature collection, it is Ubuntu specific

=== 1.1.1 ===
2009-04-30  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1423] release 1.1.1

	* NEWS: [1422] update NEWS

	* etc/cron.daily/apport: [1421] etc/cron.daily/apport: Only attempt to
	remove files and symlinks, do not descend into subdirectories of
	/var/crash/. Doing so might be exploited by a race condition between
	find traversing a huge directory tree, changing an existing subdir
	into a symlink to e. g. /etc/, and finally getting that piped to rm.
	This also changes the find command to not use GNU extensions.  Thanks
	to Stephane Chazelas for discovering this!  LP #357024 CVE-2009-1295

2009-04-28  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1420] launchpad.py: consider
	socket errors when connecting as transient

2009-04-24  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py: [1419] report.py, test_add_gdb_info_script(): More
	robust method of generating core dump, fixes test suite

	* apport/report.py: [1418] report.py: Fix test suite for r1416

2009-04-23  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py: [1417] report.py, add_hooks_info(): Always run
	common hooks, and run source package hooks if we do not have a binary
	package name. (LP: #350131)

	* apport/report.py,
	* apport/ui.py: [1416] ui.py: Detect invalid PIDs (such as for kernel
	processes) and give a friendly error message. (LP: #360608)

	* apport/report.py: [1415] report.py, add_proc_info(): Only add
	ProcAttrCurrent if it is not "unconfined".

	* apport/crashdb_impl/launchpad.py: [1414] launchpad.py: Send and read
	Date: field again, reverting r1128; it is useful after all. (LP:
	#349139)

2009-04-21  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1413] launchpad.py: support older
	wadllib API where bug.date_created was a string instead of a datetime
	object

2009-04-20  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py: [1412] hookutils.py: add docstring for
	attach_hardware()

=== 1.1 ===
2009-04-20  Martin Pitt <martin.pitt@canonical.com>

	* NEWS,
	* setup.py: [1411] release 1.1

	* do-release: [1410] do-release: clean bzr tree

	* do-release: [1409] do-release: grep version from NEWS

	* do-release: [1408] do-release: add date to NEWS

	* NEWS: [1407] NEWS: update to current trunk

2009-04-20  Martin Pitt <martin.pitt@canonical.com>

	* preloadlib,
	* preloadlib/Makefile,
	* preloadlib/README,
	* preloadlib/libapport.c: Removed.

	* test-apport: Modified.

	[1406] remove preloadlib; it's undermaintained, and not really useful
	any more these days

2009-04-20  Martin Pitt <martin.pitt@canonical.com>

	* po/ar.po,
	* po/be.po,
	* po/bg.po,
	* po/bs.po,
	* po/ca.po,
	* po/cs.po,
	* po/da.po,
	* po/el.po,
	* po/eo.po,
	* po/es.po,
	* po/et.po,
	* po/eu.po,
	* po/fi.po,
	* po/fr.po,
	* po/ga.po,
	* po/gl.po,
	* po/he.po,
	* po/hi.po,
	* po/hr.po,
	* po/hu.po,
	* po/id.po,
	* po/is.po,
	* po/it.po,
	* po/ja.po,
	* po/ko.po,
	* po/ku.po,
	* po/lo.po,
	* po/lt.po,
	* po/lv.po,
	* po/mk.po,
	* po/ms.po,
	* po/nb.po,
	* po/nds.po,
	* po/nl.po,
	* po/oc.po,
	* po/pl.po,
	* po/pt.po,
	* po/pt_BR.po,
	* po/ro.po,
	* po/ru.po,
	* po/sk.po,
	* po/sl.po,
	* po/sq.po,
	* po/sv.po,
	* po/ta.po,
	* po/th.po,
	* po/tr.po,
	* po/uk.po,
	* po/zh_CN.po,
	* po/zh_TW.po: Added.

	[1405] Add translations from Launchpad

2009-04-20  Martin Pitt <martin.pitt@canonical.com>

	* po/de.po: [1404] de.po: fix glitch

	* README: [1403] README: link to homepage and point to doc/

	* use-local: [1402] use-local: add comment about purpose

2009-04-20  Martin Pitt <martin.pitt@canonical.com>

	* README: Added.

	[1401] add README file

2009-04-20  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1400] launchpad.py: remove
	reference to LP#353784, it is not a bug

	* apport/crashdb_impl/launchpad.py: [1399] launchpad.py: For multiple
	fixed tasks, just take the first one; best we can do

	* apport/crashdb_impl/launchpad.py: [1398] launchpad.py: Consider
	"wontfix" bugs as invalid, too

2009-04-15  Martin Pitt <martin.pitt@canonical.com>

	* setup.py: [1397] setup.py: install mimetypes/text-x-apport.svg icon
	symlink

2009-04-15  Martin Pitt <martin.pitt@canonical.com>

	* etc/default/apport.default: Renamed to etc/default/apport.

	[1396] fix name of default file

2009-04-11  Martin Pitt <martin.pitt@canonical.com>

	* NEWS: Added.

	[1395] add NEWS, with 1.0

2009-04-11  Martin Pitt <martin.pitt@canonical.com>

	* setup.py: [1394] setup.py: clean po/mo/

	* TODO: [1393] TODO: remove obsolete items

	* TODO: [1392] TODO: Remove Ubuntu specific issues

	* TODO: [1391] TODO item

	* apport/report.py: [1390] add new field Report.pid which gets set on
	add_proc_info() and can be used by hooks

	* TODO: [1389] drop implemented stuff from TODO

2009-04-11  Martin Pitt <martin.pitt@canonical.com>

	* general-hooks/generic.py: Added.

	* apport/hookutils.py,
	* apport/report.py,
	* run-tests: Modified.

	[1388] move determination of nonfree kernel modules from core code to
	generic hook

2009-04-11  Martin Pitt <martin.pitt@canonical.com>

	* AUTHORS: [1387] update AUTHORS

2009-04-11  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging_opensuse.py: Removed.

	[1386] Remove backends/packaging_opensuse.py, it is not appropriate
	for trunk.  OpenSUSE, when merging this, please use  "bzr revert
	backends/packaging_opensuse.py" and merge the empty change, so that it
	does not get lost in the future.

2009-04-11  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/multipartpost_handler.py: Added.

	* apport/crashdb_impl/launchpad.py: Modified.

	[1385] switch apport.crashdb_impl.launchpad from python-launchpad-bugs
	to launchpadlib

2009-04-11  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py: [1384] apport/hookutils.py, attach_alsa(): Add
	codec information

	* apport/hookutils.py: [1383] apport/hookutils.p, path_to_key():
	Translate more invalid characters

	* apport/hookutils.py: [1382] apport/hookutils.py, attach_alsa(): Add
	fuser info and dmesg

	* apport/hookutils.py: [1381] apport/hookutils.py: Extend
	package_versions to accept globs.

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_rpm.py: [1380] add packaging.package_name_glob()
	interface and apt implementation

	* backends/packaging-apt-dpkg.py: [1379] backends/packaging-apt-
	dpkg.py: move apt cache accessors around

	* apport/packaging.py: [1378] apport/packaging.py: Clean up docstrings
	and make them PEP-8 conformant

	* apport/hookutils.py: [1377] apport/hookutils.py:   - Factor out
	package_versions() to generate a simple text listing of relevant
	package versions and use it in attach_printing()  - Add new function
	attach_relevant_packages() to attach version information    (and
	perhaps eventually run hooks?) for related packages

2009-04-07  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py: [1376] backends/packaging-apt-
	dpkg.py: add missing shutil import

	* apport/hookutils.py: [1375] hookutils.py: Drop attach_conffiles(),
	it is dpkg specific

2009-04-07  Martin Pitt <martin.pitt@canonical.com>

	* do-release: Added.

	[1374] Add do-release script.  This should not be merged into distro
	branches, since it is only useful for upstream.

=== 1.0 ===
2009-04-07  Martin Pitt <martin.pitt@canonical.com>

	* setup.py: [1373] release 1.0

	* setup.py: [1372] setup.py: upgrade description

	* setup.py: [1371] setup.py: add version

2009-04-07  Martin Pitt <martin.pitt@canonical.com>

	* apport.init.fedora,
	* apport.init.opensuse,
	* apport.spec.fedora,
	* apport.spec.opensuse,
	* backends/packaging_fedora.py,
	* debian,
	* debian/apport-gtk.install,
	* debian/apport-qt.install,
	* debian/apport-retrace.install,
	* debian/apport-retrace.manpages,
	* debian/apport.README.Debian,
	* debian/apport.examples,
	* debian/apport.install,
	* debian/apport.links,
	* debian/apport.logrotate,
	* debian/apport.manpages,
	* debian/changelog,
	* debian/compat,
	* debian/control,
	* debian/copyright,
	* debian/local,
	* debian/local/apport-chroot,
	* debian/local/apport-chroot.1,
	* debian/local/apport-collect,
	* debian/local/apport-collect.1,
	* debian/local/setup-apport-retracer,
	* debian/local/ubuntu-bug,
	* debian/local/ubuntu-bug.1,
	* debian/local/ubuntu-fat-chroot,
	* debian/pycompat,
	* debian/python-apport.install,
	* debian/python-apport.postinst,
	* debian/python-problem-report.install,
	* debian/pyversions,
	* debian/rules,
	* general-hooks/automatix.py,
	* general-hooks/ubuntu.py,
	* package-hooks/source_linux.py,
	* python-apport.spec.opensuse: Removed.

	* etc/apport/crashdb.conf,
	* run-tests: Modified.

	[1370] Turn branch into a real upstream trunk.  This commit removes
	all distribution specific stuff. It keeps the general RPM and apt
	packaging backends, as well as the Launchpad CrashDatabase
	implementation, since they apply to more than just one distribution.
	If you merge this into the existing opensuse/ubuntu/fedora branches,
	revert the deletion of the files you need!

=== 0.149 ===
2009-04-07  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1369] releasing version 0.149

	* debian/changelog: [1368] changelog annotations

	* debian/changelog,
	* man/apport-retrace.1: [1367] man/apport-retrace.1: Drop reference to
	"apt", simply talk about package installation.

	* debian/changelog,
	* debian/local/apport-chroot: [1366] debian/local/apport-chroot: If
	multiple distro IDs point to the same chroot, do not upgrade them more
	than once with "upgrade all".

2009-04-06  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1365] setup-apport-retracer:
	fix crashdb.conf path

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1364] debian/local/setup-
	apport-retracer: Update apport-chroot path for above change.

2009-04-05  Martin Pitt <martin.pitt@canonical.com>

	* apport/hookutils.py,
	* debian/changelog: [1363] apport/hookutils.py, files_in_package():
	Replace dpkg-query call with packaging.get_files(), to avoid
	Debianism.

2009-04-05  Martin Pitt <martin.pitt@canonical.com>

	* debian/apport-retrace.install,
	* debian/apport-retrace.manpages,
	* debian/changelog,
	* setup.py: Modified.

	* bin/apport-chroot: Renamed to debian/local/apport-chroot.
	* man/apport-chroot.1: Renamed to debian/local/apport-chroot.1.

	[1362] Move bin/apport-chroot and man/apport-chroot.1 to debian/local,
	since they are totally Debian/Ubuntu specific.

2009-04-05  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-chroot,
	* bin/apport-retrace,
	* debian/changelog: [1361] bin/apport-retrace: Rename option --no-dpkg
	to --no-pkg and update bin/apport-chroot accordingly.

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* bin/apport-retrace,
	* debian/changelog: [1360] Move installation of missing packages for
	retracing from bin/apport-retrace to new abstract interface
	apport/packaging.py, install_retracing_packages() and
	remove_packages(), and move the apt/dpkg code to backends/packaging-
	apt-dpkg.py. This removes a major piece of apt/dpkg specific code from
	non-backends.

	* debian/apport.install: [1359] fix conffile installation

	* debian/changelog,
	* setup.py: [1358] setup.py: Fix homepage URL.

	* debian/changelog,
	* problem_report.py: [1357] problem_report.py, man/apport-unpack.1:
	Fix description of .crash file syntax (RFC822, not "Debian control").

	* debian/changelog,
	* setup.py: [1356] setup.py: Move *.mo generation/installation into
	my_install_data class, for cleanliness.

2009-04-05  Martin Pitt <martin.pitt@canonical.com>

	* etc/apport,
	* etc/apport/blacklist.d: Added.

	* debian/changelog,
	* run-tests,
	* setup.py: Modified.

	* crashdb.conf: Renamed to etc/apport/crashdb.conf.
	* doc/README.blacklist: Renamed to
	  etc/apport/blacklist.d/README.blacklist.

	[1355] Move crashdb.conf and doc/README.blacklist to etc/, to simplify
	setup.py.

2009-04-05  Martin Pitt <martin.pitt@canonical.com>

	* etc,
	* etc/cron.daily,
	* etc/cron.daily/apport,
	* etc/default,
	* etc/default/apport.default,
	* etc/init.d,
	* etc/init.d/apport: Added.

	* debian/apport.cron.daily,
	* debian/apport.default,
	* debian/apport.init: Removed.

	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[1354] Move cron.daily, init script, and default file from debian/ to
	etc/, and install them in setup.py. These files are appropriate for
	upstream installation.

2009-04-04  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* man/apport-unpack.1: [1353] man/apport-unpack.1: Fix description of
	.crash file syntax (RFC822, not "Debian control").

=== 0.148 ===
2009-04-01  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1352] releasing version 0.148

	* bin/kernel_oops,
	* debian/changelog: [1351] bin/kernel_oops: Add "kernel-oops" tag.
	Since both bin/kernel_oops and bin/apportcheckresume use the
	"kerneloops" bug class, it previously was hard to filter out the bug
	reports which were real oopses. (LP: #349621)

	* bin/apport-retrace,
	* debian/changelog: [1350] bin/apport-retrace: Fix KeyError crash on
	bugs with an ExecutablePath which does not exist any more. Close the
	bug as invalid instead. (LP: #352331)

	* apport/hookutils.py,
	* debian/changelog,
	* general-hooks/ubuntu.py: [1349] apport/hookutils.py: Move
	attach_media_build() to general-hooks/ubuntu.py, since it is Ubuntu
	specific.

	* debian/changelog,
	* debian/local/ubuntu-bug,
	* debian/local/ubuntu-bug.1: [1348] debian/local/ubuntu-bug: Drop
	generic passthrough of apport-{cli,gtk,kde} options since this leads
	to too much confusion. Instead just support a single argument and
	check whether it is a pid, a package name, a .crash file, or a program
	path. This does the right thing when calling it with a .crash file
	(LP: #347392) and fixes the help output (LP: #344923) Update manpage
	accordingly.

2009-03-30  Matt Zimmerman <mdz@perseus>

	* bin/apportcheckresume,
	* debian/changelog: [1347] bin/apportcheckresume: Use
	attach_file_if_exists rather than attach_file to avoid spurious error
	messages about non-existent log files (LP: #351973)

2009-03-30  Matt Zimmerman <mdz@perseus>

	* general-hooks/ubuntu.py: Added.

	* apport/hookutils.py,
	* debian/changelog: Modified.

	[1346] * apport/hookutils.py: add attach_media_build to include
	information about   the build of installation media in use (i.e. in a
	casper live CD   environment) * general-hooks/ubuntu.py: use
	attach_media_build (LP: #351781)

=== 0.147 ===
2009-03-30  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1345] releasing version 0.147

	* bin/apportcheckresume,
	* debian/apport.init,
	* debian/changelog: [1344] * bin/apportcheckresume: report the pm-
	suspend.log/pm-hibernate.log   from /var/lib. * bin/apportcheckresume:
	only attempt to attach the stress log if its is   present. *
	bin/apportcheckresume, debian/apport.init: add detection for late
	resume hangs, those where the user thinks the system was working.
	(LP: #335323)

=== 0.146 ===
2009-03-27  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1343] releasing version 0.146

	* bin/apport-retrace,
	* debian/changelog: [1342] bin/apport-retrace: If apt update fails due
	to a "hash sum mismatch", exit with a "transient error" code, to stop
	(but not break) the retracing cycle.

	* bin/crash-digger,
	* debian/changelog,
	* test-crash-digger: [1341] bin/crash-digger: If apport-retrace exits
	with 99, consider it a transient error and just stop the retracer, but
	don't leave the lock file behind. Add appropriate test case to test-
	crash-digger.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1340] apport/crashdb_impl/launchpad.py: Support
	new CrashDB option "project" which can be set to a LP project name to
	file bugs against that project instead of the distribution. Add test
	case for filing crash bug against a project, updating it,
	duplicating/unduplicating it, and determining fixed version. (LP:
	#338835)

	* apport/crashdb.py,
	* debian/changelog: [1339] apport/crashdb.py, get_crashdb(): Print
	syntax errors from parsing conf.d/*.conf to stderr.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1338] apport/crashdb_impl/launchpad.py, update():
	Intercept and ignore IOErrors when changing the bug priority. This
	happens if a bug gets duplicated underneath us. (LP: #349407)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1337] apport/crashdb_impl/launchpad.py: Add test
	case: Update a bug report which got marked as a duplicate during
	processing. This reproduces #349407.

2009-03-26  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* debian/local/ubuntu-fat-chroot: [1336] debian/local/ubuntu-fat-
	chroot: Divert away /usr/lib/xulrunner-1.9.1b3/xulrunner-bin. It is
	called on debian/rules patch in xulrunner-1.9.1 and hangs eternally in
	the fakechroots. This is only a temporary kludge, though, until the
	next xulrunner version lands.

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1335] backends/packaging-apt-dpkg.py: When
	unpacking source trees, try "debian/rules setup" last, since it is the
	least common variant.

	* debian/changelog,
	* debian/local/ubuntu-bug.1: [1334] debian/local/ubuntu-bug.1: Add
	missing documentation of the case of specifying a path name.

	* debian/changelog,
	* debian/local/ubuntu-bug.1: [1333] debian/local/ubuntu-bug.1: Update
	for the possibility to specify a package name or PID without any
	options. Also document the "ubuntu-bug linux" special case. (LP:
	#348985)

2009-03-25  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb.py,
	* debian/changelog: [1332] apport/crashdb.py,
	duplicate_db_consolidate(): Add logging about removing invalidated
	bugs from the duplicate database, now that this actually works.

	* debian/changelog,
	* debian/local/apport-collect,
	* debian/local/apport-collect.1: [1331] debian/local/apport-collect:
	Add new option -p to explicitly specify a (binary) package name
	instead of guesstimating it from the bug's source package tasks.
	Document new option in debian/local/apport-collect.1. (LP: #333875)

	* apport/ui.py,
	* debian/changelog: [1330] apport/ui.py, open_url(): Also consider a
	sesssion as "GNOME" if gconfd-2 is running; some variants such as UNR
	do not have gnome-panel; this fixes using the preferred browser for
	them. (LP: #322386)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1329] launchpad.py: test Python reporting and tag
	handling

2009-03-13  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1328] launchpad.py test suite:
	fix typo in variable name

2009-03-12  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py: [1327] launchpad.py: shallow test
	of get_fixed_version()

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* debian/changelog: [1326] * apport/crashdb.py: Add new interface
	duplicate_of(id) to return the master   bug of a duplicate. Also
	document that close_duplicate() with "None"   master bug will un-
	duplicate the bug. * apport/crashdb_impl/{launchpad,memory}.py:
	Implement duplicate_of() and   add test cases. The Launchpad test case
	reproduces the   "duplicate-of-a-duplicate" regression, which now got
	fixed in   python-launchpad-bugs bzr head.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1325] apport/crashdb_impl/launchpad.py: Add
	initial test suite, performing data upload, bug reporting, report
	download, and report updating. This happens on staging.launchpad.net.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1324] apport/crashdb_impl/launchpad.py: Fully
	enable operation with staging.launchpad.net.

	* apport/report.py,
	* debian/changelog: [1323] apport/report.py,
	_generate_sigsegv_report(): Turn into a class method, so that it can
	be used by test cases in other modules as well. Also add missing
	Signal field.

=== 0.145 ===
2009-03-10  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1322] releasing version 0.145

	* debian/changelog,
	* general-hooks/automatix.py: [1321] general-hooks/automatix.py:
	Refuse to send bug reports when ultamatix is installed.

	* apport_python_hook.py,
	* debian/changelog: [1320] apport_python_hook.py: Fix crash for
	already existing reports, and make behaviour equivalent to bin/apport:
	Silently exit for existing unseen crash report, and overwrite existing
	seen crash report. Add test cases. (LP: #323714)

	* debian/changelog,
	* debian/local/apport-collect: [1319] debian/local/apport-collect: Do
	not crash on launchpadlib.errors.HTTPError, but give a proper error
	message and point out that this script needs "change anything"
	privileges. (LP: #338201)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1318] apport/crashdb_impl/launchpad.py: Fix typo
	in previous upload.

=== 0.144 ===
2009-03-10  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1317] releasing version 0.144

	* bin/apport-retrace,
	* debian/changelog: [1316] bin/apport-retrace: If we didn't find the
	ExecutablePath on the system because the package is out of date, don't
	crash, but close the bug as invalid.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1315] apport/crashdb_impl/launchpad.py,
	mark_retrace_failed(): If report is invalid, remove CoreDump.gz and
	other attachments.

=== 0.143 ===
2009-03-09  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1314] releasing version 0.143

	* apport/report.py,
	* debian/changelog: [1313] apport/report.py, anonymize(): Move user
	name anonymization into the "non-root" case as well; fixes
	uninitialized variable. (LP: #338847)

2009-03-06  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1312] backends/packaging-apt-dpkg.py,
	is_distro_package(): Do not consider a package a native distro one if
	installed version is "None". This happens with some PPA packages. (LP:
	#252734)

	* debian/apport.README.Debian,
	* debian/changelog: [1311] debian/apport.README.Debian: Document how
	to temporarily and permanently enable crash interception.

=== 0.142 ===
2009-03-05  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1310] releasing version 0.142

	* apport/report.py: [1309] report.py: fix silly typo

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1308] backends/packaging-apt-dpkg.py,
	_get_mirror(): Only consider http:// mirrors for fetching Contents.gz.
	(LP: #315797)

	* debian/apport.default,
	* debian/apport.init,
	* debian/changelog: [1307] debian/apport.init: Also start apport if
	force_start=1 is given. This provides a convenient method of starting
	apport just for a session without changing the default file. Add a
	comment to debian/apport.default about this possibility. Thanks to
	Milan for the suggestion and the initial patch! (LP: #320467)

	* debian/changelog: [1306] close a related bug in changelog

	* apport/report.py,
	* debian/changelog: [1305] apport/report.py, anonymize(): Do not
	anonymize single-character user and host names, since they create an
	utter mess in bug reports, and also are very low-sensitive.

	* apport/report.py,
	* debian/changelog: [1304] apport/report.py, anonymize(): Fix crash
	when processing root-owned reports. (LP: #338033)

	* apport/REThread.py,
	* apport/chroot.py,
	* apport/fileutils.py,
	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* backends/packaging-apt-dpkg.py,
	* backends/packaging_opensuse.py,
	* backends/packaging_rpm.py,
	* debian/changelog,
	* problem_report.py,
	* test-apport,
	* test-hooks: [1303] Remove redundant verbiage from test suite
	docstrings.

	* apport/ui.py,
	* debian/changelog: [1302] apport/ui.py, load_report(): Clearer error
	message if report file does not exist. (LP: #204198)

	* debian/changelog,
	* debian/local/ubuntu-bug: [1301] debian/local/ubuntu-bug: Fix
	invocation with "--help". (LP: #305841)

	* apport/report.py,
	* debian/changelog: [1300] apport/report.py: Slight robustification of
	test_add_gdb_info_script() test case.

	* apport/ui.py,
	* debian/changelog: [1299] apport/ui.py: Fix crash in
	get_complete_size() for reports that are constructed on the fly
	instead of loaded from a file (i. e. for bug reports). Fixes
	displaying of report in apport-cli.

	* apport/ui.py,
	* debian/changelog: [1298] apport/ui.py, run_report_bug(): Show
	details of collected information and give the user a chance to cancel.
	Previously, collected data was sent directly to Launchpad. Nowadays
	lots of packages have hooks, so we cannot guarantee any more that bug
	reports only have non-sensitive information. (LP: #195514)

	* apport/report.py,
	* debian/changelog: [1297] apport/report.py, _gen_stacktrace_top():
	Fix parsing of stacktraces with some addresses missing. Add test
	cases. (LP: #269133)

	* apport/hookutils.py,
	* debian/changelog: [1296] * apport/hookutils.py: Fix
	attach_printing():   - Correct spelling or "error_log".   - Do not
	call fgrep with no file names (if /etc/cups/ppd/ is empty), since
	that hangs forever.

2009-03-03  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* debian/changelog: [1295] apport/report.py: Do not include
	lsb_release's stderr in the DistroRelease: output.

=== 0.141 ===
2009-03-02  Kees Cook <kees@outflux.net>

	* debian/changelog: [1294] releasing version 0.141

	* apport/hookutils.py,
	* debian/changelog: [1293] apport/hookutils.py: Add cups error log to
	attach_printing()

=== 0.140 ===
2009-03-02  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1292] releasing version 0.140

	* debian/changelog,
	* run-tests: [1291] run-tests: Only check for local packaging_impl.py
	if running local tests. This unbreaks running tests from
	/usr/share/apport/testsuite/.

	* debian/changelog,
	* debian/python-apport.install,
	* debian/python-problem-report.install: [1290] debian/python-{apport
	,problem-report}.install: Fix site-packages ? *-packages.

=== 0.139 ===
2009-03-02  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1289] releasing version 0.139

	* apport/hookutils.py,
	* debian/changelog: [1288] apport/hookutils.py, hal_dump_udi(): Filter
	out serial numbers.  (Mentioned in LP #107103)

2009-02-26  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* debian/local/apport-collect: [1287] debian/local/apport-collect:
	Ignore ValueErrors from add_package_info(), which happens if the bug
	has a source package task which does not have an identically named
	binary package name. Slightly ugly, but it's nontrivial to do that in
	a sensible manner; let's just fix the crash for now, since the focus
	of this tool is to collect information from hooks. (LP: #334823)

	* debian/changelog,
	* debian/local/apport-collect,
	* debian/local/apport-collect.1: [1286] debian/local/apport-collect:
	Attach new info to staging.launchpad.net if $APPORT_STAGING is
	defined. This makes testing easier. Describe in debian/local/apport-
	collect.1.

2009-02-25  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* debian/rules: [1285] debian/rules: Supply --install-layout=deb to
	setup.py.

	* apport/report.py,
	* debian/changelog: [1284] apport/report.py, anonymize(): Do not
	anonymize "root". (Side issue in LP #333542)

=== 0.138 ===
2009-02-24  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1283] releasing version 0.138

	* apport/hookutils.py,
	* debian/changelog: [1282] apport/hookutils.py: Add attach_printing().
	Thanks to Brian Murray for the initial patch! (LP: #333582)

	* apport/crashdb_impl/memory.py,
	* apport/ui.py,
	* bin/apport,
	* bin/crash-digger,
	* debian/changelog: [1281] Replace all instances of using an
	exception's .message attribute with str(exception), since message is
	deprecated in Python 2.6.

	* apport/hookutils.py,
	* backends/packaging_rpm.py,
	* debian/changelog: [1280] apport/hookutils.py,
	backends/packaging_rpm.py: Convert usage of md5 module (which is
	deprecated in 2.6) to hashlib.

	* debian/changelog,
	* debian/control,
	* debian/rules: [1279] Set python-version to all, include symlinks in
	the package.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1278] apport/crashdb_impl/launchpad.py: Consider
	an useful stack trace sufficient for automatically removing the core
	dump, it doesn't need to be perfect. This is in accordance with not
	setting the apport-failed-retrace tag for useful, but non-perfect
	retraces any more.

=== 0.136 ===
2009-02-24  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1277] releasing version 0.136

	* debian/changelog,
	* debian/local/apport-collect: [1276] debian/local/apport-collect: Add
	user environment information, too (LANG, PATH, SHELL). (LP: #332578)

	* apport/report.py,
	* bin/apportcheckresume,
	* debian/changelog: [1275] * bin/apportcheckresume: remove originator
	in suspend/hibernate/resume   reporting.  This was intended for
	debugging only and is now redundant. * bin/apportcheckresume,
	apport/report.py: when collecting resume failures   in very early boot
	hal may not be running and we thus unable to obtain   the machine type
	information.  Move title generation to the reporting   engine.

=== 0.135 ===
2009-02-23  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1274] releasing version 0.135

	* debian/changelog,
	* test-hooks: [1273] test-hooks: Update dodgy test for uninstalled
	package, libdb4.3-tcl is not available in Jaunty any more.

	* debian/changelog,
	* problem_report.py: [1272] problem_report.py, test_write(): Add test
	cases for single-line and two-line UTF-8 and Unicode values, and fix
	handling of these in write().

	* debian/changelog,
	* package-hooks/source_apport.py: [1271] package-
	hooks/source_apport.py: Robustify by using hookutils, and avoid stat
	errors if /var/crash/* does not exist.

	* debian/changelog,
	* debian/local/apport-collect: [1270] debian/local/apport-collect:
	Collect package, OS, and user information as well. (LP: #332578)

	* debian/changelog,
	* problem_report.py: [1269] problem_report.py, test_write_mime_text():
	Add test cases for single-line and two-line UTF-8 values, single-line
	and two-line Unicode values and a single-line LF-terminated value. Fix
	handling of the latter two.

=== 0.134 ===
2009-02-20  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1268] releasing version 0.134

	* apport/hookutils.py,
	* debian/changelog: [1267] apport/hookutils.py: Replace tabs with
	spaces.

	* apport/report.py,
	* debian/changelog: [1266] apport/report.py: If downloading a
	nonexisting bug pattern file name succeeds and returns a HTML snippet
	with "404 Not Found", consider this as failure. This repairs falling
	back to source package names. (LP: #328751)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1265] apport/crashdb_impl/launchpad.py,
	download(): Download DpkgTerminalLog.txt attachment as well.

	* debian/changelog,
	* debian/local/apport-collect: [1264] debian/local/apport-collect: Do
	not collect information for closed tasks. Thanks for Brian Murray for
	the initial patch! (LP: #331839)

=== 0.133 ===
2009-02-19  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1263] releasing version 0.133

	* apport/hookutils.py,
	* bin/apportcheckresume,
	* debian/changelog: [1262] * apport/hookutils.py: define and include a
	machine type from the hardware   information in the report, using HAL
	information where available. * bin/apportcheckresume: include the
	machine type in the suspend/hibernate   report title.  They are
	generally machine specific.

=== 0.132 ===
2009-02-19  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1261] releasing version 0.132

	* debian/changelog,
	* debian/control: [1260] debian/control: Add ${misc:Depends}
	dependencies.

2009-02-19  Martin Pitt <martin.pitt@canonical.com>

	* debian/local/apport-collect,
	* debian/local/apport-collect.1: Added.

	* debian/apport.install,
	* debian/apport.manpages,
	* debian/changelog,
	* debian/control: Modified.

	[1259] * Add debian/local/apport-collect: Download a Launchpad bug
	report,   get its source package, check if it has apport hooks, and if
	so,   run and upload them. Add manpage, too. (LP: #124338) *
	debian/control: Add Suggests: python-launchpadlib; this is only
	needed by apport-collect, thus we don't need to pull that into   every
	default installation; if it's not installed apport-collect   will
	detect and point this out.

2009-02-17  Jonathan Riddell <jriddell@canonical.com>

	* debian/changelog,
	* qt4/apport-qt: [1258] Set window icon in apport-qt

=== 0.131 ===
2009-02-16  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1257] releasing version 0.131

	* debian/changelog,
	* po/de.po: [1256] Update German translations.

	* apport/ui.py,
	* debian/changelog: [1255] apport/ui.py: Drop some bogus translatable
	strings.

	* cli/apport-cli,
	* debian/changelog,
	* qt4/apport-qt: [1254] cli/apport-cli, qt4/apport-qt: Unify string
	with apport-gtk.

	* debian/changelog,
	* po/Makefile: [1253] po/Makefile: Fix merge-po rule to actually work
	again.

	* bin/apportcheckresume,
	* bin/kernel_oops,
	* cli/apport-cli,
	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade,
	* qt4/apport-qt: [1252] bin/apportcheckresume, bin/kernel_oops, cli
	/apport-cli, gtk/apport-gtk, gtk/apport-gtk.glade, qt4/apport-qt:
	generalised the KernelOops dialog and handling to allow suspend and
	hibernate failures present more accurate reasons for the report.  Also
	commonises all messages in the three implementations to simplify
	internationalisation.

=== 0.130 ===
2009-02-12  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1251] releasing version 0.130

	* bin/apportcheckresume,
	* debian/changelog: [1250] * bin/apportcheckresume: modify the oops
	title and thereby the launchpad   bug title to say suspend or
	hibernate. * bin/apportcheckresume: modify the tags to
	bin/apportcheckresume:   modify the oops title and thereby the
	launchpad be resume+suspend or   resume+hibernate as appropriate. *
	bin/apportcheckresume: include any non-free modules in the bug title.

	* bin/apport-retrace,
	* debian/changelog: [1249] bin/apport-retrace: Do not try to install
	-dbgsym packages with nonmatching versions, unless --unpack-only is
	used. Thanks to hggdh for the initial patch! (LP: #309208)

	* apport/crashdb_impl/memory.py,
	* debian/changelog: [1248] apport/crashdb_impl/memory.py: Improve
	docstrings of test suite.

	* bin/crash-digger,
	* debian/changelog: [1247] bin/crash-digger: Revert catching "database
	is locked" errors during consolidation, since it just hides more
	fundamental errors.

2009-02-05  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1246] crashdb_impl/launchpad.py: Tag bugs with
	the architecture they are being reported on.

2009-02-02  Martin Pitt <martin.pitt@canonical.com>

	* bin/kernel_crashdump,
	* debian/changelog: [1245] bin/kernel_crashdump: Don't crash if
	vmcore.log does not exist.

=== 0.129 ===
2009-01-26  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1244] releasing version 0.129

	* apport/crashdb.py,
	* debian/changelog: [1243] apport/crashdb.py,
	duplicate_db_consolidate(): Warn about a bug which is not yet fixed,
	but does not appear in get_unfixed(). In Launchpad, this means that
	the bug does not have the 'apport-crash' tag any more; if there are
	many, those would be a huge time/bandwidth waste.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1242] apport/crashdb_impl/launchpad.py: Request
	bug lists with batch size 300, for slight speedup of consolidation.

	* bin/dupdb-admin,
	* debian/changelog: [1241] dupdb-admin: Add new command "consolidate".

	* bin/crash-digger,
	* debian/changelog: [1240] bin/crash-digger: Create a backup of the
	duplicates database right after initializing it (which verifies
	integrity).

	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* debian/changelog: [1239] apport/crashdb.py, init_duplicate_db(): Run
	an integrity check and raise exception if it fails, to avoid running
	the retracers on a corrupt duplicate db. Add test case to
	apport/crashdb_impl/memory.py.

	* bin/apportcheckresume,
	* debian/changelog: [1238] bin/apportcheckresume: Include /var/lib/pm-
	utils/stress.log, too. Thanks to Andy Whitcroft for the initial patch,
	rewrote to use apport.hookutils.

	* apport/crashdb_impl/launchpad.py,
	* apport/ui.py,
	* debian/changelog: [1237] * apport/ui.py: Check environment variable
	APPORT_REPORT_THIRDPARTY   in addition to the 'thirdparty'
	configuration file option for   overriding the "genuine distro
	package" check. Thanks to Oumar   Aziz OUATTARA! *
	apport/crashdb_impl/launchpad.py: In third-party mode, report bugs
	against Launchpad projects. Thanks to Oumar   Aziz OUATTARA for his
	branch! (LP: #213454)

2009-01-20  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* doc/package-hooks.txt: [1236] doc/package-hooks.txt: Point out
	apport.hookutils.

	* bin/apport,
	* debian/changelog: [1235] bin/apport: Move argv length/usage help
	before lock check, so that it works if the user cannot lock
	/var/crash/.lock. Thanks to Kees Cook!

	* debian/changelog,
	* debian/local/ubuntu-fat-chroot: [1234] debian/local/ubuntu-fat-
	chroot: Symlink /target -> /, to work for crashes which appear in
	/target during installation.

	* bin/apport-retrace,
	* debian/changelog: [1233] bin/apport-retrace: Do not mark bugs as
	invalid after they are already marked as a duplicate, since that does
	not work in Launchpad.

	* bin/apport-retrace,
	* debian/changelog: [1232] bin/apport-retrace: Log broken reports.

	* bin/apport-retrace,
	* debian/changelog: [1231] typo fixes

=== 0.128 ===
2009-01-19  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1230] releasing version 0.128

	* bin/apport-retrace: [1229] apport-retrace: improve error message

	* bin/apport-retrace: [1228] apport-retrace: more robustification of
	r1226

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1227] apport/crashdb_impl/launchpad.py: Apply
	some heuristics to attempt recovering broken descriptions as in LP
	#315728 (intermediate blank lines, and non-apport data append).

	* bin/apport-retrace,
	* debian/changelog: [1226] bin/apport-retrace: If downloading a report
	fails (e. g. the description was invalidly modified), mark the bug as
	invalid with a proper explanation instead of crashing, unless we are
	in "stdout" or "output file" mode.

	* bin/apport-retrace,
	* debian/changelog: [1225] bin/apport-retrace: Call Cache.open() after
	Cache.update().

	* apport/ui.py,
	* debian/changelog: [1224] * apport/ui.py: Introduce new configuration
	option "thirdparty" and * ignore the is_distro_package() check if it
	is set to true.

=== 0.127 ===
2009-01-13  Steve Langasek <steve.langasek@canonical.com>

	* bin/apportcheckresume: Added.

	* debian/apport.init,
	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[1223] bin/apportcheckresume, debian/apport.init: integrate with pm-
	utils to detect suspend/resume failures.  Thanks to Steve Conklin and
	Andy Whitcroft.  LP: #316419.

=== 0.126 ===
2009-01-09  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1222] releasing version 0.126

	* bin/apport-retrace,
	* debian/changelog: [1221] bin/apport-retrace: Exit with zero for bugs
	which do not have a core dump, so that it does not completely stop the
	retracers.

	* bin/apport-chroot,
	* debian/changelog: [1220] bin/apport-chroot: If --auth is specified
	in "login" mode, symlink the file into /tmp/auth in the fakechroot.
	This makes it much easier to interactively debug retracing.

=== 0.125 ===
2009-01-09  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1219] releasing version 0.125

	* bin/crash-digger,
	* debian/changelog,
	* test-crash-digger: [1218] * Rewrite bin/crash-digger to become much
	more robust and easier for   retracer maintainers:   - Now designed
	around cron-based maintenance: start, process all     pending bugs,
	exit. This makes memory leaks irrelevant, and gets     rid of all the
	logging, daemonizing, and looping code.   - Adapt stdout/stderr
	reporting to be suitable for cron and     redirecting stdout to a log
	file.   - Use lock files to avoid overlapping instances and avoid
	damaging     bugs with broken retracers after crash-digger failed.   -
	Handle chroot upgrading, so that this does not need separate
	cronjobs any more.   - Drop old -i option, replace with -D/--dupcheck
	which is a mode     which *only* checks duplicates of Python crashes
	(no fakechroot     handling).   - Mark bug as retraced after apport-
	chroot retrace finished     successfully; the process is robust enough
	now to avoid enless     loops even if retracing fails.   - Adapt test-
	crash-digger accordingly.   - UbuntuSpec:apport-retracer-maintenance

2009-01-08  Martin Pitt <martin.pitt@canonical.com>

	* bin/apport-retrace,
	* debian/changelog: [1217] bin/apport-retrace: Do not put outdated
	-dbgsym comments into the bug comments.

	* bin/apport-chroot,
	* debian/changelog: [1216] bin/apport-chroot: Exit with apport-
	retraces' exit status, to propagate errors upwards to crash-digger.

=== 0.124 ===
2009-01-08  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1215] releasing version 0.124

	* debian/apport.default,
	* debian/changelog: [1214] debian/apport.default: Enable by default
	again for Jaunty. Let the flood begin!

	* bin/apport-retrace: [1213] apport-retrace: useful stack trace is
	enough, does not need to be perfect

	* bin/apport-retrace,
	* debian/changelog: [1212] bin/apport-retrace: Update the apt cache
	before looking for, and installing packages. (Part of UbuntuSpec
	:apport-retracer-maintenance)

	* bin/apport-retrace,
	* debian/changelog,
	* debian/control: [1211] bin/apport-retrace: If we do not have an
	usable stack trace, and encounter outdated package versions in the
	crash, close the report as invalid with an appropriate comment. (LP:
	#308917)

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1210] apport/crashdb.py, mark_retrace_failed():
	Add new optional argument "invalid_msg", intended for crashes which
	cannot be retraced properly (e. g. due to outdated packages).
	Implement this in apport/crashdb_impl/launchpad.py.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1209] apport/crashdb_impl/launchpad.py: Allow
	using staging for testing.

	* debian/changelog,
	* debian/local/ubuntu-fat-chroot: [1208] debian/local/ubuntu-fat-
	chroot: Divert touch to touch.real and wrap it into a shell wrapper
	which ignores failures. Some packages use "touch -m" which fails with
	EPERM on directories under fakechroot. Also disable gconf-schemas and
	polkit-auth, since they do not work in fakechroots.

=== 0.123 ===
2009-01-05  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1207] releasing version 0.123

	* apport/report.py,
	* debian/changelog: [1206] apport/report.py, add_proc_environ(): Use
	"PATH=(...)" instead of "PATH: ..." notation, to be consistent with
	other environment variables. Unbreaks the apport test suite.

	* apport/report.py,
	* debian/changelog: [1205] apport/report.py testsuite: Use "isofs" for
	module license check testing instead of "usbcore", since the latter is
	more likely to get built into the kernel.

	* apport/report.py,
	* debian/changelog: [1204] apport/report.py, add_proc_info(): Only try
	to attach /proc/pid/attr/current if we are root. This works around
	Python segfaulting regression when encountering EPERM on read() (see
	LP #314065).

	* bin/apport,
	* debian/changelog: [1203] bin/apport: Remove a previously seen report
	file, so that the following creation with O_EXCL actually works.

	* bin/apport,
	* debian/changelog: [1202] bin/apport: Do not write the report into
	the log file if opening the report file failed; just log the error.

=== 0.122 ===
2009-01-05  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1201] releasing version 0.122

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog,
	* doc/data-format.tex: [1200] apport/crashdb_impl/launchpad.py:
	Support extra tags in the report's "Tags:" field, and set them in the
	Launchpad bug. Document this in doc/data-format.tex. Thanks to Steve
	Conklin for the patch!

=== 0.121 ===
2008-12-09  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1199] releasing version 0.121

2008-12-02  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1198] fix changelog

2008-12-01  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* debian/changelog,
	* doc/data-format.tex: [1197] apport/report.py, add_proc_environ(): Do
	not include verbatim $PATH, only classify it as "default" (does not
	appear at all then), "custom, user" (/home or /tmp in $PATH), or
	"custom, no user". Add appropriate test case. Update the data format
	documentation accordingly. (LP: #245263)

	* debian/apport.init,
	* debian/changelog: [1196] debian/apport.init: Make restart actually
	work if the default file was changed. (LP: #292402)

	* debian/apport.init,
	* debian/changelog: [1195] debian/apport.init: Drop long obsolete
	setting of /proc/sys/kernel/crashdump-size.

=== 0.120 ===
2008-11-26  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1194] releasing version 0.120

	* apport/hookutils.py: [1193] hookutils.py: Fix Lspci and Lsusb key
	names

	* apport/report.py: [1192] add_hook_info(): Fix error handling for
	binary hooks, too

	* apport/hookutils.py,
	* debian/changelog: [1191] apport/hookutils.py, _parse_gconf_schema():
	Correctly handle bool values.

	* apport/report.py,
	* debian/changelog: [1190] apport/report.py, add_hooks_info(): Do not
	print an error if a source package hook does not exist.

	* apport/report.py,
	* debian/changelog: [1189] apport/report.py: Also print exceptions
	from binary and source package hooks, not just from common ones.

	* apport/hookutils.py,
	* debian/changelog,
	* package-hooks/source_linux.py: [1188] * apport/hookutils.py: Add
	attach_network(), attach_alsa(), and   attach_hardware(), and add
	proper docstrings. Thanks to Matt Zimmerman for   the branch! *
	source_linux.py hook: Use above tool functions, which greatly
	simplifies   the hook.

2008-11-21  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/memory.py,
	* apport/ui.py,
	* debian/changelog: [1187] apport/crashdb_impl/memory.py: Use
	example.com, not bug.net, since the latter actually exists now.

2008-11-13  Martin Pitt <martin.pitt@canonical.com>

	* apport_python_hook.py,
	* bin/apport,
	* debian/changelog,
	* problem_report.py: [1186] * apport_python_hook.py, bin/apport:
	Create files in a race free way to   avoid symlink attacks. Thanks to
	Sebastian Kramer <krahmer@novell.com> for   finding them! *
	problem_report.py test suite: Create debugging leftover which left
	/tmp/r   behind.

2008-10-29  Martin Pitt <martin.pitt@canonical.com>

	* apport.init.opensuse,
	* apport.spec.opensuse,
	* apport/report.py,
	* backends/packaging_opensuse.py,
	* backends/packaging_rpm.py,
	* debian/changelog: [1185] * apport/report.py: Some distro portability
	fixes in the test suite, thanks   to Nikolay Derkach! * Add OpenSUSE
	spec file, init script, and RPM packaging backend. Thanks to   Nikolay
	Derkach!

	* apport/ui.py,
	* debian/changelog: [1184] apport/ui.py: Fix regression introduced in
	in 0.115 for checking successful package name determination.

	* apport/fileutils.py,
	* bin/apport: [1183] fileutils.py, get_config(): Support boolean
	values

	* bin/apport,
	* debian/changelog,
	* debian/control: [1182] bin/apport: Check config option "unpackaged",
	and if it is set to True, create a crash dump for unpackaged programs,
	too. Bump apport package dependency to python-apport for this.

	* apport/fileutils.py,
	* debian/changelog: [1181] apport/fileutils.py: Add new function
	get_options() to read ~/.config/apport/settings. In the future, the
	apport-ignore.xml file will move to this directory, too. Based on idea
	and initial patch from Nikolay Derkach.

2008-10-29  Martin Pitt <martin.pitt@canonical.com>

	* python-apport.spec.opensuse: Added.

	* apport.spec.opensuse: Modified.

	[1180] merge from opensuse branch

2008-10-29  Martin Pitt <martin.pitt@canonical.com>

	* apport.init.opensuse,
	* apport.spec.opensuse,
	* backends/packaging_opensuse.py: Added.

	* backends/packaging_fedora.py,
	* backends/packaging_rpm.py: Modified.

	* apport.spec: Renamed to apport.spec.fedora.

	[1179] merge from opensuse branch

2008-10-28  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* man/apport-cli.1: [1178] man/apport-cli.1: Fix "sytem" typo. (LP:
	#288977)

=== 0.119 ===
2008-10-23  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1177] releasing version 0.119

	* debian/apport.default,
	* debian/changelog: [1176] debian/apport.default: Disable Apport by
	default for the final release.

2008-10-15  Matt Zimmerman <mdz@canonical.com>

	* apport/hookutils.py: [1175] Remove unnecessary import of expat

2008-10-13  Matt Zimmerman <mdz@canonical.com>

	* apport/hookutils.py,
	* debian/changelog: [1174] apport/hookutils.py: add attach_gconf()
	function to add non-default gconf settings to a report

=== 0.117 ===
2008-10-07  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1173] releasing version 0.117

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1172] apport/crashdb_impl/launchpad.py, update():
	Set source package of a bug if the reporter removed it and the task is
	against 'Ubuntu'. (LP: #269045)

	* debian/changelog,
	* test-apport: [1171] test-apport, create_test_process(): Fix race
	condition: wait until the child process has fully execve()ed, to avoid
	coredumping it while it is still running as test-apport process.

	* bin/apport,
	* debian/changelog: [1170] bin/apport: Log that we are ignoring
	SIGABRT, since it is a common cause of confusion.

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1169] backends/packaging-apt-dpkg.py,
	is_distro_package(): Fix crash if apt.Cache()[pkg].origins is None.
	(LP: #279353)

=== 0.116 ===
2008-09-26  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1168] releasing version 0.116

	* debian/changelog,
	* debian/local/ubuntu-bug: [1167] debian/local/ubuntu-bug: Fix quoting
	of the command line arguments, so that several options do not end up
	as one big argument when being passed to apport-{cli,gtk,qt}. This
	also repairs launchpad-integration. (LP: #260242)

2008-09-21  Martin Pitt <martin.pitt@canonical.com>

	* AUTHORS,
	* cli/apport-cli,
	* debian/changelog,
	* debian/copyright,
	* qt4/apport-qt: [1166] Update AUTHORS and debian/copyright, Michael
	and Troy released their copyright to Canonical. Properly attribute
	them as authors in the respective files.

=== 0.115 ===
2008-09-19  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1165] releasing version 0.115

	* debian/changelog,
	* run-tests: [1164] run-tests: Provide a better error message if
	apport/packaging_impl.py does not exist.

2008-09-19  Martin Pitt <martin.pitt@canonical.com>

	* bin/kernel_oops: Added.

	* apport/report.py,
	* apport/ui.py,
	* debian/apport.install,
	* debian/changelog,
	* doc/data-format.tex,
	* problem_report.py,
	* setup.py,
	* test-hooks: Modified.

	[1163] Add bin/kernel_oops hook to capture a kernel oops (eg. via
	kerneloops)

2008-09-19  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1162] add bug # to changelog

2008-09-19  Matt Zimmerman <mdz@canonical.com>

	* debian/changelog,
	* general-hooks/automatix.py: [1161] Fix automatix.py to not crash
	when automatix isn't installed

	* apport/crashdb_impl/launchpad.py,
	* apport/ui.py,
	* problem_report.py,
	* test-hooks: [1160] Finish renaming Kernel to KernelCrash

	* debian/apport.install: [1159] Finish renaming kernel_hook

	* bin/kernel_crashdump,
	* debian/changelog: [1158] Change kernel crash report type to
	KernelCrash

2008-09-19  Matt Zimmerman <mdz@canonical.com>

	* debian/apport.init,
	* debian/changelog,
	* setup.py,
	* test-hooks: Modified.

	* bin/kernel_hook: Renamed to bin/kernel_crashdump.

	[1157] Rename kernel_hook to kernel_crashdump (there are other kernel
	hooks)

2008-09-19  Matt Zimmerman <mdz@canonical.com>

	* package-hooks/source_linux.py: [1156] Simplify test for Uname

2008-09-18  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1155] apport/crashdb_impl/launchpad.py: Add
	regression-retracer tag to bugs which seem to be a regression
	(duplicate, and crash happens in a later version than the fix). (LP:
	#271876)

2008-09-14  Martin Pitt <martin.pitt@canonical.com>

	* AUTHORS: [1154] AUTHORS: Troy James Sobotka released copyright to
	Canonical

2008-09-11  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* debian/changelog: [1153] apport/report.py: If we do not find a bug
	pattern file for the binary package, fall back to looking for one with
	the source package name.

2008-09-08  Martin Pitt <martin.pitt@canonical.com>

	* AUTHORS: Added.

	* debian/changelog: Modified.

	[1152] Add AUTHORS file for collecting the list of major contributors
	and copyright holders.

2008-09-05  Matt Zimmerman <mdz@canonical.com>

	* apport/hookutils.py: [1151] Wrap long lines

	* debian/changelog,
	* debian/local/ubuntu-bug: [1150] Extend ubuntu-bug to accept a path
	as an argument and look up the package name

	* apport/hookutils.py: [1149] Add recent_syslog to hookutils

2008-09-05  Matt Zimmerman <mdz@canonical.com>

	* apport/hookutils.py: Added.

	* debian/changelog: Modified.

	[1148] Add apport/hookutils.py with some convenience functions for
	writing hook scripts (work in progress)

=== 0.114 ===
2008-09-04  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1147] releasing version 0.114

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1146] apport/crashdb_impl/launchpad.py: If
	PackageArchitecture is 'all', fall back to looking at Architecture
	instead of not adding a needs-$ARCH-retrace tag at all. This prevented
	signal crashes originating from e. g. Python packages from being
	automatically retraced.

2008-09-02  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* debian/changelog: [1145] apport/report.py: If a hook crashes with an
	exception, print it to stderr, for easier debugging of hooks.

2008-09-01  Martin Pitt <martin.pitt@canonical.com>

	* doc/crashdb-conf.txt: Added.

	* apport/crashdb.py,
	* apport/ui.py,
	* debian/changelog,
	* doc/package-hooks.txt: Modified.

	[1144] * apport/crashdb.py: Add support for
	/etc/apport/crashdb.conf.d/*.conf crash   database configuration
	files. Document it in doc/crashdb-conf.txt. * apport/ui.py: Support a
	new field "CrashDB" in apport reports which select   a non-default
	crash database. Document this in doc/package-hooks.txt.

2008-09-01  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py,
	* debian/changelog: [1143] apport/ui.py: Use preferred browser when
	it's recognized as a Mozilla browser (firefox, seamonkey, flock) or
	Epiphany (LP: #131350)

2008-08-28  Anthony Mercatante <tonio@kubuntu>

	* debian/changelog,
	* debian/control: [1142] aport-qt recommends update-notifier-kde

=== 0.112 ===
2008-08-07  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1141] releasing version 0.112

	* apport/ui.py,
	* debian/changelog: [1140] apport/ui.py: Use gnome-panel as indicator
	for a running GNOME session; 'gnome-session' now calls itself x
	-session-manager, which isn't useful to tell apart session types.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1139] apport/crashdb_impl/launchpad.py: Update
	attachment handling to current python-launchpad-bugs API, thanks
	Markus Korn!

=== 0.111 ===
2008-08-05  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1138] releasing version 0.111

	* debian/changelog,
	* gtk/apport-gtk.glade,
	* qt4/apport-qt: [1137] gtk/apport-gtk.glade, qt4/apport-qt:
	Generalize notification of kernel crash, since it now happens after a
	boot, not right after the BUG/OOPS. But in the future we want to cover
	both cases.

	* debian/changelog,
	* debian/control: [1136] debian/control: Bump Standards-Version (no
	required changes).

	* apport/ui.py,
	* debian/changelog: [1135] apport/ui.py: Collect information for
	"ProblemType: Kernel" as well, so that we run the package hook. Adapt
	test suite to cover this.

	* bin/kernel_hook,
	* debian/apport.init,
	* debian/changelog,
	* test-hooks: [1134] * bin/kernel_hook, test-hooks: Throw away the
	original kernel hook which   we never used (and got superseded by the
	proper source_linux.py package   hook now). Replace it with the new
	logic of looking for   /var/crash/vmcore{,.log} and turning that into
	an apport report. * debian/apport.init: Call kernel_hook if
	/var/crash/vmcore exists.   (LP: #241322)

	* apport/ui.py: [1133] apport/ui.py: fix self.options.package
	stripping harder

	* apport/ui.py,
	* debian/changelog: [1132] apport/ui.py, add_hooks_info(): Collect OS
	info first, then call the package hooks, so that the linux hook
	actually has a chance to delete the Uname field.

	* apport/ui.py,
	* debian/changelog: [1131] apport/ui.py, run_report_bug(): Strip
	spaces from package argument.

	* debian/changelog,
	* package-hooks/source_linux.py: [1130] package-hooks/source_linux.py:
	Drop Uname, ProcVersion, and RunningKernelVersion fields, since they
	are all subsumed in the ProcVersionSignature field.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1129] apport/crashdb_impl/launchpad.py,
	download(): Support reading bugs with the "--- " separator instead of
	"ProblemType: ". Launchpad doesn't create bugs that way ATM, but at
	least we have the reading part implemented now.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1128] apport/crashdb_impl/launchpad.py: Do not
	write the "Date:" field on upload(), and fetch it from the bug
	metadata in download().

	* debian/changelog,
	* problem_report.py: [1127] problem_report.py, write_mime(): Add new
	"skip_keys" argument to filter out keys. Add test cases.

	* TODO: [1126] some TODO items

	* apport/crashdb_impl/launchpad.py,
	* apport/ui.py,
	* debian/changelog,
	* doc/data-format.tex: [1125] apport/ui.py: Drop the
	PackageArchitecture field for the uploaded report if it is equal to
	Architecture. Adapt apport/crashdb_impl/launchpad.py to fall back to
	Architecture, and mention the change in doc/data-format.tex.

	* debian/changelog,
	* debian/local/ubuntu-bug: [1124] debian/local/ubuntu-bug: If just one
	argument is given, infer -p/-P from the type of the argument.

	* apport/ui.py,
	* debian/changelog: [1123] apport/ui.py: "Do what I mean" when filing
	a bug against "linux" and report it against the actual kernel package.

2008-07-25  Martin Pitt <martin.pitt@canonical.com>

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1122] apport/packaging.py: Add
	get_kernel_package() to return the actual Linux kernel package name;
	useful if the user reports a bug against just "linux". Implement it in
	backends/packaging-apt-dpkg.py.

2008-07-24  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* debian/local/ubuntu-bug.1: [1121] debian/local/ubuntu-bug.1: Fix
	documentation of -p, it  specifies the binary package name, not the
	source.

2008-07-24  Martin Pitt <martin.pitt@canonical.com>

	* package-hooks/source_linux.py: Added.

	* debian/changelog: Modified.

	[1120] Add package-hooks/source_linux.py: Package hook for collecting
	kernel related information. By Matt Zimmerman, thank you! (LP:
	#251441)

2008-07-24  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* debian/changelog: [1119] apport/report.py,
	test_add_gdb_info_script(): Use bash, not dash as test program for
	core dumping; stack trace is awkwardly bad with dash, so that the test
	case cannot really work any more.

2008-07-23  Martin Pitt <martin.pitt@canonical.com>

	* debian/apport.default,
	* debian/changelog: [1118] debian/apport.default: Enable apport by
	default again, now that we have working retracers.

2008-07-15  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1117] debian/local/setup-
	apport-retracer: Fix installation of python-apt. Also install apt, to
	avoid library version mismatches to python-apt.

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1116] debian/local/setup-
	apport-retracer: Switch to intrepid.

2008-06-13  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* debian/changelog,
	* doc/data-format.tex: [1115] * apport/report.py, add_proc_info():
	Report the AppArmor or SELinux context   in a new ProcAttrCurrent
	field, read from /proc/pid/attr/current.   Document it in doc/data-
	format.tex. The field will not be added if the   proc attribute cannot
	be read or isn't present. Thanks to Steve Beattie   for the patch and
	the suggestion!

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1114] * apport/crashdb_impl/launchpad.py: Ignore
	broken LP bug tasks instead of   crashing on them.

2008-05-17  Martin Pitt <martin.pitt@canonical.com>

	* apport/ui.py,
	* debian/changelog: [1113] * apport/ui.py: Fix
	test_run_report_bug_unpackaged_pid() to work with the   installed run-
	tests from the package as well.

	* debian/changelog: [1112] release as 0.110 to intrepid

	* apport_python_hook.py,
	* debian/changelog: [1111] * apport_python_hook.py: Do not create
	reports if Apport is disabled (in   /etc/default/apport). (LP:
	#222260)

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1110] * apport/packaging.py: Introduce a new
	function enabled() which reports   whether Apport should create crash
	reports. Signal crashes are controlled   by
	/proc/sys/kernel/core_pattern, but we need that to control whether
	reports for Python, package, or kernel crashes are generated. *
	backends/packaging-apt-dpkg.py: Provide implementation for
	PackageInfo.enabled() for Debian/Ubuntu by evaluating
	/etc/default/apport.   Add various test cases for different
	configuration files and absent files.

2008-05-09  Martin Pitt <martin.pitt@canonical.com>

	* bin/crash-digger,
	* debian/changelog: [1109] * bin/crash-digger: Intercept exceptions
	when downloading crash reports for   duplicate checking, so that the
	retracer does not crash on malformed bug   reports. (LP: #205178)

2008-05-08  Martin Pitt <martin.pitt@canonical.com>

	* apport/chroot.py,
	* debian/changelog: [1108] chroot.py: test chmod and chown, too

	* apport/chroot.py: [1107] chroot.py: test rm -r, too

	* apport/chroot.py,
	* debian/changelog: [1106] * apport/chroot.py: In the test suite, copy
	some system binaries/libraries   into a fakechroot and exercise a lot
	of standard shell commands (cp, ln   -s, rm, mkdir, echo, etc.) with
	absolute/relative paths. This reproduces   the total breakage of
	rm'ing absolute paths in hardy fakechroots.

2008-05-05  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1105] release as 0.109 to intrepid

	* debian/changelog: [1104] add bug number

2008-04-29  Martin Pitt <martin.pitt@canonical.com>

	* apport/report.py,
	* debian/changelog: [1103] * apport/report.py, add_proc_info(): also
	strip pathnames starting with   'cow', 'squashmnt', and 'persistmnt'
	to allow apport to locate the   executable pathname, additionally to
	'rofs' added in 0.75.  This fixes   apport for packages installed on
	the read-write part of the unionfs mounts   and under UME which uses
	different names for the mount points.  Proper fix   is to rewrite the
	pathnames in the kernel.

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1102] * debian/local/setup-
	apport-retracer: Update for some changes in Hardy.

2008-04-16  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1101] release as 0.108 to hardy

	* debian/apport.default,
	* debian/changelog: [1100] * debian/apport.default: Disable Apport for
	the final Hardy release, since   it is less useful in stable releases,
	and drains a lot of CPU and I/O   power on crashes. Disabling it here
	instead of in update-notifier/adept is   more discoverable and more
	centralized.

	* cli/apport-cli,
	* debian/changelog,
	* gtk/apport-gtk,
	* qt4/apport-qt: [1099] * apport-{gtk,qt,cli}: Fix handling of file
	references added by package   hooks. (LP: #205163)

	* apport/REThread.py,
	* apport_python_hook.py,
	* bin/apport-retrace,
	* cli/apport-cli,
	* debian/changelog: [1098] merge bug fixes from Daniel Hahler

	* debian/changelog,
	* po/de.po: [1097] * po/de.po: Fix typo (missing space).

2008-04-08  Martin Pitt <martin.pitt@canonical.com>

	* backends/packaging_rpm.py,
	* debian/changelog: [1096] * backends/packaging_rpm.py: Fix RPM
	platform parsing, thanks to Patryk   Zawadzki! (LP: #213015)

	* backends/packaging_rpm.py,
	* debian/changelog: [1095] * backends/packaging_rpm.py: Fix dependency
	resolution of uname(*) in the   RPM backend. Thanks to Patryk
	Zawadzki! (LP: #213018)

2008-04-06  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1094] release as 0.107 to hardy

	* apport/ui.py,
	* debian/changelog,
	* debian/local/ubuntu-bug.1: [1093] * apport/ui.py: Disallow filing a
	bug without specifying a package or a PID.   Update debian/local
	/ubuntu-bug.1 accordingly (apport-cli manpage was   already correct).
	(LP: #210348)

2008-04-03  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog,
	* po/Makefile,
	* po/Makevars,
	* po/POTFILES.in: [1092] * po/Make{vars,file}: Remove the
	--language=python option again, since it   breaks extracting strings
	from the glade. intltool-update currently does   not seem to have a
	way to tag a file as "language python", so add an ugly   workaround:
	Create temporary .py symlinks for gtk/apport-gtk & friends,   and have
	intltool extract them.

	* debian/changelog,
	* po/de.po: [1091] Update German translations.

	* cli/apport-cli,
	* debian/changelog: [1090] * cli/apport-cli: Add translator comment
	for difficult string. (LP: #210948)

2008-04-01  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1089] release as 0.106 to hardy

	* apport/report.py,
	* apport/ui.py,
	* debian/changelog: [1088] * apport/ui.py: Add
	test_run_report_bug_unpackaged_pid() test case which   reports a bug
	against a pid which belongs to an unpackaged program. This
	reproduces LP #203764. * apport/report.py: Drop add_hooks_info()
	assertion on nonexisting Package   field, return silently instead.
	This conforms to the behaviour of the   other add_*_info() functions
	and avoids nasty error handling. * apport/ui.py: Generate proper error
	message when calling with -f -p PID   and PID belongs to an unpackaged
	program. (LP: #203764).

2008-03-25  Martin Pitt <martin.pitt@canonical.com>

	* apport_python_hook.py,
	* debian/changelog: [1087] * apport_python_hook.py: Catch IndexError
	for invalid sys.argv[0], too.   (LP: #204940)

2008-03-20  seb128@ubuntu.com

	* debian/changelog,
	* po/Makevars: [1086]   * po/Makevars: add the --language=python
	xgettext option so the translations     template is correctly updated
	on build since cdbs is using intltool-update     directly and not the
	corresponding makefile target

2008-03-19  Martin Pitt <martin.pitt@canonical.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1085] * apport/crashdb_impl/launchpad.py: Fix
	spelling mistake in p-lp-bugs API   (now corrected there).

2008-03-18  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1084] release as 0.105 to hardy

	* apport_python_hook.py,
	* debian/changelog: [1083] * apport_python_hook.py: If the Python
	script has mutilated sys.argv so that   even sys.argv[0] does not
	exist any more, fall back into readlink()ing   /proc/pid/exe and
	gracefully handle the failure of that, instead of   crashing in the
	crash handler (ugh). Add test case. (LP: #198183)

	* apport/ui.py,
	* debian/changelog: [1082] * apport/ui.py, run_crash(): Intercept
	other IOErrors, too (such as EISDIR)   and print out proper error
	message instead of crashing. (LP: #201819)

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1081] * backends/packaging-apt-dpkg.py,
	get_architecture(): Return 'unknown'   instead of None if package
	architecture cannot be determined.   (LP: #198548)

	* apport/report.py,
	* debian/changelog: [1080] * apport/report.py, anonymize(): Be robust
	against empty user names and only   anonymize fields which can
	potentially contain user specific data.   (LP: #195706)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1079] * apport/crashdb_impl/launchpad.py: Ignore
	ValueErrors when subscribing a   team, since these are usually due to
	the team already being subscribed.

2008-03-13  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1078] add missing bug number

	* debian/changelog: [1077] release as 0.104 to hardy

	* debian/changelog,
	* gtk/apport-gtk-mime.desktop.in,
	* qt4/apport-qt-mime.desktop.in: [1076] * gtk/apport-gtk-
	mime.desktop.in, qt4/apport-qt-mime.desktop.in: Add a main   category.

	* debian/changelog,
	* debian/control: [1075] * debian/control: Fix wrongly spelt project
	names (Python and GTK+). Thanks   to lintian's scrutiny.

	* debian/control: [1074] debian/control: -XS-Vcs-Bzr -> Vcs-Bzr

	* debian/changelog,
	* debian/control: [1073] * debian/control: Bump Standards-Version (no
	changes necessary).

	* apport/ui.py,
	* debian/changelog,
	* doc/package-hooks.txt: [1072] * apport/ui.py: If a report has a
	field "Ignore", entirely ignore the report   without even presenting
	an explanatory error dialog (as   "UnsupportableReason" does).
	Document this in doc/package-hooks.txt.

	* apport/report.py,
	* apport/ui.py,
	* debian/changelog: [1071] * apport/ui.py,
	test_collect_info_exepath(): Add a tuple argument and a
	CompressedValue to the test report. This reproduces LP #199349. *
	apport/report.py, anonymize(): Only work on string values. (LP:
	#199349)

	* apport/ui.py,
	* debian/changelog: [1070] * apport/fileutils.py, mark_report_seen():
	Do not crash if the file does not   exist any more, because it was
	removed underneath us. (LP: #199932)

	* apport/report.py,
	* apport/ui.py,
	* debian/changelog: [1069] * apport/report.py: Split out method
	add_proc_environ() for getting   ProcEnviron, so that we can call it
	separately. * apport/ui.py, run_report_bug(): Add ProcEnviron if we do
	not have a pid to   file a bug against. This way, bugs filed against
	packages or distro also   get locale information. (LP: #198514)

	* apport/ui.py,
	* debian/changelog: [1068] * apport/ui.py tests: assert that
	ProcEnviron is also included into bug   reports where we do not have a
	PID, since having the local information is   interesting and important
	(and acceptable in terms of personal   information).

	* apport/report.py,
	* debian/changelog,
	* problem_report.py: [1067] * apport/report.py: fix module license
	checking logic (LP: #199927).   - nonfree_modules: being unable to
	find a module should not mean the     module is non-free.   -
	test_module_license_evaluation: check modinfo reporting. *
	problem_report.py: Skip atime test case if file system is mounted
	noatime.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1066] * apport/crashdb_impl/launchpad.py,
	get_source_version(): re-escape the   package name so that it doesn't
	stumble over '+' and similar characters.

2008-02-25  Martin Pitt <martin.pitt@canonical.com>

	* debian/changelog: [1065] release as .103 to hardy

	* bin/apport-retrace,
	* debian/changelog: [1064] * bin/apport-retrace: Print out proper
	error message instead of an exception   if trying to do write
	operations to the bug tracker without specifying   a cookie file. (LP:
	#146423)

	* bin/apport-retrace,
	* debian/changelog: [1063] * bin/apport-retrace: Only update a bug
	report with new attachments if it is   not a duplicate. (LP: #172792)

	* apport/report.py,
	* apport/ui.py,
	* apport_python_hook.py,
	* debian/changelog: [1062] * apport/ui.py: Add test case
	test_run_crash_anonymity() which asserts that   the crash dump does
	not contain strings which can identify the user, such   as the user
	name, login name, host name, and current directory. *
	apport/report.py: Add method anonymize() which replaces user specific
	strings with generic ones. * apport/ui.py, thread_collect_info(): Call
	anonymize() on the report.   (LP: #192786)

	* debian/changelog,
	* problem_report.py: [1061] * problem_report.py(): Make write() work
	for reports with CompressedValues.   Add test case.

	* apport/report.py,
	* debian/changelog,
	* doc/data-format.tex: [1060] * apport/report.py: Use uname -srm, not
	-a, to hide the hostname. (part of   LP #192786); also use os.uname()
	instead of calling the system program.

	* apport/report.py,
	* debian/changelog,
	* doc/data-format.tex: [1059] * apport/report.py: Use uname -srmo, not
	-a, to hide the hostname. (part of   LP #192786)

	* apport/ui.py,
	* debian/changelog: [1058] * apport/ui.py, parse_argv(): Specify that
	--pid/-P argument must be an   integer, to avoid exceptions when it's
	not. (LP: #193494)

	* apport/report.py,
	* debian/changelog: [1057] * apport/report.py: Add standard_title()
	test cases for Python crashes with   a custom message, and a custom
	message with newlines. The latter   reproduces LP #190947. *
	apport/report.py, standard_title(): Do not rely on a fixed position of
	the   topmost function; use iteration and regular expression matching
	instead.   (LP: #190947)

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [1056] * backends/packaging-apt-dpkg.py,
	is_distro_package(): Explicitly check site   for "ppa", so that we do
	not automatically file bugs for PPA packages.   This works around
	Soyuz bug LP #140412 for the time being.

2008-02-06  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-unpack,
	* debian/changelog: [1055] * bin/apport-unpack: Print error messages
	instead of crashing for problems   like nonexisting file names passed
	as arguments. (LP: #185273)

	* debian/changelog: [1054] release as 0.102 to hardy

	* apport/ui.py,
	* debian/changelog,
	* man/apport-cli.1: [1053] * apport/ui.py: Waive check for obsolete
	packages if environment defines   $APPORT_IGNORE_OBSOLETE_PACKAGES.
	Document this in the apport-cli manpage.   (LP: #148064)

	* apport/ui.py,
	* cli/apport-cli,
	* debian/changelog: [1052] * apport/ui.py, run_argv(): Add return code
	which indicates whether any   report has been processed. * cli/apport-
	cli: If no pending crash reports are present, say so and refer   to
	--help. (LP: #182985)

	* bin/apport-checkreports,
	* debian/changelog: [1051] * bin/apport-checkreports: Print out a list
	of program names/packages which   have a pending crash report. (LP:
	#145117)

	* cli/apport-cli,
	* debian/changelog: [1050] * cli/apport-cli: Intercept SIGPIPE when
	calling sensible-pager, to avoid   crash when quitting it prematurely.
	(LP: #153872)

	* apport/ui.py,
	* debian/changelog: [1049] * apport/ui.py: Add various test cases for
	crash reports whose packages have   been uninstalled between the crash
	and the report. This reproduces   LP #186684. * apport/ui.py,
	load_report(): Produce proper error message if
	executable/interpreter path do not exist any more. (LP: #186684)

	* apport/ui.py,
	* debian/changelog: [1048] * apport/ui.py: Do not include ProcCmdline
	in bug reports, since these are   not ack'ed by the user and might
	contain sensitive data. (LP: #132800)

2008-02-05  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py,
	* debian/changelog: [1047] * apport/ui.py: Give a meaningful error
	message instead of crashing if the   package for a crash report is not
	installed any more. (LP: #149739)

2008-02-05  Martin Pitt <martin.pitt@ubuntu.com>

	* qt4/apport-qt-mime.desktop.in,
	* qt4/apport-qt-mimelnk.desktop.in: Added.

	* debian/apport-qt.install,
	* debian/changelog,
	* debian/rules,
	* gtk/apport-gtk-mime.desktop.in,
	* qt4/Makefile,
	* qt4/apport-qt.desktop.in: Modified.

	[1046] * .crash file integration for KDE3 (LP: #177055)   - debian
	/apport-qt.install: install added files qt4/apport-qt-mime.desktop
	and qt4/apport-qt-mimelnk.desktop * Fixed minor warnings/errors from
	desktop-file-validate in   gtk/apport-gtk-mime.desktop.in and qt4
	/apport-qt.desktop.in (LP: #146957)

2008-02-05  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py,
	* debian/changelog: [1045] * apport/ui.py, run_crash(): Catch
	zlib.error on invalidly compressed core   dumps. (LP: #176977)

	* debian/apport.init,
	* debian/changelog: [1044] * debian/apport.init: Do not stop apport in
	any runlevel (LSB header).

	* debian/changelog,
	* debian/rules: [1043] * debian/rules: Use dh_icons instead of
	dh_iconcache.

	* debian/changelog,
	* debian/control,
	* debian/rules,
	* run-tests: [1042] * debian/control, debian/rules: Switch from
	python-support to   python-central, and use 'nomove' option so that
	apport works during   upgrades, too. (LP: #121341)

	* debian/changelog,
	* problem_report.py: [1041] * problem_report.py: Support reading
	reports with legacy zlib   compression in 'retain compressed values'
	mode (as used nowadays by   apport when reporting a crash). Add a test
	case, too. (LP: #129616)

2008-01-23  martin@piware.de

	* debian/changelog: [1040] release as 0.101 to hardy

	* apport/report.py,
	* debian/changelog: [1039] * apport/report.py: Fix
	test_add_gdb_info_load() test case, the temporary   executable was
	already deleted when gdb ran the second time.

2008-01-22  martin@piware.de

	* apport/ui.py,
	* debian/changelog: [1038] * apport/ui.py: Add test case for reporting
	a report which has been   preprocessed by apport-retrace, i. e. has a
	stack trace, but no core dump   any more (reproducing LP #185084). *
	apport/ui.py, run_crash(): Do not reject reports which have a stack
	trace,   but no core dump. (LP: #185084)

2007-12-27  martin@piware.de

	* debian/changelog,
	* debian/control: [1037] * debian/control: Add python-xdg dependency
	to apport, since apport-cli   needs it. (LP: #177095)

2007-12-21  martin@piware.de

	* debian/changelog: [1036] release as 0.100 to hardy

	* TODO,
	* debian/apport.init,
	* debian/changelog,
	* use-local: [1035] * debian/apport.init, use-local: Now call apport
	with %p, %s, and %c kernel   macros (since 2.6.24). Drop Edgy support
	from init script.

2007-12-21  martin@piware.de

	* apport/elfcore.py: Removed.

	* bin/apport,
	* debian/changelog,
	* test-apport: Modified.

	[1034] * bin/apport: Drop evaluation of CORE_* environment variables
	and mandate   calling with <pid> <signal> <core ulimit>. Drop the now
	obsolete   apport/elfcore.py. Adapt test-apport accordingly.

2007-12-21  martin@piware.de

	* apport/ui.py,
	* debian/changelog: [1033] * apport/ui.py: Sleep for 0.5 seconds after
	creating the test process in the   test suite to give /proc some time
	to settle down.

	* apport/ui.py,
	* debian/changelog: [1032] * apport/ui.py: Robostify cleanup of forked
	test processes.

2007-11-30  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1031] * debian/local/setup-
	apport-retracer: Update default apt sources to
	http://ddebs.ubuntu.com.

2007-11-27  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1030] * apport/crashdb_impl/launchpad.py:
	get_source_info() does not work any more   due to HTML changes in
	Launchpad, and not showing the component any more   on
	/distro/+source/package. Since we do not actually need component and
	release name any more, rename it to get_source_version(), fix the
	regular   expression to just get the version, and adapt
	get_fixed_version()   accordingly.

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1029] * debian/local/setup-
	apport-retracer: Update for hardy.

2007-11-19  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* problem_report.py: [1028] * problem_report.py: Add test case to
	check that update() works and does the   right thing with binary
	values and overwriting. This confirms that   importing a dictionary
	works.

2007-10-31  martin@piware.de

	* apport/report.py,
	* debian/changelog,
	* problem_report.py: [1027] * apport/report.py testsuite: Check that
	our methods get along with binary   data which turn into
	CompressedValue objects after loading them from a   file. This
	reproduces LP #148305. * problem_report.py, CompressedValue: Add
	method splitlines() since we need   it very often. Add test case to
	test_compressed_values(). (LP: #148305)

	* bin/apport,
	* debian/changelog: [1026] * bin/apport: Do not re-raise exceptions
	about failure to create the lock   file, to avoid crashing in the case
	that another apport instance tries to   lock at exactly the same
	moment. (LP: #147237)

2007-10-30  martin@piware.de

	* bin/crash-digger,
	* debian/changelog,
	* test-crash-digger: [1025] * bin/crash-digger: Add option --log for
	logging to a file, and   --pidfile/--stop for daemonization. Add test
	cases to test-crash-digger.

2007-10-29  martin@piware.de

	* debian/changelog: [1024] release as 0.99 to hardy

2007-10-28  martin@piware.de

	* run-tests: [1023] run-tests: only check crash-digger in local mode

	* apport/fileutils.py,
	* apport/ui.py,
	* debian/changelog: [1022] * apport/ui.py: Only import
	xdg.DesktopEntry when a .desktop file has been   found in the affected
	package. This avoids the dependency on servers with   just apport-cli.
	Thanks, Matthias Gug! (LP: #130013) * apport/fileutils.py: Do not fail
	if there are no packages installed which   have one or several
	.desktop files. Thanks, Matthias Gug!

	* debian/changelog,
	* qt4/apport-qt: [1021] * qt4/apport-qt: Fix Unicode <-> UTF-8
	conversion. Thanks, Daniel Hahler!   (LP: #148177)

	* debian/changelog,
	* gtk/apport-gtk.glade: [1020] * gtk/apport-gtk.glade: Fix title of
	upload progress window to comply to   HIG. Thanks, Bruce Cowan. (LP:
	#144782)

	* apport/ui.py,
	* debian/changelog: [1019] * apport/ui.py, run_crash(): Intercept
	ENOSPC and present a proper error   message. (LP: #145100)

	* cli/apport-cli,
	* debian/changelog: [1018] * cli/apport-cli,
	ui_present_package_error(): Fix running of dialog, so that   reporting
	package problems with apport-cli actually works. (LP: #136369)

	* apport/ui.py,
	* debian/changelog: [1017] * apport/ui.py, run_crash(): Intercept CRC
	errors from the info collection   thread, which happens on broken core
	dumps. (LP: #132212)

2007-10-28  martin@piware.de

	* test-crash-digger: Added.

	* debian/changelog,
	* run-tests: Modified.

	[1016] * Add test-crash-digger: Initial test suite for bin/crash-
	digger.

2007-10-28  martin@piware.de

	* bin/crash-digger,
	* debian/changelog: [1015] * bin/crash-digger: Use self.log() more
	consistently, and flush stdout in   log(), so that we do not lose logs
	on output redirection.

	* apport/crashdb_impl/memory.py: [1014] apport/crashdb_impl/memory.py:
	do only mark Python crashes as "needs duplicate check"

2007-10-26  martin@piware.de

	* apport/crashdb_impl/memory.py: [1013] apport/crashdb_impl/memory.py:
	add DistroRelease fields to dummy data

	* apport/crashdb_impl/memory.py,
	* debian/changelog: [1012] * apport/crashdb_impl/memory.py: Support
	'dummy_data' option which adds a   few dummy crashes by default. This
	is useful for external test suites   which cannot otherwise pre-fill
	the in-memory db. Add checks that this   works properly.

	* apport/crashdb_impl/memory.py,
	* debian/changelog: [1011] * apport/crashdb_impl/memory.py: Implement
	mark_retraced(),   get_unretraced(), and get_dup_unchecked() for
	completeness, and define   _MemoryCrashDBTest also when not running
	file as __main__. This makes the   class useful for higher-level test
	suites. Add test cases for the new   functions.

	* apport/ui.py,
	* debian/changelog: [1010] * apport/ui.py, run_crash(): Show a proper
	UI error message instead of just   crashing with an exception if the
	crash report is inaccessible for the   invoking user. (LP: #146464)

	* apport_python_hook.py,
	* debian/changelog: [1009] * apport_python_hook.py: Add user info,
	too. Also add check for this to the   test suite. (LP: #145109)

	* cli/apport-cli,
	* debian/changelog,
	* po/de.po,
	* qt4/apport-qt: [1008] * cli/apport-cli, qt4/apport-qt: Fix typo
	'send' -> 'sent'.   (LP: #139288)

2007-10-06  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [1007] release as 0.98 to gutsy

2007-10-04  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1006] * Use bugs.launchpad.net for +filebug and
	+bugs requests. (LP: #138090)

2007-10-01  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/crash-digger,
	* debian/changelog: [1005] * bin/crash-digger: Only consolidate the
	duplicate DB when -i is given (i.   e. usually only on one running
	instance).

	* apport/crashdb_impl/memory.py: [1004] apport/crashdb_impl/memory.py:
	add disabled test case for locking of consolidation

2007-09-10  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1003] * apport/crashdb_impl/launchpad.py,
	close_duplicate(): Explicitly set the   duplicate after removing
	attachments, since the new LP does not allow any   modification of
	duplicate bugs.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog,
	* debian/control: [1002] * apport/crashdb_impl/launchpad.py,
	download(): Use Bug.description_raw,   since LP mangles spaces in
	.description. Bump p-lp-bugs dependency.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [1001] * apport/crashdb_impl/launchpad.py, test
	examples: Do not duplicate to bug   #1, that generates a huge amount
	of spam. Use another test bug.

	* debian/changelog,
	* debian/local/setup-apport-retracer: [1000] * debian/local/setup-
	apport-retracer: launchpadBugs -> launchpadbugs   (recently renamed
	Python package in python-launchpad-bugs).

	* TODO: [999] TODO item

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog,
	* debian/control: [998] Merge Markus' and Daniel's porting to new p
	-lp-bugs

2007-08-22  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [997] * debian/local/setup-
	apport-retracer: Adapt ddeb apt source for the move   from ~pitti to
	~ubuntu-archive.

2007-08-21  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* problem_report.py: [996] * problem_report.py: Coerce
	CompressedValue.__len__() to return an int to   work on Python 2.4,
	too.

	* debian/changelog: [995] release as 0.96 to gutsy

	* apport/crashdb.py,
	* debian/changelog: [994] * apport/crashdb.py: Drop the last argument
	(-1), since it is the default   anyway and did not yet exist on Python
	2.4.

2007-08-21  Martin Pitt <martin.pitt@ubuntu.com>

	* man/apport-chroot.1: Added.

	* debian/apport-retrace.manpages,
	* debian/changelog: Modified.

	[993] add manpage for apport-chroot

2007-08-21  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* problem_report.py: [992] * problem_report.py, write_mime(): Use
	base64 encoding for gzipped   attachments, to not screw up mail
	servers. Thanks to Tim Yamin for this   patch!

	* problem_report.py: [991] problem_report.py: fix syntax for older
	Python versions

2007-08-20  Martin Pitt <martin.pitt@ubuntu.com>

	* man/apport-retrace.1: [990] apport-retrace.1: document --duplicate-
	db

2007-08-15  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/local/setup-apport-retracer: [989] setup-apport-retracer: use
	--print-architecture

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog,
	* debian/local/setup-apport-retracer: [988] *
	apport/crashdb_impl/launchpad.py, debian/local/setup-apport-retracer:
	Use   packaging.get_system_architecture() (which is dpkg --print-
	architecture on   Debian/Ubuntu) instead of uname, so that this does
	the right thing on lpia.

	* apport/fileutils.py,
	* debian/changelog: [987] * apport/fileutils.py, find_file_package():
	Try to resolve symlinks in the   directory path. (LP: #125551)

2007-08-15  Martin Pitt <martin.pitt@ubuntu.com>

	* man/apport-cli.1,
	* man/dupdb-admin.1: Added.

	* debian/apport-retrace.manpages,
	* debian/apport.manpages,
	* debian/changelog: Modified.

	[986] * Create man pages for apport-cli, dupdb-admin.

2007-08-11  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [985] release as 0.95 to gutsy

	* debian/changelog,
	* debian/rules: [984] * debian/rules: Blacklist wine-preloader, so
	that we ignore wine crashes   until an appropriate way is found to
	deal with them. (Point 6 of   apport-better-retracing spec.)

2007-08-11  Martin Pitt <martin.pitt@ubuntu.com>

	* doc/README.blacklist: Added.

	* TODO,
	* apport/report.py,
	* debian/changelog,
	* setup.py: Modified.

	[983] * apport/report.py: Support system-wide blacklisting:
	/etc/apport/blacklist.d/. Add test cases. * Add doc/README.blacklist:
	Document blacklist.d/, install it there in   setup.py.

2007-08-01  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* general-hooks/automatix.py: [982] * general-hooks/automatix.py:
	Remove hashbang, it's not an executable   script.

2007-07-31  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [981] release as 0.94 to gutsy

	* debian/control: [980] bump p-problem-report dependency

	* apport/ui.py,
	* cli/apport-cli,
	* debian/changelog,
	* gtk/apport-gtk,
	* qt4/apport-qt: [979] * apport/ui.py: Load crash report with keeping
	compressed binaries. This   avoids loading the entire uncompressed
	core dump into memory, and avoids   recompressing it all over again
	for generating the crash database upload   MIME document. This greatly
	speeds up crash reporting, too. (LP: #98562)

	* apport/report.py,
	* debian/changelog: [978] * apport/report.py, add_gdb_info(): Make
	function work if CoreDump is a   compressed value.

	* problem_report.py: [977] problem_report.py: Add
	CompressedValue.__len__

	* problem_report.py: [976] problem_report.py: remove property, they
	are broken; add CompressedValue.write()

	* debian/changelog,
	* problem_report.py: [975] * problem_report, write_mime(): Make
	function work for compressed binary   values. Add test case.

	* debian/changelog,
	* problem_report.py: [974] * problem_report, write_mime(): Eliminate
	unnecessary usage of StringIO.

	* problem_report.py: [973] problem_report.py, CompressedValue: add
	default value ctor argument

	* problem_report.py: [972] problem_report.py: Enrich CompressedValue
	interface a bit, add test cases

	* debian/changelog,
	* problem_report.py: [971] * problem_report.py, write(): Add new
	permitted 'binary' argument value   'compressed', which retains gzip
	compressed binary values instead of   unpacking them transparently.
	Add test cases.

	* debian/changelog,
	* doc/data-format.tex,
	* problem_report.py: [970] * problem_report.py: Switch encoding of
	binary values from bare zlib to   proper gzip format, since this is
	much more useful when reusing the   compressed value. Retain support
	for zlib-only reports. Add test cases for   both old and new
	encodings, and adapt the other test cases for the new   format. Update
	doc/data-format.tex accordingly.

	* apport/report.py,
	* debian/changelog: [969] * apport/report.py, test_add_proc_info():
	Fix determination of /bin/zgrep   interpreter.

2007-07-30  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py: [968] fix comment in report.py

	* debian/changelog,
	* problem_report.py: [967] * problem_report.py: Remove support for
	reading bz2 compressed binary data.   That was only relevant during
	edgy's development cycle.

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* apport/ui.py,
	* debian/changelog,
	* debian/control: [966] * apport/crashdb.py: Add a second optional
	parameter to upload() to specify   an upload progress callback
	function. Adapt the declarations in the   Launchpad and Memory
	implementations, too. * apport/crashdb_impl/launchpad.py, upload():
	Pass upload progress callback   handler to
	launchpadBugs.storeblob.upload(), which supports this since   version
	0.2~39. Bump dependency to it accordingly. * apport/ui.py,
	file_report(): Define an upload progress callback handler,   pass it
	to the crashdb upload(), and feed ui_set_upload_progress() with   some
	actual data. (LP: #91521)

	* test-apport: [965] fix test-apport for running packaged apport from
	the test suite

	* debian/changelog,
	* run-tests: [964] * run-tests: In 'local' mode, only explicitly run
	the apt/dpkg   implementation instead of backends/*, since the RPM
	ones don't have tests   yet.

2007-07-30  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/gcc_ice_hook: Added.

	* debian/apport.install,
	* debian/changelog,
	* setup.py,
	* test-hooks: Modified.

	[963] * Add bin/gcc_ice_hook: Script to create an apport report for a
	gcc ICE   (internal compiler exception). Add test cases to test-hooks,
	and ship it   in the 'apport' package. (LP: #125551)

2007-07-27  Martin Pitt <martin.pitt@ubuntu.com>

	* test-apport: [962] ./test-apport: fix variable name in lib mode

	* bin/apport,
	* debian/changelog,
	* test-apport: [961] make apport locking safe against symlink attacks,
	add test suite check

	* bin/apport,
	* debian/changelog: [960] * bin/apport: Implement lock file checking
	to avoid running several apport   instances at the same time. (LP:
	#119622)

	* debian/changelog,
	* test-apport: [959] * test-apport: Add check that apport aborts
	immediately if another apport   instance is already running.

	* TODO,
	* apport/report.py,
	* debian/changelog: [958] * apport/report.py, obsolete_packages(): Fix
	crash when apt does not know an   available version of a package. (LP:
	#128176)

	* TODO: [957] remove obsolete TODO item

2007-07-25  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* doc/data-format.tex: [956] * doc/data-format.tex: Some updates to
	incorporate feedback from Gnome   upstream:   - Do not talk about
	"Distributions" any more, but "Operating systems".     Gnome is used
	on non-Linux OSs, too.   - Split "DistroRelease:" field into "OS:" and
	"OSRelease:".   - Explicitly mention that CoreDump, StackTrace etc.
	can also contain     minidump output.   - Increase document version to
	0.2.

	* debian/changelog: [955] release as 0.93 to gutsy

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [954] * apport/crashdb_impl/launchpad.py: Add
	function get_source_info() which   parses out release, version, and
	component from   https://launchpad.net/$DISTRO/+source/$PACKAGE. *
	apport/crashdb_impl/launchpad.py, get_fixed_version(): If a bug is
	fixed,   return the current version (as approximation of the version
	where the bug   was fixed), instead of an empty string (which meant
	'fixed in unknown   version'). [apport-crash-duplicates spec]

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [953] * apport/crashdb_impl/launchpad.py: Fix typo
	in bug comment string.

	* bin/dupdb-admin,
	* debian/changelog: [952] * bin/dupdb-admin, command_dump(): Correctly
	interpret empty version strings   as 'fixed in unknown verrsion', not
	'unfixed'.

	* apport/crashdb.py,
	* debian/changelog: [951] * apport/crashdb.py: Set sqlite connect
	timeout to two hours, instead of the   default 5 seconds. Previously,
	one retracer always crashed when the other   was consolidating the
	database.

2007-07-24  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [950] release as 0.92 to gutsy

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [949] * apport/crashdb_impl/launchpad.py,
	update(): Set bug importance to Medium   if retracing was successful.
	(LP: #106379)

	* apport/report.py,
	* debian/changelog: [948] * apport/report.py, crash_signature():
	Generate a signature for one-line   Python tracebacks, too. This
	sometimes seems to happen, e. g. LP#124588.   (LP: #125020)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [947] * apport/crashdb_impl/launchpad.py,
	__init__(): Only do the "download bug   #2" hack if we actually have
	an authentication cookie. Thus, do it only on   the retracing servers,
	not on the client side. (LP: #125142)

	* debian/changelog,
	* preloadlib/Makefile,
	* preloadlib/libapport.c,
	* test-apport: [946] * Revive preloadlib/:   - Remove PIPE_CORE
	#ifdefs and make them the default. We do not need to     support the
	Edgy kernel patches in this version any more.   - Install signal
	handler for SIGABRT, too.   - Read core ulimit, pass it to apport in
	CORE_REAL_RLIM, and set it to     zero for the program, since we do
	not actually want the kernel to write     core files when we pipe the
	core dump to apport.   - test-apport: Pass APPORT_REPORT_DIR to the
	manually called apport     instance in the memory clipping test;
	otherwise it'll write into     /var/crash/, which we do not consider
	in library mode.

	* apport/ui.py,
	* debian/changelog: [945] * apport/ui.py, collect_info(): Collect
	additional information for 'Package'   problem reports, too.

	* apport/ui.py,
	* debian/changelog: [944] * apport/ui.py, test_run_crash_package():
	Check that 'Package' problem   reports collect additional information,
	too.

	* debian/changelog,
	* doc/package-hooks.txt: [943] * doc/package-hooks.txt: Do not
	document UnsupportableReason, since it does   not make sense to set it
	in package hooks (it is checked before calling   the hooks). Hooks
	should use UnreportableReason only.

2007-07-24  Martin Pitt <martin.pitt@ubuntu.com>

	* general-hooks,
	* general-hooks/automatix.py: Added.

	* debian/apport.dirs: Removed.

	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[942] * Add general-hooks/automatix.py: Refuse to send problem reports
	if   automatix is installed.

2007-07-24  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py,
	* debian/changelog: [941] * apport/ui.py, __init__(): Intercept
	ImportError, which can happen for   crashes during system upgrades.
	(LP: #124354)

2007-07-23  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-unpack,
	* debian/changelog: [940] * bin/apport-unpack: Fix format string in
	error message.

2007-07-22  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [939] * apport/crashdb_impl/launchpad.py,
	get_unfixed(): Search for 'apport-crash'   tag, not 'apport'.

2007-07-20  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/crash-digger,
	* debian/changelog: [938] * bin/crash-digger: Add option -i/--arch-
	indep-dupcheck to explicitly enable   duplicate checking of arch-
	independent crashes like Python exceptions. We   only want to process
	them on one architecture to avoid scattering the   duplicate database.

	* debian/local/ubuntu-fat-chroot: [937] debian/local/ubuntu-fat-
	chroot: remove explicit ucf install, not necessary with diversion

	* debian/changelog,
	* debian/local/setup-apport-retracer: [936] * debian/local/setup-
	apport-retracer: launchpad-crash-digger ->   crash-digger.

	* debian/changelog,
	* debian/local/ubuntu-fat-chroot: [935] * debian/local/ubuntu-fat-
	chroot: Use diversions for the binaries we want to   disable, so that
	chroot upgrades do not trash the modifications.

2007-07-20  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: Modified.

	* bin/ubuntu-fat-chroot: Renamed to debian/local/ubuntu-fat-chroot.

	[934] * Move ubuntu-fat-chroot from bin/ to debian/local/, since it is
	so heavily   Ubuntu specific.

2007-07-20  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/crash-digger,
	* debian/changelog: [933] * bin/crash-digger: Do not crash if
	duplicate db is locked when attempting   to consolidate it. This
	happens often because in the DC we have two   parallel instances (for
	amd64 and i386).

2007-07-14  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [932] release as 0.91 to gutsy

2007-07-14  martin@piware.de

	* TODO,
	* apport/crashdb.py,
	* bin/dupdb-admin,
	* debian/changelog: [931] * Add bin/dupdb-admin: Initial version of
	duplicate db CLI app; can dump the   db, display consolidation state,
	and change master bug IDs for now. Ship   it in apport-retrace.

	* apport/crashdb.py,
	* apport/crashdb_impl/memory.py,
	* debian/changelog: [930] * apport/crashdb.py: Add
	duplicate_db_change_master_id() to change the   master ID of a crash.
	Add test case to apport/crashdb_impl/memory.py.

	* debian/changelog: [929] fix changelog typo

	* apport/ui.py,
	* debian/changelog: [928] * apport/ui.py, open_url(): Intercept weird
	race condition for os.close()   trying to close an already invalidated
	fd. (LP: #123180)

	* apport/fileutils.py,
	* debian/changelog: [927] * apport/fileutils.py, likely_packaged():
	Ignore /var/lib/schroot. Add test   case. (LP: #122859)

	* apport/ui.py,
	* debian/changelog: [926] * apport/ui.py, run_report_bug(): Do not
	crash if the target process runs as   a different user. Print a proper
	error message instead. Add test case
	test_run_report_bug_noperm_pid(). (LP: #121121)

	* apport/fileutils.py,
	* debian/changelog: [925] * apport/fileutils.py, mark_report_seen():
	Do not crash if the file has   already been deleted underneath us.
	(LP: #122347)

	* apport/ui.py,
	* debian/changelog: [924] * apport/ui.py:   -
	test_run_report_bug_package(): Add test case for calling the UI in bug
	filing mode with an invalid package name.   - run_report_bug(): Do not
	crash on invalid package name, generate an     error message instead.
	(LP: #123644)

2007-07-13  martin@piware.de

	* bin/crash-digger,
	* debian/changelog: [923] * bin/crash-digger: Fix dumping of dup db
	after consolidation.

	* apport/crashdb.py,
	* debian/changelog: [922] * apport/crashdb.py,
	duplicate_db_last_consolidation(): Fix timedelta   seconds calculation
	to actually take the days into account, too.

2007-07-13  martin@piware.de

	* bin/dupdb-admin: Added.

	* debian/apport-retrace.install,
	* debian/changelog,
	* setup.py: Modified.

	[921] * Add bin/dupdb-admin: Initial version of duplicate db CLI app;
	can only   dump the db and display consolidation state for now, but
	will grow more   features later. Ship it in apport-retrace.

2007-07-13  martin@piware.de

	* apport/crashdb.py,
	* debian/changelog: [920] * apport/crashdb.py: Split out
	duplicate_db_last_consolidation() for getting   the date (or seconds
	since) the last consolidation, so that we can use it   externally.

2007-07-12  martin@piware.de

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [919] * apport/crashdb_impl/launchpad.py,
	close_duplicate(): If the master bug is   already duped to yet another
	bug, mark the bug to that one instead of the   master.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [918] * apport/crashdb_impl/launchpad.py,
	close_duplicate(): Delete some   attachments, as specified in apport-
	crash-duplicates spec, and make the   bug public afterwards.

2007-07-11  martin@piware.de

	* TODO: [917] TODO item

2007-07-11  martin@piware.de

	* apport.init.fedora,
	* apport.spec,
	* apport/elfcore.py,
	* backends/packaging_fedora.py,
	* backends/packaging_rpm.py: Added.

	* bin/apport,
	* crashdb.conf,
	* debian/changelog: Modified.

	[916] Merge the fedora branch, thanks a lot to Will Woods
	wwoods@redhat.com>: * Add apport.init.fedora: Fedora specific init
	script. * Add apport.spec: RPM build recipe. * Add
	backends/packaging_rpm.py: Partial implementation of the packaging
	backend for RPM which applies to all RPM-based distros. * Add
	backends/packaging_fedora.py: Concrete packaging backend
	implementation for Fedora. * apport/elfcore.py: Classes for parsing
	general ELF files, and information   from core dumps. * bin/apport:
	Fall back to reading signal number and PID directly from the   core
	file (via elfcore.py) if CORE_SIGNAL and CORE_PID are not defined (i.
	e. when running on a non-Ubuntu kernel). * crashdb.conf: Add stanzas
	for Fedora and a 'debug' database which uses the   'memory' crashdb
	implementation.

2007-07-10  martin@piware.de

	* bin/apport,
	* debian/changelog: [915] * bin/apport: Remove code that supported the
	Edgy kernel way of core dump   passing. Also factorize the
	CORE_REAL_RLIM evaluation, since it is likely   to change in the near
	future.

	* debian/changelog: [914] release as 0.90 to gutsy

2007-07-10  martin@piware.de

	* debian/apport.dirs: Added.

	* TODO,
	* apport/report.py,
	* debian/changelog,
	* doc/package-hooks.txt: Modified.

	[913] * apport/report.py: Support another hook directory
	/usr/share/apport/general-hooks/ for scripts which are run for every
	problem report. This was requested for adding e. g. AppArmor logs,
	etc.   Add test cases. * Add debian/apport.dirs again to ship that
	hook directory. * doc/package-hooks.txt: Document the general hooks.

2007-07-10  martin@piware.de

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [912] * apport/crashdb_impl/launchpad.py: Simplify
	_subscribe_triaging_team(), now   that we do not differ between main
	and universe policies any more.

	* po/de.po: [911] update po/de.po

	* TODO,
	* cli/apport-cli,
	* debian/changelog: [910] * cli/apport-cli: Add option for keeping the
	report file without sending it,   and to display its path. This is for
	sending the report later, copying   it from a server to a workstation
	with internet connection, etc.

	* po/de.po: [909] Fix amgiguous keyboard shortcut in de.po

	* po/de.po: [908] fix format string error in de.po

	* debian/changelog,
	* po/de.po: [907] * po/de.po: Updated for apport-cli.

	* debian/changelog,
	* po/POTFILES.in: [906] * po/POTFILES.in: Add missing cli/apport-cli.

	* po/de.po: [905] po/de.po: Fix typo

	* apport/ui.py,
	* debian/changelog: [904] * apport/ui.py: Do not ask the initial "Do
	you want to report this?"   question when being invoked with --crash-
	file.

2007-07-10  martin@piware.de

	* debian/apport.links: Added.

	* debian/changelog: Modified.

	[903] * Add debian/apport.links: Install an icon symlink for the MIME
	type.

2007-07-10  martin@piware.de

	* xdg-mime,
	* xdg-mime/apport.xml: Added.

	* TODO,
	* debian/apport.install,
	* debian/changelog,
	* debian/rules,
	* setup.py: Modified.

	[902] * Add xdg-mime/apport.xml: XDG MIME type definition for .crash
	files.

2007-07-10  martin@piware.de

	* gtk/apport-gtk-mime.desktop.in: Added.

	* debian/apport-gtk.install,
	* debian/changelog,
	* debian/rules,
	* gtk/Makefile: Modified.

	[901] * Add gtk/apport-gtk-mime.desktop.in: Link text/x-apport MIME
	type to   apport-gtk -c, so that .crash files can be reported with
	Gnome.

2007-07-09  martin@piware.de

	* TODO,
	* apport/ui.py,
	* debian/changelog: [900] * apport/ui.py: Add option -c/--crash-file
	to run the UI with a particular   crash file (which can be anywhere)
	instead of all pending crashes in   /var/crash/.

	* apport/report.py,
	* debian/changelog: [899] * apport/report.py, obsolete_packages(): Use
	the version comparison from the   packaging system instead of just
	testing for inequality. This catches zero   epochs. Thanks to Will
	Woods <wwoods@redhat.com>!

	* TODO: [898] remove bogus TODO item

2007-07-09  martin@piware.de

	* debian/apport-cli.install: Removed.

	* debian/apport.install,
	* debian/changelog,
	* debian/control: Modified.

	* debian/apport-cli.README.Debian: Renamed to
	  debian/apport.README.Debian and modified.

	[897] * Merge apport-cli package into apport itself. The program
	itself is just 3   kB compressed, and it's not worth wasting another
	34 kB compressed   changelog for this tiny bit.

2007-07-09  martin@piware.de

	* TODO: [896] TODO updates for server needs

2007-07-08  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [895] TODO items

2007-07-06  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py,
	* debian/changelog: [894] * apport/ui.py, load_report(): Catch
	IOError, too. LP: #118827

	* debian/changelog: [893] release as 0.89 to gutsy

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [892] * apport/crashdb_impl/launchpad.py,
	get_distro_release(): Make this function   work with private bugs,
	too, by using p-lp-bugs' safe_urlopen().

	* apport/crashdb_impl/launchpad.py: [891]
	apport/crashdb_impl/launchpad.py, download(): fix description parsing
	harder

2007-07-05  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [890] * apport/crashdb_impl/launchpad.py,
	download(): Replace dodgy parsing of   fields from the description
	with proper code, so that multi-line fields   are read correctly, too.

	* TODO: [889] remove obsolete TODO

	* TODO: [888] TODO items

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [887] * apport/crashdb_impl/launchpad.py:
	Implement private crash bug handling,   according to
	https://wiki.ubuntu.com/CrashReporting:   - upload(): If we have an
	Ubuntu bug, mark it as private and only     subscribe 'apport' (the
	'Apport retracing service' user).   - Add function
	_subscribe_triaging_team() which subscribes     ubuntu-crashes-main
	for source packages in Ubuntu main or restricted, or     ubuntu-
	crashes-universe for other packages. It does not touch non-Ubuntu
	bugs, since these are not marked private by default and are outside of
	the scope of this spec.   - update(), _mark_dup_checked(): Call
	_subscribe_triaging_team().   - Note: This entire spec is a gross
	hack, and Ubuntu derivatives do not     benefit from it at all. We
	have to live with this until LP grows a real     crash database.

	* TODO: [886] TODO item

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* bin/crash-digger,
	* debian/changelog: [885] * apport/crashdb.py,
	apport/crashdb_impl/launchpad.py,   apport/crashdb_impl/memory.py:
	Remove official interface   mark_dup_checked(), as it should only be
	an internally used function. Add   report parameter, since we will
	need it there in the future. Remove   explicit call from bin/crash-
	digger and instead change check_duplicate()   to call it on its own.

	* apport/report.py,
	* debian/changelog: [884] * apport/report.py, _read_maps(): Revert
	ptrace hack when maps cannot be   read. maps file is now protected
	based on process ownership, not ptracing.

	* TODO,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [883] * backends/packaging-apt-dpkg.py,
	_search_contents(): Fix package name   parsing for non-main
	components. This fixes retracing of e. g. #124111.

	* TODO,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [882] * backends/packaging-apt-dpkg.py,
	_search_contents(): Package list is   actually comma separated, only
	take the first item. This fixes retracing   of e. g. #124139.

	* TODO: [881] TODO items

2007-07-04  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [880] * apport/crashdb_impl/launchpad.py: Add
	function get_source_component() to   query Launchpad for the component
	of a given distribution and source   package. (This will be required
	for implementing crash-reporting).

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [879] * apport/crashdb_impl/launchpad.py: Revert
	simplification change of 0.85:   BugList returns a set of strings, not
	integers; due to non-identity they   do not work with the usual set
	operations.

2007-07-03  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [878] release as 0.88 to gutsy

	* po/de.po: [877] update German translations

	* debian/changelog,
	* gtk/apport-gtk.glade: [876] * gtk/apport-gtk.glade: Mark string as
	translatable. LP: #119621

	* debian/changelog: [875] add bug number to changelog

	* apport/ui.py,
	* debian/changelog: [874] * apport/ui.py, test_run_crash(): Set the
	message box title, text, and   severity as assertion message if the
	run_crash() test fails, so that you   know why it fails. This usually
	happens if libc6 or another dependency of   the test crash is out of
	date.

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [873] * apport/crashdb_impl/launchpad.py,
	update(): Delete CoreDump.gz attachment   if the retrace was
	successful (i. e. if the report has a crash signature).

	* bin/apport-retrace,
	* debian/changelog,
	* debian/control: [872] * bin/apport-retrace: If retraced report does
	not have a crash signature,   mark it as failed with above new
	function. Bump python-apport dependency   for this.

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [871] * apport/crashdb.py: Add interface
	mark_retrace_failed(). Implement it in
	apport/crashdb_impl/launchpad.py.

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [870] * backends/packaging-apt-dpkg.py,
	get_source_tree(): Call apt-get source   with --assume-yes to not
	block on VCS confirmations.

	* bin/crash-digger,
	* debian/changelog: [869] * bin/crash-digger: Mark a bug as retraced
	if DistroRelease: cannot be   determined. Those are bugs apport cannot
	handle.

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [868] * backends/packaging-apt-dpkg.py,
	_search_contents(): Do not check the   return value of zgrep. It
	usually errors out with 'stdout: broken pipe'   when called with -m1.

	* debian/changelog,
	* po/de.po: [867] * po/de.po: Update.

2007-07-02  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [866] release as 0.87 to gutsy

	* apport/report.py,
	* debian/changelog: [865] * apport/report.py:   -
	test_gen_stacktrace_top(): Add test case for unwinding a Gnome
	assertion     (g_logv(), g_assert_warning() and similar), see LP
	#123462.   - _gen_stacktrace_top(): Generalize for unwinding multiple
	functions and a     set of function names, and add the Gnome assertion
	ones.

2007-06-28  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [864] release as 0.86 to gutsy

	* debian/changelog,
	* test-apport: [863] * test-apport: Clarify assertion message if
	/var/crash is not empty.

	* apport/report.py,
	* debian/changelog: [862] * apport/report.py, check_ignored(): round
	the mtime to an int (just like   mark_ignore() does), to not get wrong
	results on file systems that support   subsecond file timestamps. This
	fixes running the test suite on the live   CD.

	* debian/changelog,
	* problem_report.py: [861] * problem_report.py: Add test case for
	delayed piping of data passed as file   object pointers. This was
	supposed to explain the reason for getting bugs   with zero-byte core
	dumps, but already works correctly.

	* bin/apport,
	* debian/changelog: [860] * bin/apport: Enforce non-emptyness of
	CoreDump.

	* debian/changelog,
	* problem_report.py: [859] * problem_report.py: Introduce a fourth
	optional parameter "fail_on_empty"   to file pointer tuples which
	causes write() to raise an IOError if no data   was read. Add test
	cases.

	* debian/changelog,
	* test-apport: [858] * test-apport: Check that apport does not create
	reports for emtpy core   dumps.

2007-06-26  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [857] release as 0.85 to gutsy

2007-06-25  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [856] * apport/crashdb_impl/launchpad.py: Do a
	bogus call to Bug() in the ctor.   This initializes python-launchpad-
	bugs to use a cookie for the urlopen in   BugList, so that
	get_unretraced() and get_dup_unchecked() return private   bugs, too.
	This works around LP #122126.

2007-06-20  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py,
	* debian/changelog: [855] * apport/report.py, obsolete_packages(): Do
	not consider virtual packages as   obsolete.

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [854] * backends/packaging-apt-dpkg.py,
	get_dependencies(): Fix crash when   encountering a virtual package.

2007-06-19  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-chroot,
	* debian/changelog: [853] * bin/apport-chroot, command_upgrade(): Run
	'apt-get clean' before   regenerating the chroot tarball.

	* bin/apport-chroot,
	* debian/changelog: [852] * bin/apport-chroot, command_upgrade():
	Supply -y to 'apt-get upgrade' also   in verbose mode.

	* apport/report.py,
	* debian/changelog: [851] * apport/report.py test suite: Do not assume
	that /bin/zgrep uses /bin/sh,   it was recently changed to use bash.
	Directly read the interpreter from   the shebang line.

	* apport/report.py,
	* debian/changelog: [850] * apport/report.py, crash_signature(): Allow
	':' and '~' as part of function   names to cover C++. Adapt test case
	to cover this.

	* debian/changelog,
	* debian/control: [849] * debian/control: Add dpkg-dev dependency to
	apport-retrace, for getting   dpkg-source.

2007-06-18  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [848] * apport/crashdb_impl/launchpad.py:
	BugList.bugs is already a set, simplify   code a bit.

2007-06-14  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [847] release as 0.84 to gutsy

	* bin/crash-digger: [846] bin/crash-digger: revert accidental changing
	of fill_pool() calling

	* bin/apport-retrace,
	* bin/crash-digger,
	* debian/changelog: [845] * bin/apport-retrace, bin/crash-digger: More
	language cleanup; we should   stop talking about 'bugs' and use
	'crash' consistently.

	* bin/crash-digger,
	* debian/changelog: [844] * bin/crash-digger: Do duplicate checking
	for needs-duplicate-check crash   bugs (such as Python crashes).

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [843] * apport/crashdb_impl/launchpad.py,
	download(): Fetch Traceback.txt, too, so   that we can do duplicate
	checking for Python crashes.

	* apport/crashdb_impl/launchpad.py: [842]
	apport/crashdb_impl/launchpad.py: typo fix

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [841] * apport/crashdb_impl/launchpad.py: Set
	"need-duplicate-check" tag for   Python crashes.

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [840] apport/crashdb.py: add get_dup_unchecked()
	and mark_dup_checked(), and implement it for launchpad

2007-06-14  martin@piware.de

	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: Modified.

	* bin/launchpad-crash-digger: Renamed to bin/crash-digger and
	  modified.

	[839] * apport/crashdb.py: Add two new abstract methods
	get_unretraced() and   mark_retraced(id) to get a list of crashes that
	need to be processed   (retraced) and chalk them off. *
	apport/crashdb_impl/launchpad.py: Implement above methods for
	launchpad   (moving the code from bin/launchpad-crash-digger). * bin
	/launchpad-crash-digger: Drop Launchpad specific code and replace it
	with calls to above new functions. Rename to bin/crash-digger. Also
	rename   all 'cookie' to 'auth' (as happened with the other
	applications earlier).

2007-06-13  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [838]  release as 0.83 to gutsy

	* TODO,
	* apport/crashdb.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* bin/apport-chroot,
	* bin/apport-retrace,
	* bin/launchpad-crash-digger,
	* debian/changelog,
	* debian/control,
	* debian/pyversions,
	* run-tests: [837] merge crash-dups branch: implements apport-crash-
	duplicates specification

2007-06-12  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/chroot.py,
	* debian/changelog: [836] * apport/chroot.py: Do not include
	/usr/local/lib and /usr/lib in   LD_LIBRARY_PATH, just /lib, so that
	we still use the libc from outside,   but e. g. libxml2 from inside
	the chroot.

2007-06-11  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py,
	* debian/changelog: [835] * apport/report.py: Fix typo: 'none' ->
	'None'.

2007-06-08  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [834] * apport/packaging.py: Add interface
	compare_versions() for comparing   package version numbers. * backends
	/packaging-apt-dpkg.py: Implement compare_versions() using
	apt.VersionCompare(), add some test cases.

	* apport/crashdb.py,
	* apport/packaging.py,
	* apport/ui.py,
	* debian/changelog: [833] * apport/crashdb.py, apport/packaging.py,
	apport/ui.py: Use   NotImplementedError instead of Exception in the
	abstract methods.

	* apport/crashdb.py,
	* debian/changelog: [832] * apport/crashdb.py: Separate abstract from
	implemented functions.

	* debian/changelog: [831] release as 0.82 to gutsy

	* apport/report.py,
	* debian/changelog: [830] * apport/report.py, get_module_license(): Do
	not iterate over Popen.stdout,   use communicate() instead. The latter
	is already fixed to not trip over   SIGINTR. (LP: #118965)

2007-06-07  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* test-apport: [829] * test-apport: Clarify assertion failure message
	when an unexpected core   dump is present.

	* TODO,
	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [828] * apport/crashdb_impl/launchpad.py: Check
	PackageArchitecture for 'all', to   not set a retracer tag 'need-all-
	retrace'.

	* debian/changelog: [827] debian/changelog: improve references to
	apport-better-retracing spec

	* apport/crashdb_impl/launchpad.py,
	* bin/apport-retrace,
	* debian/changelog: [826] * bin/apport-retrace: Add
	gen_source_stacktrace() and a few helper functions   to construct a
	field 'StacktraceSource' with the source code around the   affected
	lines in the stack trace (as available). (Point 5 of   apport-better-
	retracing spec). * apport/crashdb_impl/launchpad.py, update(): Attach
	StacktraceSource to the   bug if it exists.

	* TODO: [825] TODO item

2007-06-05  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [824] * apport/packaging.py: Add interface
	get_source_tree() to fetch and unpack a   source package to a given
	directory, optionally specifying a particular   version. * backends
	/packaging-apt-dpkg.py: Implement get_source_tree(). This has a
	rather crude 'call apt-get source and guess about directories'
	implementation until python-apt learns about doing this directly and
	more   elegantly (see LP #118788).

2007-06-03  martin@piware.de

	* apport/ui.py,
	* debian/changelog: [823] * apport/ui.py, thread_collect_info(): For
	crashes, call obsolete_packages()   and set UnreportableReason: if
	there are any.

	* apport/report.py,
	* debian/changelog: [822] * apport/report.py: Add method
	crash_signature() to calculate an unique   identifier of a signal or
	Python crash, to be used for duplicate   detection. Add various test
	cases.

2007-06-02  martin@piware.de

	* TODO,
	* apport/report.py,
	* debian/changelog: [821] * apport/report.py, add_gdb_info(): Split
	out StacktraceTop generation into   separate funtion
	_gen_stacktrace_top(), so that we can test it separately. *
	apport/report.py, _gen_stacktrace_top(): Step back from the crashed
	program's own signal handlers, since those are generally not useful
	for   the purposes of StacktraceTop and only impede duplicate matching
	(part of apport-better-retracing spec). Add various test cases.

	* apport/ui.py,
	* debian/changelog: [820] * apport/ui.py: Fix declaration of the test
	suite's   ui_set_upload_progress(). Funny that this has never been
	triggered before.

	* apport/ui.py,
	* debian/changelog: [819] * apport/ui.py, thread_collect_info(): call
	standard_title() and add it to   the report as 'Title' field. This is
	useful if reporters modify the   default title (per request of Brian
	Murray, thanks). Add test case.

2007-05-31  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py,
	* debian/changelog: [818] * apport/report.py: Add function
	obsolete_packages() to return packages in   Package: and Depends:
	which are not up to date. Add test cases.

	* backends/packaging-apt-dpkg.py: [817] backends/packaging-apt-
	dpkg.py: Simplify get_version() implementation a bit

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [816] * apport/packaging.py: Add interface
	get_available_version(package). * backends/packaging-apt-dpkg.py:
	Implement get_available_version(), add   shallow test case.

2007-05-29  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [815] fix changelog spacing

	* bin/apport-retrace,
	* debian/changelog,
	* debian/control: [814] * bin/apport-retrace: Use "uninstalled" option
	now to install packages and   corresponding -dbgsyms for uninstalled
	files mentioned in ProcMaps   (Point 1 of apport-better-retracing
	spec). Bump python-apport dependency.

	* backends/packaging-apt-dpkg.py: [813] backends/packaging-apt-
	dpkg.py: add missing import

	* backends/packaging-apt-dpkg.py: [812] backends/packaging-apt-
	dpkg.py: silence zgrep stderr since we get SIGPIPE errors

	* apport/packaging.py,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [811] * apport/packaging.py:    - Add
	"uninstalled" option to get_file_package(). If set to True, this
	will do an expensive search of files/packages which are not installed.
	- Add interface "set_mirror(URL)" for functions which need to retrieve
	packages and data from distribution mirrors. * backends/packaging-apt-
	dpkg.py: Implement "uninstalled" option and   "set_mirror(URL)", add
	test cases.

2007-05-27  martin@piware.de

	* bin/ubuntu-fat-chroot: [810] ubuntu-fat-chroot: add apt-get clean

	* TODO: [809] remove TODO item solved with last commit

2007-05-27  martin@piware.de

	* bin/ubuntu-fat-chroot: Added.

	* debian/changelog: Modified.

	[808] * Add bin/ubuntu-fat-chroot: Script to install a set of commonly
	needed   packages into a minimal Ubuntu chroot (as created by apport-
	chroot). This   requires some hacking of postinst and /usr/sbin/ files
	in between the   installation stages and thus deserves a script on its
	own.

2007-05-24  Martin Pitt <martin.pitt@ubuntu.com>

	* doc/Makefile: Added.

	* debian/changelog,
	* debian/control,
	* debian/rules,
	* setup.py: Modified.

	[807] * Add doc/Makefile: Build and clean rules for generating data-
	format.pdf. * debian/rules, setup.py: Call doc/Makefile and install
	the PDF   documentation. Add texlive-latex-recommended build
	dependency for that.

2007-05-24  Martin Pitt <martin.pitt@ubuntu.com>

	* doc/data-format.tex: Added.

	* debian/changelog: Modified.

	[806] * Add doc/data-format.tex: Documentation of the structure,
	encoding, and   standard keys of the Apport report file format.
	[apport-for-upstreams   blueprint]

2007-05-24  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [805] release as 0.81 to gutsy

	* bin/apport-retrace,
	* debian/changelog: [804] * bin/apport-retrace: Fix handling of
	packages which are still known to   /var/lib/dpkg/status, but do not
	have an apt record any more; treat them   like virtual packages and
	just issue a warning instead of falling over.   (LP: #107474)

	* apport/report.py,
	* debian/changelog: [803] * apport/report.py, add_gdb_info():
	Intercept OSError from gdb invocation   (which might be segfaulting
	itself) and just do not put any gdb output   into the report. The
	automatic retracers can try their luck again.   (LP: #112501)

	* apport_python_hook.py,
	* debian/changelog: [802] * apport_python_hook.py: Move the apport.*
	imports into the try: block and   move the likely_packaged() test to
	the top, to avoid importing   apport.report and creating a Report
	object for non-packaged scripts. This   makes the entire code more
	efficient and robust against errors in the   apport modules. (LP:
	#109955)

	* apport/report.py,
	* debian/changelog: [801] * apport/report.py, add_os_info(): Add field
	'NonfreeKernelModules' which   lists loaded kernel modules which do
	not have a FOSS license. This is   particularly helpful for quickly
	checking for restricted graphics drivers.   (LP: #103239)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [800] * apport/crashdb_impl/launchpad.py,
	update(): Create a temporary directory   and use proper file names for
	the new attachments. With TemporaryFile(),   attachment file names
	ended up as '<fdopen>'. (LP: #115347)

	* bin/apport-retrace,
	* debian/changelog: [799] * bin/apport-retrace: Do not abort with an
	exception if package installation   fails. Give a proper error message
	instead and point to -u. (LP: #115681)

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [798] apport/crashdb_impl/launchpad.py: use
	"apport-<problemtype>" tag instead of just "apport"

2007-05-23  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/launchpad-crash-digger,
	* debian/changelog: [797] * bin/launchpad-crash-digger: Check the
	release of a bug and whether we have   a chroot for it before
	untagging it. This avoids loosing tags for bugs we   do not yet have a
	working retracer chroot for.

	* bin/apport-chroot,
	* debian/changelog,
	* debian/local/setup-apport-retracer: [796] * debian/local/setup-
	apport-retracer: Set APPORT_CRASHDB_CONF to the local   crashdb.conf.
	* bin/apport-chroot: Unset APPORT_CRASHDB_CONF for login and retrace.

	* bin/apport-chroot,
	* debian/changelog: [795] * bin/apport-chroot: Fix identifier name in
	command_retrace().

	* bin/launchpad-crash-digger,
	* debian/changelog: [794] * bin/launchpad-crash-digger: Supply --auth
	instead of the deprecated   --cookie to apport-chroot.

	* debian/changelog,
	* debian/local/setup-apport-retracer: [793] * debian/local/setup-
	apport-retracer: Install python-libxml2 and python-apt.

	* bin/apport-chroot,
	* debian/changelog: [792] * bin/apport-chroot: Fix symlinks before
	repackaging the chroot tarball in   'install' and 'installdeb' modes.

	* debian/changelog,
	* debian/local/setup-apport-retracer: [791] * debian/local/setup-
	apport-retracer: Specify a path in '.' command and   use sh again. Yay
	for me needing three attempts before actually RTFMing   how '.' works
	(which is really nasty and strange IMHO).

	* TODO: [790] TODO item

2007-05-22  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb_impl/launchpad.py,
	* debian/changelog: [789] * apport/crashdb_impl/launchpad.py: Tag new
	bugs with 'apport'. This   replaces the former '[apport]' prefixing.

	* apport/report.py,
	* debian/changelog: [788] * apport/report.py: Remove '[apport]'
	default bug title prefix. (LP: #94819)

2007-05-21  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [787] release as 0.80 to gutsy

	* debian/changelog,
	* debian/local/setup-apport-retracer: [786] * debian/local/setup-
	apport-retracer: Revert back 'source' to '.' and use   bash instead of
	sh. POSIX sh does not seem to have a 'source' command.

	* debian/changelog,
	* debian/control: [785] * debian/control: Bump some python-apport
	dependencies for the API changes.

2007-05-21  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/crashdb.py,
	* apport/crashdb_impl,
	* apport/crashdb_impl/__init__.py,
	* apport/crashdb_impl/launchpad.py,
	* apport/crashdb_impl/memory.py,
	* crashdb.conf: Added.

	* apport/report.py,
	* apport/ui.py,
	* bin/apport,
	* bin/apport-chroot,
	* bin/apport-retrace,
	* bin/launchpad-crash-digger,
	* debian/changelog,
	* debian/python-apport.install,
	* man/apport-retrace.1,
	* po/de.po,
	* run-tests,
	* setup.py: Modified.

	[784] merge abstract-bugtracker branch

2007-05-21  Martin Pitt <martin.pitt@ubuntu.com>

	* po/Makefile: [783] re-add "include Makevars" in po/Makefile to fix
	mo building

	* cli/apport-cli,
	* debian/changelog,
	* qt4/apport-qt: [782] * cli/apport-cli, qt4/apport-qt: Generalize
	window titles.

	* debian/changelog,
	* gtk/apport-gtk.desktop.in,
	* po/de.po,
	* qt4/apport-qt.desktop.in: [781] * *.desktop.in: Remove 'in Ubuntu'
	from comment.

	* debian/changelog,
	* gtk/apport-gtk.desktop.in,
	* po/Makefile,
	* qt4/apport-qt.desktop.in: [780] * Remove 'X-Ubuntu-Gettext-Domain'
	from *.desktop.in, since langpack.mk will   add it automatically now.

	* debian/changelog,
	* setup.py: [779] Some debranding: * setup.py: Use apport wiki home
	page for 'url'.

	* debian/changelog: [778] release as 0.79 to gutsy

	* bin/kernel_hook,
	* debian/changelog,
	* test-hooks: [777] * bin/kernel_hook, ./test-hooks: Do not rely on
	/proc/version_signature any   more, it's gone in the gutsy kernel.

	* bin/kernel_hook,
	* test-hooks: [776] fix syntax error in bin/kernel_hook, adapt test-
	hooks to recently updated fields in kernel reports

2007-05-21  Martin Pitt <martin.pitt@ubuntu.com>

	* po/Makevars: Added.

	* debian/changelog,
	* po/Makefile: Modified.

	[775] * Add po/Makevars to specify the domain, to make intltool figure
	out the   gettext domain automatically.

2007-05-21  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [774] TODO item

	* debian/changelog,
	* debian/rules: [773] * debian/rules: Use langpack.mk for updating the
	.desktop files.

2007-05-10  martin@piware.de

	* bin/kernel_hook,
	* debian/changelog: [772] * bin/kernel_hook: Fix/improve the collected
	information:   - Read /proc/modules instead of lsmod.   - Fix lspci
	argument: -n instead of -m.   - Add /proc/cmdline.

	* debian/changelog,
	* debian/control: [771] * debian/control: Use code.lp.net instead of
	bazaar.lp.net VCS URL.

	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [770] * backends/packaging-apt-dpkg.py: Formally
	make this a subclass of   apport.packaging.PackageInfo.

2007-05-09  martin@piware.de

	* apport/report.py,
	* debian/changelog: [769] * apport/report.py: Change example URLs in
	the testsuite from launchpad to   an artificial ones to avoid the
	impression that it is LP specific.

	* apport/ui.py,
	* debian/changelog,
	* debian/control: [768] * apport/ui.py: Convert to new write_mime()
	interface from above. This   finally automatically tags bugs with need
	-$ARCH-retrace. Bump   p-problem-report dependency of python-apport
	for this.

	* debian/changelog,
	* problem_report.py: [767] * problem_report.py, write_mime(): Drop
	preamble argument, replace it with   an extra_headers dictionary. This
	is much easier to evaluate on clients.

2007-05-07  martin@piware.de

	* debian/changelog,
	* debian/local/setup-apport-retracer: [766] * debian/local/setup-
	apport-retracer: Fix '.' bashism, replace it with   'source'.

2007-05-06  martin@piware.de

	* debian/changelog: [765] release as 0.78 to gutsy

2007-05-05  martin@piware.de

	* cli/apport-cli,
	* debian/changelog,
	* debian/control,
	* gtk/apport-gtk,
	* qt4/apport-qt: [764] * gtk/apport-gtk, qt4/apport-qt, cli/apport-
	cli: Do not offer 'reduced   report' option if the stack trace is
	useless. (LP: #87430) Bump the   python-apport dependencies of the
	frontend packages to ensure that we have   has_useful_stacktrace().

	* apport/report.py,
	* debian/changelog: [763] * apport/report.py: Add method
	has_useful_stacktrace() to determine whether   the stack trace can be
	considered useful. The current heuristic is to   consider it useless
	if it either is shorter than three lines and has any   unknown
	function, or for longer traces, a minority of known functions. Add
	test cases.

	* apport/ui.py,
	* debian/changelog: [762] * apport/ui.py, load_report(): Also catch
	zlib.error on invalid reports.   (LP: #103547)

	* apport/ui.py,
	* debian/changelog: [761] * apport/ui.py: Add a comment for
	translators. (LP: #104703)

	* bin/apport,
	* debian/changelog,
	* test-apport: [760] * ./test-apport: Check that crashes create a core
	dump (with proper ulimits)   when an unseen crash report exists
	already. This reproduces LP #105976. * bin/apport: Create core dump
	file if aborting because an unseen crash   report already exists. (LP:
	#105976)

	* apport/report.py,
	* debian/changelog: [759] * apport/report.py, add_gdb_info(): Fix
	crash when Stacktrace could not be   created. (LP: #107853)

2007-05-03  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* apport/packaging.py,
	* apport/ui.py,
	* backends/packaging-apt-dpkg.py,
	* debian/changelog: [758]  change get_origins(package) ->
	is_distro_package(package)

	* TODO: [757] TODO item

2007-04-27  Martin Pitt <martin.pitt@ubuntu.com>

	* backends/packaging-apt-dpkg.py: Added.

	* backends/packaging-dpkg.py: Removed.

	* debian/changelog,
	* debian/local/setup-apport-retracer,
	* debian/rules: Modified.

	[756] * Drop backends/packaging-dpkg.py. It had some hackish usage of
	python-apt   anyway, since some things just cannot be figured out with
	dpkg alone.   Since we have to give up on that idea, implement a new
	clean packaging   backend 'packaging-apt-dpkg.py' which now uses
	python-apt and dpkg in a   clean way.

2007-04-27  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/control: [755] * debian/control: Remove debianutils
	dependency, it's essential.

	* apport/packaging.py,
	* apport/ui.py,
	* backends/packaging-dpkg.py,
	* debian/changelog,
	* debian/control: [754] * apport/packaging.py, backends/packaging-
	dpkg.py: Add new interface   get_origins(package) which determines the
	origins (distribution/vendor/   repository names) for a given package.
	Move the dodgy hack from   apport/ui.py to the backend, where it
	belongs to. Also add a test case. * debian/control: Add python-apt
	dependency to python-apport.

	* debian/changelog: [753] release as 0.77 to gutsy

2007-04-23  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [752] * debian/local/setup-
	apport-retracer: Generalized some feisty specific   bits, set default
	release to gutsy.

2007-04-19  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/chroot.py,
	* debian/changelog: [751] * apport/chroot.py: Fix test suite to work
	with Python 2.4's tarfile module   output format.

	* apport/report.py,
	* debian/changelog: [750] * apport/report.py: Move the ctypes import
	to the one place where we   actually need it, and do not entirely fail
	if they do not exist (such as   in Python 2.4). It is only required
	for non-default Feisty kernels anyway.   (LP: #107662)

2007-04-16  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py,
	* debian/changelog: [749] * apport/report.py: Replace any() call with
	a list comprehension to work   with Python < 2.5. (LP: #104864)

2007-04-12  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [748] release as 0.76 to feisty

	* apport/ui.py,
	* debian/changelog: [747] * apport/ui.py test suite: Unset locale
	related environment variables so   that the tests which check strings
	are not invalidated by translations.

2007-04-12  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/python-apport.install,
	* run-tests,
	* setup.py: Modified.

	* apport/python_hook.py: Renamed to apport_python_hook.py and
	  modified.

	[746] * Move python_hook.py out of the apport module to
	apport_python_hook.py, so   that it does not inflict the expensive
	import of all apport related   modules to every python program. Adapt
	module prefixes accordingly.   (LP: #105764) * setup.py, debian
	/python-apport.install: Install apport_python_hook.py into   the
	python-apport binary package.

2007-04-06  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [745] TODO item

2007-04-04  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [744] release as 0.75 to feisty

	* backends/packaging-dpkg.py,
	* debian/changelog: [743] * backends/packaging-dpkg.py,
	get_modified_files(): Ignore empty lines in   broken .md5sums file
	rather than crashing on them. (LP: #102906)

	* apport/report.py,
	* debian/changelog: [742] * apport/report.py, add_proc_info(): Chop
	off /rofs/ prefix from   ExecutablePath, so that crashes work on the
	live system, too. Arguably a   kernel bug, but probably too hard to
	fix at this time. (LP: #102909)

	* debian/changelog: [741] release as 0.74 to feisty

	* debian/changelog,
	* gtk/apport-gtk.glade: [740] * gtk/apport-gtk.glade: Add window
	titles to progress and details dialogs.   (LP: #97640)

	* apport/ui.py,
	* debian/changelog: [739] * apport/ui.py: Fix crash on None
	candiateOrigin from the apt cache object.   (LP: #98961)

	* apport/ui.py,
	* debian/changelog: [738] * apport/ui.py: Ignore SystemError
	exceptions from apt, which happen on   badly formatted source.list
	entries. (LP: #98901)

	* apport/report.py,
	* debian/changelog: [737] * apport/report.py, _check_interpreted():
	Add a whitelist of common   interpreters and check ExecutablePath
	against it. (LP: #102056)

	* apport/report.py,
	* debian/changelog: [736] * apport/report.py,
	test_check_interpreted(): Run gedit test on an actually   existing
	file, reproducing the interpreter confusion reported in #102056.

2007-04-04  martin@piware.de

	* debian/changelog,
	* test-apport: [735] * test-apport: Do not fail on non-empty gdb
	stderr if it only consists of a   single warning (as happens on
	powerpc).

2007-04-02  Martin Pitt <martin.pitt@ubuntu.com>

	* backends/packaging-dpkg.py,
	* debian/changelog,
	* test-hooks: [734] * test-hooks: Add a (dodgy) test case for calling
	package_hook on an   uninstalled package. After all, this is very
	likely to happen for   installation errors. This reproduces #97636. *
	backends/packaging-dpkg.py, get_source(): Add a similarly dodgy
	fallback   to apt if the queried package is not installed. This needs
	to be   generalized and cleaned up later, but now is the time for
	unintrusive   small patches. (LP: #97636)

2007-03-30  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* problem_report.py: [733] * problem_report.py, write_mime(): Do not
	re-compress keys which already end   in .gz. Add test cases.

	* debian/apport-gtk.install,
	* debian/apport-qt.install,
	* debian/changelog: [732] * debian/apport-{gtk,qt}.install: Do not
	install .desktop files for now,   until we get a proper guided bug
	reporting.

2007-03-29  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [731] release as 0.73 to feisty

	* apport/ui.py,
	* debian/changelog: [730] * apport/ui.py, run_crash(): If a signal
	crash report does not have a core   dump, explain that the computer
	has too little memory for an automatic   analysis/report of the crash.
	Add test suite check.

	* bin/apport,
	* debian/changelog,
	* debian/control,
	* test-apport: [729] * bin/apport: Limit core dump size to 75% of
	usable RAM   (MemFree+Cached-Writeback). This should avoid trashing
	people's boxes hard   on huge core dumps. Bump dependencies on python-
	problem-report. Create an   expensive, but realistic check for this in
	test-apport.   (LP: #71560)

	* debian/changelog,
	* problem_report.py: [728] * problem_report.py, write(): Allow a third
	optional argument in tuple   values, which specify a maximum file
	size. Above it, the entire key gets   removed. Add testsuite checks
	for all boundary cases.

	* debian/changelog: [727] release as 0.72 to feisty

	* debian/changelog,
	* qt4/apport-qt: [726] * qt4/apport-qt: Fix undefined symbol in
	ui_present_package_error().    (LP: #97282)

	* debian/apport-cli.README.Debian: [725] merge spacing fix

	* cli/apport-cli,
	* debian/changelog,
	* gtk/apport-gtk.glade,
	* po/de.po,
	* qt4/apport-qt: [724] * Another grammar fix, thanks to Brian Murray!

2007-03-28  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/apport-cli.README.Debian: Added.

	* debian/changelog,
	* debian/control,
	* debian/local/ubuntu-bug: Modified.

	[723] * debian/local/ubuntu-bug: Try to use apport-cli, if we do not
	have a   $DISPLAY, or neither Gnome nor KDE are running. *
	debian/control: Recommend elinks, since it is the only text browser so
	far   that works with Launchpad (see #59510) * Add debian/apport-
	cli.README.Debian: Describe how to integrate   apport-checkreports and
	apport-cli into .bashrc for crash notification on   servers.

2007-03-28  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py,
	* debian/changelog: [722] * apport/ui.py: Fix wrong parameter name in
	help message.

2007-03-27  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/control: [721] * debian/control: Add XS-Vcs-Bzr: header.

	* apport/ui.py,
	* bin/launchpad-crash-digger,
	* debian/changelog: [720] * bin/launchpad-crash-digger, apport/ui.py:
	Remove the special case   'powerpc'->'ppc' and use need-powerpc-
	retrace uniformly.

2007-03-27  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/apport-retrace.manpages: Added.

	* debian/apport.manpages,
	* debian/changelog,
	* debian/control: Modified.

	[719] * Move apport-retrace.1 manpage from package apport to apport-
	retrace. Bump   Conflicts/Replaces accordingly.

2007-03-27  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-retrace,
	* debian/changelog: [718] * bin/apport-retrace: Fix error handling in
	fetch_unpack().

	* bin/apport-chroot,
	* debian/changelog: [717] * bin/apport-chroot, command_create():
	Install gpgv.

2007-03-26  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [716] release as 0.71 to feisty

	* apport/ui.py,
	* debian/changelog: [715] * apport/ui.py: Check package origin,
	compare it to DistroRelease:, and   report crash as unreportable if
	they do not match. This particularly saves   the user from uploading
	large reports for e. g. opera crashes, and avoids   filing Ubuntu bugs
	from Debian installations. (LP: #75513)

	* apport/ui.py,
	* debian/changelog,
	* doc/package-hooks.txt: [714] * apport/ui.py, doc/package-hooks.txt:
	Check for a field   "UnreportableReason: <text>" and display an
	information box that the   current crash cannot be reported because of
	<text>. Add test case.   Document the new field.

	* backends/packaging-dpkg.py,
	* debian/changelog: [713] * backends/packaging-dpkg.py,
	get_modified_files(): Ignore lines in .md5sums   files which contain a
	NUL byte. This Should Not Happen?, but nevertheless   did. (LP:
	#96050)

	* apport/ui.py,
	* debian/changelog: [712] * apport/ui.py, run_report_bug(): Ignore
	ENOENT from add_proc_info(). This   happens if the user closes the
	application prematurely, so that /proc/pid   does not exist any more.
	Add test case. (LP: #95954)

	* apport/ui.py,
	* debian/changelog,
	* debian/control: [711] * apport/ui.py, upload_launchpad_blob(): Set
	need-$ARCH-retrace tag in MIME   preamble. Bump p-problem-report
	dependency. (LP: #94790)

	* bin/apport-retrace,
	* debian/changelog: [710] * bin/apport-retrace: Do not fall over
	errors of dpkg -x (which happens e.   g. on udev, where it cannot
	unpack /dev, since this is a symlink to the   real /dev). Merely print
	out a warning about it.

	* bin/apport-retrace,
	* debian/changelog: [709] * bin/apport-retrace: In verbose mode,
	display the path of currently   extracting deb.

	* debian/changelog,
	* problem_report.py: [708] * problem_report.py, write_mime(): Add
	optional 'preamble' parameter. Add   test case.

	* cli/apport-cli,
	* debian/changelog,
	* po/de.po,
	* qt4/apport-qt: [707] * cli/apport-cli, qt4/apport-qt: Fix bad
	grammar 'some minutes'.    (LP: #95296)

	* debian/changelog: [706] release as 0.70 to feisty

	* debian/changelog,
	* doc/package-hooks.txt: [705] * doc/package-hooks.txt: Add some
	examples, document source package hook.

2007-03-23  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-retrace,
	* debian/changelog: [704] * bin/apport-retrace: Fix ordering of
	version numbers in warning message.

	* bin/apport-chroot,
	* bin/apport-retrace,
	* debian/changelog: [703] * bin/apport-retrace: Replace --no-purge
	with --no-dpkg. With this option,   do not call dpkg --unpack any
	more, but dpkg -x, to avoid any fchmod() and   other calls which cause
	problems in fakechroots.

	* bin/apport-chroot,
	* debian/changelog: [702] * bin/apport-chroot: Fixed command function
	selection to not abort with   'unknown command' if the DistroRelease:
	was unknown.

	* bin/apport-chroot,
	* debian/changelog: [701] * bin/apport-chroot: When specifying --save
	for login, only save the tarball   if the exit status is 0. * bin
	/apport-chroot, create: Install /usr/sbin/policy-rc.d to disable init
	scripts.

	* apport/ui.py: [700] apport/ui.py: mark report as seen when updating
	it with new information

2007-03-23  Martin Pitt <martin.pitt@ubuntu.com>

	* package-hooks,
	* package-hooks/source_apport.py: Added.

	* debian/apport.dirs: Removed.

	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[699] * Add package-hooks/source_apport.py: Package hook for apport
	itself.   Include /var/log/apport.log and the status of files in
	/var/crash.

2007-03-23  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py,
	* debian/changelog: [698] * apport/report.py, add_hooks_info(): Use
	execfile() instead of   __import__(), since package names might
	conflict with module names already   imported into apport's namespace.
	Also search for hook named after the   source package name (prefixed
	with 'source_'). Add test cases.

	* cli/apport-cli,
	* debian/changelog,
	* gtk/apport-gtk.glade,
	* po/de.po,
	* qt4/apport-qt: [697] * Some grammar corrections.

	* TODO,
	* apport/ui.py,
	* debian/changelog: [696] * apport/ui.py, run_crash(): Check for a
	field "UnsupportableReason: <text>"   and display an information box
	that the current configuration cannot be   supported because of
	<text>, instead of processing and reporting the   crash. Add test case
	for this workflow. With special regards to our   Firefox crash
	triagers who want to get rid of the hundreds of   flash-related
	crashes. :)

2007-03-22  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* bin/apport-chroot,
	* debian/changelog: [695] * apport-chroot: Add forgotten sys.exit(1)
	after printing the error message   about an invalid chroot
	specification.

	* TODO: [694] TODO updates

	* apport/ui.py,
	* debian/changelog,
	* debian/control: [693] * apport/ui.py: Remember currently processed
	report file and update it with   the added information, so that it
	becomes useful for local evaluation,   too. Bump python-problem-report
	dependency to ensure write()'s only_new   availability. (LP: #94678)

	* debian/changelog,
	* problem_report.py: [692] * problem_report.py: Add optional parameter
	only_new to write(), which   writes only the get_new() keys. Add test
	case.

	* debian/changelog,
	* problem_report.py: [691] * problem_report.py: Add new method
	get_new() which returns a set of all   keys which have been added
	since load() or construction. Add test cases.

	* debian/changelog: [690] add another bug to the changelog

	* apport/report.py,
	* debian/changelog: [689] * apport/report.py, add_proc_info(): Do not
	regard symlinks to executables   as interpreted scripts any more (such
	as Debian alternatives). Add test   case. (LP: #94732)

	* apport/REThread.py,
	* apport/chroot.py,
	* apport/fileutils.py,
	* apport/packaging.py,
	* apport/python_hook.py,
	* apport/report.py,
	* backends/packaging-dpkg.py,
	* debian/changelog,
	* problem_report.py: [688] * Remove trailing white space in all Python
	files.

	* apport/chroot.py,
	* apport/fileutils.py,
	* apport/python_hook.py,
	* apport/report.py,
	* backends/packaging-dpkg.py,
	* debian/changelog,
	* problem_report.py: [687] * Replace tabs with spaces in all Python
	files. (LP: #93561)

	* debian/changelog,
	* run-tests: [686] * run-tests: Run tests with python's -tt flag to
	catch whitespace errors.

	* apport/report.py,
	* bin/apport-retrace,
	* debian/changelog: [685] * apport/report.py, add_gdb_info(): Limit
	maximum backtrace depth to 2000 to   avoid infinitely looped stacks
	and gdb crashes. (LP: #94455) * bin/apport-retrace: Add option -R
	/--rebuild-package-info, so that   apport-retrace works on unprocessed
	crash dumps in /var/crash.

2007-03-22  Martin Pitt <martin.pitt@ubuntu.com>

	* cli,
	* cli/apport-cli,
	* debian/apport-cli.install: Added.

	* apport/ui.py,
	* debian/changelog,
	* debian/control,
	* debian/copyright,
	* setup.py: Modified.

	[684] [ Michael Hofmann ] * Add cli/apport-cli, setup.py, debian
	/apport-cli.install, debian/control:   Add command line user
	interface. * apport/ui.py, format_filesize(): Use MiB and GiB instead
	of MB and GB;   these are the official units. Adapt test cases. *
	apport/ui.py, collect_info()/file_report(): Do not raise an exception
	on   KeyboardInterrupt in the subthreads. * apport/ui.py, open_url():
	Do not use gtk.MessageDialog(), but   ui_error_message(), and fix
	error passing so that the message is   displayed in the parent thread.
	* apport/ui.py, open_url(): Check that $DISPLAY is set before
	considering   the KDE/Gnome web browsers.

2007-03-21  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [683] * debian/local/setup-
	apport-retracer:    - Unpack and install python-launchpad-bugs locally
	if the package is not     installed.   - Link launchpad-crash-digger
	into the retracer's bin/ dir.

	* apport/report.py,
	* bin/apport-retrace,
	* debian/changelog: [682] * apport/report.py, add_proc_info(): If
	reading /proc/pid/maps fails,   ptrace() the target process to make it
	readable (proposed security   improvement in future kernels). * bin
	/apport-retrace: Fix crash for packages unknown to the apt cache.

2007-03-20  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [681] * debian/local/setup-
	apport-retracer: Install libc6-i686{,-dbgsym} into an   x86 chroot, to
	get sane x86 backtraces for crashes in libc.

	* bin/apport-retrace,
	* debian/changelog: [680] * bin/apport-retrace: Mangle bug comment
	with StacktraceTop to not contain   invalid UTF-8, to avoid getting
	Internal Server Errors from LP.

	* bin/launchpad-crash-digger: [679] launchpad-crash-digger: do not
	endlessly loop on failed apport-retrace

2007-03-20  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/launchpad-crash-digger: Added.

	* debian/changelog: Modified.

	[678] * Add bin/launchpad-crash-digger: Daemon for watching out for
	need-$ARCH-retrace tagged Ubuntu bugs in Launchpad and calling
	apport-retrace on them.

2007-03-20  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-chroot,
	* debian/changelog: [677] * bin/apport-chroot: Add option --remove-tag
	and pass it to apport-retrace.

	* apport/chroot.py,
	* debian/changelog: [676] * apport/chroot.py, fix_symlinks(): Convert
	chroot path prefixed absolute   symlinks to relative symlinks to avoid
	fakechroot's weird handling of   absolute symlinks.

	* TODO: [675] TODO item

	* bin/apport-retrace,
	* debian/changelog,
	* debian/control,
	* man/apport-retrace.1: [674] * bin/apport-retrace: Add option
	--remove-tag to remove a Launchpad bug   tag. This is intended for an
	automatic Malone crash retracing system. * debian/control: Bump
	python-launchpad-bugs dependency to ensure that we   have
	Bug.[gs]et_metadata(). * man/apport-retrace.1: Add documentation for
	--confirm and --remove-tag.

2007-03-19  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [673] release as 0.69 to feisty

	* bin/apport,
	* debian/changelog,
	* test-apport: [672] * test-apport: Check that core dumps are written
	for packaged programs as   well, if ulimits want them. (Test for
	#92029) * bin/apport: Call write_user_coredump() for packaged program
	crashes and   SIGABRT as well. (LP: #92029)

2007-03-15  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [671] remove TODO item

	* bin/apport-retrace,
	* debian/changelog: [670] revert removal of getch(), that was a red
	herring

	* bin/apport-chroot,
	* debian/changelog: [669] * apport-chroot: Fix 'login' and 'upgrade'
	commands to not require   specifying a chroot map when giving a chroot
	tarball path as argument.

	* bin/apport-chroot,
	* debian/changelog: [668] * apport-chroot: Add command 'installdeb' to
	conveniently install a bunch of   .debs into a chroot.

	* bin/apport-retrace,
	* debian/changelog: [667] * apport-retrace: Remove function getch()
	again, since the termios ioctls do   not always work. This requires
	users to press Enter after y/n.

	* debian/changelog: [666] release as 0.68 to feisty

	* bin/apport-chroot,
	* debian/changelog: [665] * apport-chroot: Add option --confirm-
	attach; if given, call apport-retrace   with --confirm.

	* bin/apport-retrace,
	* debian/changelog: [664] [ Martin Pitt ] * apport-retrace: Add option
	--confirm to display the retraced stack traces   and ask for
	confirmation before uploading them as LP bug attachments.   (LP:
	#91878)

2007-03-14  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* qt4/apport-qt,
	* qt4/error.ui: [663] [ Michael Hofmann ] * qt4/apport-qt: Fix taskbar
	entry, remove an unused method. * qt4/error.ui: Fix icon spacing.

	* debian/changelog: [662] release as 0.67 to feisty

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [661] * gtk/apport-gtk{,.glade}: Fix signal
	handler name of the Cancel button in   the upload progress dialog, so
	that it actually works. (LP: #92115)

	* po/de.po: [660] update German translations

	* debian/changelog,
	* gtk/apport-gtk.glade: [659] * gtk/apport-gtk.glade:   - Remove
	titles from the progress windows to comply with Gnome HIG and not
	repeat the text content.   - Improve wording a bit.   - LP: #92114

	* bin/apport,
	* debian/changelog,
	* test-apport: [658] * test-apport: Check that non-packaged
	executables generate a core dump on   SIGABRT, too (test case for bug
	#92029). * bin/apport: Move check for ignoring SIGABRT below the core
	dump file   writing for non-packaged binaries. (LP: #92029)

	* bin/apport-retrace,
	* debian/changelog: [657] * bin/apport-retrace: Fix 'numer' typo. (LP:
	#91680)

	* apport/report.py,
	* debian/changelog: [656] * apport/report.py: Remove undefined call to
	error_log() in   _command_output(), replace it with raising proper
	exceptions.

2007-03-13  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* debian/changelog,
	* po/de.po: [655] * po/de.po: Update from Rosetta.

2007-03-12  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* debian/local/setup-apport-retracer: [654] * debian/local/setup-
	apport-retracer: Add apt sources for restricted,   universe, and
	multiverse, too.

	* debian/changelog: [653] release as 0.66 to feisty

2007-03-11  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/chroot.py,
	* bin/apport-chroot,
	* bin/apport-retrace,
	* debian/changelog,
	* debian/local/setup-apport-retracer: [652] merge to trunk

2007-03-10  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-retrace: [651] remove some debugging junk

	* bin/apport-chroot,
	* debian/changelog: [650] * bin/apport-chroot: Add --cookie option:
	temporarily symlink cookie into   the chroot and pass it to apport-
	retrace in retrace mode.

	* bin/apport-retrace,
	* debian/changelog,
	* man/apport-retrace.1: [649] * bin/apport-retrace: Attach retraced
	stack traces back to the Launchpad bug   report if no other output
	option is given (This corresponds to the   in-place editing when a
	report file is specified). Add option --cookie to   specify a Mozilla-
	style cookie file for the necessary Launchpad   authentication. * man
	/apport-retrace.1: Document above apport-retrace changes.

2007-03-10  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/MultipartPostHandler.py: Removed.

	* apport/ui.py,
	* debian/changelog,
	* debian/control,
	* debian/copyright: Modified.

	[648] * Remove apport/MultipartPostHandler.py, this functionality
	moved to   python-launchpad-bugs now. Add a dependency to that
	package. * apport/ui.py, upload_launchpad_blob(): Use the shiny new
	launchpadBugs.storeblob.upload().

2007-03-07  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-chroot,
	* debian/changelog: [647] * bin/apport-chroot: Use apt-get options -y
	and --allow-unauthenticated when   installing additional packages.

	* debian/changelog,
	* debian/local/setup-apport-retracer: [646] * debian/local/setup-
	apport-retracer:   - Replace grep-dctrl with grep call, since grep-
	dctrl is not installed in     all the DC chroots.   - Do not download
	apport source from archive.u.c., instead require that     this script
	lives in the unpacked apport source tree.

2007-03-06  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [645] release as 0.64 to feisty

	* bin/apport-retrace,
	* debian/changelog: [644] * bin/apport-retrace: Do not complain about
	missing ddebs for Arch: all   packages.

	* bin/apport-chroot,
	* debian/changelog: [643] * bin/apport-chroot: Add a -v/--verbose
	option.

	* bin/apport-chroot,
	* debian/changelog: [642] * bin/apport-chroot: Add a similar option -p
	/--extra-package and install   those in the 'create' command and
	simply pass it to apport-retrace in the   'retrace' command. (LP:
	#90077)

	* bin/apport-retrace,
	* debian/changelog,
	* man/apport-retrace.1: [641] * bin/apport-retrace: Add option -p
	/--extra-package to install an additional   package for retracing. May
	be specified multiple times. Document new   option in man/apport-
	retrace.1. (LP: #90077)

	* apport/fileutils.py,
	* debian/changelog: [640] * apport/fileutils.py,
	get_all_{system_,}reports(): Fix file access race   condition. (LP:
	#89977)

	* bin/apport-retrace,
	* debian/changelog: [639] * bin/apport-retrace: Give some additional
	explanation when installing   packages fails. (LP: #89916)

	* apport/report.py,
	* debian/changelog: [638] * apport/report.py, search_bug_patterns():
	Catch all exceptions from   urlopen(), not just IOError. Sometimes
	this fails with funnier errors.   (LP: #89589)

	* apport/report.py,
	* debian/changelog: [637] * apport/report.py, _check_interpreted():
	When calling an interpreter with a   script name as argument, set
	ExecutablePath to the script instead of the   interpreter. Add test
	case. (LP: #88794)

2007-03-05  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/local/setup-apport-retracer: Added.

	* debian/changelog: Modified.

	[636] * Add debian/local/setup-apport-retracer: Script to install
	local versions   of apport, debootstrap, fake{,ch}root libraries, and
	a feisty apport   fakechroot. This works OOTB on ronne's amd64 and
	i386 feisty chroots. The   script is not shipped in any package yet,
	but it's convenient to ship it   in revision control and in the
	source.

2007-03-05  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport-chroot,
	* debian/changelog: [635] * bin/apport-chroot: Install apport-retrace
	into a newly created chroot.

	* bin/apport-chroot,
	* debian/changelog: [634] * bin/apport-chroot: Add 'login' command.

	* debian/changelog: [633] release as 0.63 to feisty

2007-03-05  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/chroot.py,
	* bin/apport-chroot,
	* debian/apport-retrace.install: Added.

	* bin/apport-retrace,
	* debian/apport.install,
	* debian/changelog,
	* debian/control,
	* man/apport-retrace.1,
	* run-tests,
	* setup.py: Modified.

	[632] merge fakechroot branch

2007-03-05  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [631] release as 0.62 to feisty

2007-03-02  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py: [630] apport/ui.py, create_crash_bug_title(): Arch:all
	matches everywhere, add test case

2007-03-01  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* gtk/apport-gtk.desktop.in,
	* qt4/apport-qt.desktop.in: [629] * gtk/apport-gtk.desktop.in: Only
	show in Gnome and Xfce. * qt4/apport-qt.desktop.in: Only show in KDE.

2007-02-28  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [628] remove stray changelog space

	* debian/apport.install,
	* debian/changelog,
	* setup.py: [627] * setup.py, debian/apport.install: Ship test-hooks,
	test-apport, and   run-tests in /usr/share/apport/testsuite/, so that
	the full test suite can   be run in the installed system.

	* debian/changelog,
	* run-tests: [626] * run-tests: Add a 'local' command line option
	which runs tests on the files   and modules in the build tree. Run
	tests on system files/modules by   default.

	* apport/report.py,
	* debian/changelog: [625] * apport/report.py, test_add_proc_info():
	Change the python script test    so that it does not depend on being
	run in the source tree.

	* debian/changelog,
	* run-tests,
	* test-hooks: [624] * test-hooks: Run tests on installed hooks in
	/usr/share/apport by default   and add a '--local' switch to test the
	hooks in the source tree instead.   Use this option in run-tests.

	* apport/fileutils.py,
	* apport/report.py,
	* backends/packaging-dpkg.py,
	* debian/changelog: [623] * All test suites: Remove redundant word
	'behaviour' from test descriptions.

	* TODO,
	* apport/ui.py,
	* debian/changelog: [622] * apport/ui.py, create_crash_bug_title():
	Append warning about non-native   package if package architecture does
	not match the system's one.

	* apport/report.py,
	* debian/changelog: [621] * apport/report.py, add_os_info(): Add
	system architecture as   'Architecture:' field.

	* apport/report.py,
	* debian/changelog: [620] * apport/report.py, add_package_info():
	Rename key 'Architecture:' to   'PackageArchitecture:' for clarity.

	* apport/packaging.py,
	* backends/packaging-dpkg.py,
	* debian/changelog: [619] * apport/packaging.py: Add interface
	get_system_architecture() to return the   system architecture in the
	distro specific notation. This can differ from
	get_architecture(package) on multiarch platforms such as amd64. *
	backends/packaging-dpkg.py: Implement get_system_architecture() to
	return   dpkg --print-architecture, add a shallo test case.

	* apport/report.py,
	* debian/changelog: [618] * apport/report.py, add_proc_info(): Check
	that ExecutablePath actually   exists, so that invalid values from
	transient error conditions are ignored   (such as '/usr/bin/gnome-
	panel\x00\x00\x8b (deleted)').

	* apport/ui.py,
	* debian/changelog: [617] * apport/ui.py, collect_info(): Use REThread
	instead of Thread and raise   exceptions from it, so that errors
	during info collection actually become   visible.

	* debian/changelog: [616] release as 0.61 to feisty

2007-02-27  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport,
	* debian/changelog: [615] * bin/apport:   - Kernel 2.6.20-9 now sets
	CORE_REAL_RLIM to -1 instead of not setting it;     handle this case
	correctly. (LP: #87065)   - Add forgotten multiplication of
	CORE_REAL_RLIM with 1024, since ulimit     sets kB, not bytes.

	* TODO: [614] TODO item

2007-02-26  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [613] release as 0.60 to feisty

	* debian/changelog,
	* qt4/apport-qt: [612] * qt4/apport-qt: Wrap gettext() into an
	unicode(str, 'UTF-8') call,   otherwise all non-ASCII unicode strings
	are broken. (LP: #87757)

	* debian/changelog: [611] remove stray changelog space

	* apport/fileutils.py,
	* apport/ui.py,
	* debian/changelog: [610] * apport/ui.py: Already mark report as seen
	when we load it, not just in the   information collection thread. That
	way, reports will only be shown once   on systems which have
	/var/crash mounted noatime, too. (LP: #85809) * apport/fileutils.py,
	mark_report_seen(): If os.utime() fails, and opening   the report file
	for reading does not change the atime (happens with   noatime mount
	option), don't throw an exception, just delete the report.   (other
	aspect of LP: #85809)

	* apport/report.py,
	* debian/changelog: [609] * apport/report.py, add_package_info(): Add
	Architecture: field.    (LP: #87424)

	* apport/packaging.py,
	* backends/packaging-dpkg.py,
	* debian/changelog: [608] * apport/packaging.py: Add
	get_architecture() interface for determining the   architecture of a
	particular package (which might not match the overall   system
	architecture on multiarch-capable systems, e. g. an i386 Firefox
	package installed on amd64). * backends/packaging-dpkg.py: Implement
	get_architecture() and add test   case.

	* debian/changelog,
	* gtk/apport-gtk.glade: [607] * gtk/apport-gtk.glade: Reintroduce
	window titles. Since the crash   notifications are like alerts, title
	have been removed recently to comply   with Gnome HIG standards, but
	then the user will get 'nameless window'   buttons in the task bar.
	Let's have the smaller evil then. (LP: #87164)

2007-02-22  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [606] release as 0.59 to feisty

	* apport/report.py,
	* debian/changelog: [605] * apport/report.py, add_gdb_info():   -
	Remove all the initial gdb output, which gets rid of the duplicated #0
	line.   - Replace some stray tabs with spaces.   - Thanks to Kees Cook
	for this!

	* debian/changelog,
	* problem_report.py: [604] * problem_report.py test suite: Use
	assertAlmostEqual() when comparing stat   times, since they are floats
	on some systems.

	* debian/changelog,
	* test-apport: [603] * test-apport: Check that the core file written
	by apport is valid. This   uncovers kernel bugs like #87065

	* TODO,
	* bin/apport,
	* debian/changelog,
	* test-apport: [602] * bin/apport: Write core files into a process'
	cwd if the process' ulimit   requests and permits it and the crashes
	process is not packaged, so that   developers get happy again. Test
	this behaviour with various ulimits in   test-apport.

	* debian/changelog,
	* test-apport: [601] * test-apport, check_crash(): Differ between
	expecting the program dumping   core and finding a core dump on disk,
	because this is not equivalent any   more with core pipelining.

	* apport/report.py,
	* debian/changelog: [600] * apport/report.py,
	_check_interpreted_script(): Filter out interpreter   command line
	options. This should make the detection of interpreted   scripts more
	robust. (LP: #87005)

	* apport/report.py,
	* debian/changelog: [599] * apport/report.py: Check that interpreter
	options are discarded in   test_check_interpreted_script(). This
	replicates bug #87005.

2007-02-20  Martin Pitt <martin.pitt@ubuntu.com>

	[598] release as 0.58 to feisty

2007-02-20  Jonathan Riddell <jriddell@ubuntu.com>

	* debian/changelog: [597] add changelog

	* qt4/apport-qt.desktop.in: [596] move kde .desktop file to system
	menu

2007-02-19  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [595] release as 0.57 to feisty

	* apport/ui.py,
	* debian/changelog: [594] * apport/ui.py, open_url(): Remove debugging
	print statement again, now   that we tracked down bug #83974.

	* TODO: [593] TODO item

	* apport/python_hook.py,
	* debian/changelog: [592] * apport/python_hook.py: Resolve symbolic
	links in ExecutablePath.   (LP: #85529)

	* apport/ui.py,
	* debian/changelog: [591] * apport/ui.py: If the problem report does
	not apply to a packaged program,   and we have an ExecutablePath,
	mention it in the error message for easier   debugging.

	* debian/changelog: [590] fix changelog bug number

	* debian/changelog,
	* gtk/apport-gtk,
	* qt4/apport-qt: [589] * gtk/apport-gtk, qt4/apport-qt: Intercept
	ImportError for the non-builtin   Python modules. This usually happens
	for crashes when there is a   dist-upgrade active and some Python
	packages have not been configured yet.   (LP: #86007)

	* apport/ui.py,
	* debian/changelog: [588] * apport/ui.py: Ignore KeyError when
	deleting the CoreDump field on sending   a reduced report. This Should
	Not Happen?, but nevertheless did.    (LP: #86007)

	* apport/ui.py,
	* debian/changelog: [587] * apport/ui.py: Intercept ENOMEM and fail
	gracefully; there is little else   we can do at that point, and there
	is no point in presenting a crash   report for this. (LP: #85155)

2007-02-15  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [586] release as 0.56 to feisty

	* debian/changelog,
	* qt4/apport-qt: [585] * qt4/apport-qt: Add some missing features that
	are present in the GTK UI:   - Do not show details by default, add a
	button to show them.   - Add complete/reduced bug report radio
	buttons.   - Thanks to Michael Hofmann for this!

2007-02-15  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/local/ubuntu-bug.1: Added.

	* debian/apport.manpages,
	* debian/changelog: Modified.

	[584] * Add debian/local/ubuntu-bug.1: Manpage for ubuntu-bug. Add it
	to   debian/apport.manpages.

2007-02-14  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py,
	* debian/changelog: [583] * apport/ui.py, open_url(): When being
	invoked as root, call gnome-open or   firefox as root through sudo
	instead of dropping our uid/gid and calling   it normally. The latter
	does not work for Firefox for some  mysterious   reason. Thanks to
	Mika Fischer for this trick. (LP: #81207)

	* TODO: [582] remove delay TODO item, it does not happen any more

	* debian/changelog: [581] release as 0.55 to feisty

	* apport/ui.py,
	* debian/changelog: [580] * apport/ui.py: Switch from
	edge.launchpad.net to production launchpad.net,   since the necessary
	bits are now there. (LP: #84992)

	* apport/ui.py,
	* debian/changelog: [579] * apport/ui.py: Do not silently ignore
	exceptions while uploading data to   Launchpad, but intercept them and
	display their message in the error   dialog. (Part of LP: #84992)

	* debian/changelog,
	* gtk/apport-gtk: [578] * gtk/apport-gtk: Generously add some
	gtk.main_iteration() calls to avoid   hanging dialogs, since we do not
	have a main loop.

2007-02-14  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/local,
	* debian/local/ubuntu-bug: Added.

	* TODO,
	* debian/apport.install,
	* debian/changelog: Modified.

	[577] * Add debian/local/ubuntu-bug: Check for a running KDE or Gnome
	session,   availability of apport-gtk and -qt, and open the
	appropriate GUI in bug   filing mode. This makes it convenient for
	shell users and is also required   for proper Firefox 'Report a
	bug...' menu integration (see bug #85041). * debian/apport.install:
	Install ubuntu-bug to /usr/bin.

2007-02-13  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [576] release as 0.54 to feisty

	* bin/apport,
	* debian/changelog: [575] * bin/apport: Re-enable, now that our kernel
	has been fixed to pipe complete   core dumps to us.

2007-02-12  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [574] release as 0.53 to feisty

	* apport/ui.py,
	* debian/changelog: [573] * apport/ui.py, open_url(): Print URL to
	stdout, so that we can debug the   weirdness in #83974.

	* debian/changelog,
	* gtk/apport-gtk: [572] * gtk/apport-gtk: Do not count the lines of
	fields with binary data. This   particularly avoids long delays with
	huge core dumps. (LP: #81979)

	* debian/changelog,
	* gtk/apport-gtk: [571] * gtk/apport-gtk: Process pending GTK events
	after hiding the info   collection window to avoid a hanging dead
	dialog.

2007-02-09  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/ui.py,
	* debian/changelog: [570] * apport/ui.py, open_url(): Remove some
	accidentally left-over debugging   junk.

	* debian/changelog: [569] release as 0.52 to feisty

	* bin/apport,
	* debian/changelog: [568] * bin/apport: Disable for now, since the
	current kernel produces cropped   core dumps and thus we get totally
	useless crash reports

	* debian/changelog: [567] change bug numbers for official Ubuntu dpkg-
	dev syntax

	* debian/changelog,
	* qt4/apport-qt: [566] * qt4/apport-qt: Do not try to call
	splitlines() on a report value that is a   file reference; just
	display the reference instead. Closes: LP#84196

2007-02-09  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/apport.dirs: Added.

	* debian/changelog: Modified.

	[565] * Add debian/apport.dirs: Ship package-hooks/ directory.

2007-02-09  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* qt4/apport-qt: [564] * qt4/apport-qt: Fix restart button handling.
	Closes: LP#84202

	* bin/apport-retrace,
	* debian/changelog: [563] * bin/apport-retrace: --verbose can now be
	specified multiple times to   increase verbosity and debug package
	installation. Also, fix some quoting   bugs. Thanks to Kees Cook for
	this!

2007-02-09  Martin Pitt <martin.pitt@ubuntu.com>

	* qt4/apport-qt.desktop.in: Added.

	* debian/apport-qt.install,
	* debian/changelog,
	* debian/rules,
	* po/POTFILES.in,
	* qt4/Makefile,
	* qt4/apport-qt: Modified.

	[562] * Add qt4/apport-qt.desktop.in and add it to POTFILES.in.

2007-02-09  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk,
	* qt4/apport-qt: [561] * gtk/apport-gtk, qt4/apport-qt: Fix detection
	of binary data so that the   CoreDump is not displayed as
	incomprehensible gibberish any more.

	* TODO: [560] bc package does not ship md5sums, no check possible,
	remove TODO item

2007-02-09  Martin Pitt <martin.pitt@ubuntu.com>

	* doc,
	* doc/package-hooks.txt: Added.

	* TODO,
	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[559] * Add doc/package-hooks.txt: Document per-package hooks, ship in
	package   apport.

2007-02-09  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py,
	* debian/changelog: [558] * apport/report.py: Fix hook directory to be
	/usr/share/apport/package-hooks/,  not /u/s/apport/.

	* TODO: [557] remove solved TODO item

2007-02-08  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [556] release as 0.51 to feisty

	* bin/apport-retrace,
	* debian/changelog,
	* man/apport-retrace.1: [555] * bin/apport-retrace, man/apport-
	retrace.1: Document that report can now be   a LP bug number.

2007-02-08  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/apport.svg: Added.

	* apport/apport.png: Removed.

	* debian/changelog,
	* debian/copyright,
	* debian/rules,
	* setup.py: Modified.

	[554] Improvements:  * Replaced old apport.png icon stolen from bug-
	buddy with nice SVG one.   Thanks to Troy Sobotka for this! *
	debian/copyright: Add Troy as copyright holder for the icon.

2007-02-08  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* debian/apport-gtk.install,
	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	* gtk/apport.png: Renamed to apport/apport.png.

	[553] * Move icon from apport-gtk to apport, since it is/can be shared
	between   frontends.

2007-02-08  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/apport-gtk.install,
	* debian/apport.install,
	* debian/changelog,
	* debian/control: [552] * Move translations from apport-gtk to apport,
	since they are shared between   frontends. Add appropriate
	Conflicts/Replaces (we don't strictly need it   here because we strip
	them anyway, but we need that for the moving icon   anyway).

2007-02-08  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/apport-qt.install: Added.

	* debian/changelog,
	* debian/control,
	* po/POTFILES.in,
	* setup.py: Modified.

	* qt4/apport-qt4: Renamed to qt4/apport-qt.

	[551] * setup.py, debian/control, debian/apport-qt.install: Packaging
	bits for   apport-qt.

2007-02-08  Martin Pitt <martin.pitt@ubuntu.com>

	* qt4,
	* qt4/Makefile,
	* qt4/apport-qt4,
	* qt4/bugreport.ui,
	* qt4/error.ui,
	* qt4/progress.ui: Added.

	* debian/changelog,
	* po/POTFILES.in,
	* po/de.po: Modified.

	[550] New feature: Qt4 GUI implementation: * Added qt4/: Qt4
	implementation of the abstract user interface. Thanks to   Michael
	Hofmann <mh21@piware.de> for that! * debian/copyright: Add Michael as
	copyright holder.

2007-02-08  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [549] TODO item

	* debian/changelog: [548] release as 0.50 to feisty

	* debian/changelog,
	* gtk/apport-gtk: [547] * gtk/apport-gtk: Mark '(binary data)' string
	as translatable.

	* TODO: [546] TODO item

	* bin/apport-retrace,
	* debian/changelog,
	* debian/control: [545] * bin/apport-retrace: Use python-launchpad-
	bugs to create a Report object   from a given Launchpad bug number
	(given as argument instead of the report   file path). Add appropriate
	p-l-b dependency.

	* TODO: [544] TODO item

2007-02-07  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* gtk/apport-gtk.glade: [543] * gtk/apport-gtk.glade: Fix 'prolem'
	typo.

2007-02-06  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [542] release as 0.49 to feisty

	* apport/ui.py: [541] remove debugging print statements

	* apport/ui.py,
	* debian/changelog: [540] * apport/ui.py, open_url(): Check the user's
	session for   ksmserver/gnome-session to decide whether to prefer
	kfmclient or   gnome-open. Also, only call Firefox directly if gconf's
	prefered browser   is actually Firefox. Closes: LP#82007

	* debian/changelog,
	* gtk/apport-gtk: [539] * gtk/apport-gtk: Do not save/alter crash
	dialog title any more, it's empty   now.

	* apport/python_hook.py,
	* debian/changelog: [538] * apport/python_hook: Do not create a report
	if the binary is ignored. Add   test case. Closes: LP#83566

	* apport/ui.py,
	* debian/changelog: [537] * apport/ui.py, create_crash_bug_title():
	Cope with odd Tracebacks that are   shorter than three lines. Add test
	case from the bug. Closes: LP#83556

	* debian/changelog,
	* gtk/apport-gtk.glade: [536] * gtk/apport-gtk.glade: Fix s/send/sent/
	typo. Closes: LP#83061

2007-02-05  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [535] release as 0.48 to feisty

	* debian/changelog,
	* gtk/apport-gtk.glade: [534] * gtk/apport-gtk.glade: Remove window
	titles in alert dialogs to comply with   Gnome HIG. Closes: LP#83123

	* TODO: [533] mono does not trigger apport, remove TODO item

	* bin/apport-retrace: [532] merge apport-retrace bug fix from Kees's
	branch

2007-02-02  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [531] TODO item

2007-02-01  Martin Pitt <martin.pitt@ubuntu.com>

	* apport/report.py,
	* debian/changelog: [530] * apport/report.py, add_package_info(): Fix
	crash when the first dependency   is not installed. Closes: LP#82561

	* debian/changelog: [529] restructure changelog

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [528] * gtk/apport-gtk{,.glade}: Add
	implementation for ui_present_kernel_error().

	* apport/ui.py,
	* debian/changelog: [527] * apport/ui.py: Add support for reporting
	ProblemType: Kernel reports, and   add test suite for the workflow.

	* TODO,
	* apport/ui.py,
	* debian/changelog: [526] * apport/ui.py: Do not crash if Package:
	specifies a nonexisting package.   Display a proper error message
	instead. Add test_run_crash_errors() test   case.

2007-02-01  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/kernel_hook: Added.

	* TODO,
	* debian/apport.install,
	* debian/changelog,
	* setup.py,
	* test-hooks: Modified.

	[525] * Add bin/kernel_hook and ship it in /usr/share/apport. The
	kernel can call   this on an Oops. Add a test suite for it to test-
	hooks.

2007-02-01  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* apport/report.py,
	* debian/changelog: [524] * apport/report.py, add_hooks_info(): Only
	use first part of 'Package:',   there might be a version number and a
	changed files list which we must not   propagate to the import
	statement. Closes: LP#82566

2007-01-31  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [523] TODO item

2007-01-31  Martin Pitt <martin.pitt@ubuntu.com>

	* test-hooks: Added.

	* debian/changelog,
	* run-tests: Modified.

	[522] * Add ./test-hooks: Test suite for the various package hooks
	shipped with   apport. Test the package problem hook for now.

2007-01-31  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* setup.py: [521] * setup.py: Remove version attribute, we do not
	update and use it anyway.

	* bin/apport,
	* debian/changelog: [520] * bin/apport: Call add_os_info(), so that we
	get architecture information   even for 'naked' reports which didn't
	go through UI enrichment.

2007-01-31  Martin Pitt <martin.pitt@ubuntu.com>

	* gtk/Makefile,
	* gtk/apport-gtk.desktop.in: Added.

	* debian/apport-gtk.install,
	* debian/changelog,
	* debian/rules,
	* po/POTFILES.in: Modified.

	[519] * Add gtk/apport-gtk.desktop.in: Desktop file for calling
	apport-gtk in   'file a distro bug' mode, to be displayed in gnome-
	panel's System menu   (see bug-reporting-tool spec). Also add a
	Makefile to do the   intltool-merge dance, add it to POTFILES.in, and
	ship it in   debian/apport-gtk.install.

2007-01-31  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [518] TODO item

	* backends/packaging-dpkg.py,
	* debian/changelog: [517] * backends/packaging-dpkg.py test suite:
	Verify that packages returned by   get_dependencies() actually exist.
	This catches the 'chops off first   letter of package name sometimes'
	bug. * backends/packaging-dpkg.py, _init_status(): Add missing space
	to Depends:   field format in dpkg-query call. This fixes the chopped-
	off first letters   in the 'Dependencies' report field.

	* debian/changelog,
	* debian/control: [516] * debian/control: Add gdb dependency to
	python-apport.

	* bin/apport-retrace,
	* debian/changelog,
	* debian/control: [515] * debian/control: Add missing python-apt
	dependency to apport   (apport-retrace needs it). Thanks to Kees Cook
	for noticing. * Merged various apport-retrace improvements from Kees'
	branch:   - Add various options to override some report fields with
	local values.   - Add --verbose option and be quiet by default.   -
	Read ProcMaps for additional library dependencies, to also catch
	libraries loaded at runtime (plugins).   - Set correct debug file
	directory when starting an interactive gdb     session with -g.

	* debian/changelog: [514] release as 0.46 to feisty

	* bin/package_hook,
	* debian/changelog: [513] * bin/package_hook: Remove erroneous 'import
	apport.packaging', which   shadows the packaging variable in the
	apport package. This unbreaks the   package problem hook. Closes:
	LP#82297

	* debian/changelog,
	* debian/control: [512] * debian/control: Bump dependencies to python-
	apport due to recent changes   in expected return values in some UI
	functions. Closes: LP#82267

2007-01-29  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [511] TODO items

2007-01-29  martin@piware.de

	* debian/changelog: [510] release as 0.45 to feisty

2007-01-28  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog,
	* test-apport: [509] * test-apport: Test blacklisting.

	* debian/changelog: [508] add LP bug number to changelog

2007-01-27  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport,
	* debian/changelog: [507] * bin/apport: Do nothing if the current
	crash is blacklisted.

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [506] * gtk/apport-gtk{,.glade}: Add a
	blacklist checkbox to the crash   notification dialogs.

	* apport/ui.py,
	* debian/changelog: [505] * apport/ui.py: Add another return value of
	ui_present_crash() to specify   whether or not to blacklist the
	current crash's executable. Check workflow   of both responses in the
	test suite.

	* apport/report.py,
	* debian/changelog: [504] * apport/report.py, _get_ignore_dom(): Do
	not throw an error for an empty   ignore list file. *

	* TODO: [503] missing dependencies work fine, remove TODO item

	* TODO,
	* apport/ui.py,
	* debian/changelog: [502] * apport/ui.py, create_crash_bug_title():
	Create default bug title for   package reports. Add various test
	cases.

	* bin/package_hook: [501] bin/package_hook: do not crash if no logs
	are given

	* apport/ui.py: [500] use splitlines() instead of split(\n)

	* TODO,
	* apport/ui.py,
	* debian/changelog: [499] * apport/ui.py, create_crash_bug_title():
	- Do not crash on an empty StacktraceTop. Closes: LP#81677   - Do not
	mention an unknown function name ('??') in the bug title;     instead,
	use the topmost function with a known name, or leave it out     at
	all.   - Add test cases for these situations.

	* apport/__init__.py,
	* apport/fileutils.py,
	* apport/packaging.py,
	* apport/report.py,
	* bin/package_hook,
	* debian/changelog: [498] * Changed the packaging backend import, so
	that its methods can now be   accessed at apport.packaging instead of
	apport.packging.impl.

	* TODO,
	* backends/packaging-dpkg.py,
	* debian/changelog: [497] * backends/packaging-dpkg.py: Do not read
	the dpkg status in the   constructor, but lazily initialize it when
	actually calling a query   function. This avoids imposing the dpkg-
	query overhead for programs that   import the apport package without
	doing package queries (such as any   Python program under Ubuntu, due
	to the Python crash hook).

	* debian/changelog: [496] fix changelog ordering

	* debian/changelog,
	* run-tests: [495] run-tests: Adapt to new core_pattern kernel
	interface

	* apport/fileutils.py,
	* apport/report.py,
	* backends/packaging-dpkg.py,
	* bin/apport-retrace,
	* debian/changelog,
	* problem_report.py: [494] Code cleanups: * Consistently use 'in'/'not
	in' instead of find() for substring searches.

	* apport/report.py,
	* debian/changelog: [493] * apport/report.py: Fix
	test_add_gdb_info_script() to not leave behind a   stray gzip process
	which randomly blocks stdin.

	* apport/report.py,
	* debian/changelog: [492] * apport/report.py, add_package_info(): Do
	not produce stray empty lines for   uninstalled alternative
	dependencies.

	* backends/packaging-dpkg.py,
	* debian/changelog: [491] * backends/packaging-dpkg.py: Fix return
	value of get_modified_files() if   dpkg .list file is missing.

	* apport/report.py,
	* debian/changelog: [490] * apport/report.py test suite: Refactorize
	generation of test crash program   and core dump generation.

	* apport/report.py,
	* debian/changelog: [489] * apport/report.py test suite: Use gdb to
	generate a test core dump, do not   rely on kill(SIGSEGV) and the
	kernel to do it (since we now use a pipe in   core_pattern).

	* TODO: [488] TODO item

2007-01-26  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO: [487] TODO items

	* TODO: [486] TODO items

2007-01-25  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/apport,
	* debian/changelog: [485] * apport: Improve logging of exceptions,
	include environment variables.

	* TODO: [484] TODO item

	* debian/changelog,
	* use-local: [483] * use-local: Adapt to new core_pattern kernel
	interface.

	* debian/changelog,
	* test-apport: [482] * test-apport: Adapt to new core_pattern kernel
	interface mode:   - Check core_pattern instead of the obsolete
	crashdump sysctl to determine     whether or not apport is running.
	- Give apport max. 10 seconds to complete. The current kernel reaps
	the     crashed process as soon as writing the core dump to the pipe
	is     finished, but apport still needs to write the report file.   -
	Do not EXFAIL the test for crashes in nonwriteable cwd any more, since
	it is now supposed to work (we do not write a core dump to the disk
	any     more).

	* apport/report.py,
	* debian/changelog: [481] New feature: Maintain a per-binary blacklist
	to inhibit apport crash reports until the binary changes. Closes:
	LP#79408 * apport/report.py: Add new Report methods check_ignored()
	and mark_ignore()   to check for/set ignore list entries. Add test
	cases.

	* debian/changelog: [480] structure changelog

	* bin/package_hook,
	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [479] * gtk/apport-gtk{,.glade}: GTK
	implementation of ui_present_package_error().

	* apport/ui.py,
	* debian/changelog: [478] * apport/ui.py: If ProblemType is 'Package',
	call a new function   self.ui_present_package_error() instead of
	presenting a crash. Add test   suite checks for the package error
	report workflow.

	* debian/changelog,
	* gtk/apport-gtk: [477] * gtk/apport-gtk: Fix return code for
	restarting the application ('reopen' ->   'restart'). Closes: LP#81422

2007-01-25  Martin Pitt <martin.pitt@ubuntu.com>

	* bin/package_hook: Added.

	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[476] * Add bin/package_hook: Script for creating a report for a
	package   installation/upgrade failure. It receives a package name, a
	number of log   files, and an ErrorMessage: from stdin. This will be
	called from e.g.   dist-upgrader. * setup.py, debian/apport.install:
	Ship package_hook.

2007-01-24  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/changelog: [475] release as 0.44 to feisty

	* debian/changelog: [474] brush up the changelog

	* backends/packaging-dpkg.py,
	* debian/changelog: [473] * backends/packaging-dpkg.py: Use a single
	hackish 'dpkg-query --show *'   as a portable variant of 'cat
	/var/lib/dpkg/status' to pre-fill the status   cache with all packages
	instead of calling dpkg -s on every single package   we query. This
	changes the time for figuring out dependencies and their   versions
	from 'unbearable for many packages' to 'barely noticeable'.

	* apport/ui.py,
	* debian/changelog: [472] * apport/ui.py: Call add_hooks_info() in the
	information collection thread.

	* apport/report.py: [471] apport/report.py: fix test case

	* apport/report.py,
	* debian/changelog: [470] * apport/report.py: Add method
	add_hooks_info() which executes a function   add_info(report) from
	/usr/share/apport/<package>.py. Also add   appropriate test cases.
	This provides per-package hooks for apport.

	* apport/python_hook.py,
	* debian/changelog: [469] * apport/python_hook.py: If we figure out an
	ExecutablePath which is not   actually an executable, do not create a
	report. This particularly affects   interactive python sessions where
	sys.argv[0] is empty and thus   ExecutablePath ends up being the
	current directory. Add test cases.   Closes: LP#81237

	* apport/python_hook.py,
	* debian/changelog: [468] * apport/python_hook.py: Use
	fileutils.likely_packaged() instead of   checking for /tmp and home,
	so that we ignore stuff in /usr/local, too.   Closes: LP#81244

	* apport/python_hook.py,
	* debian/changelog: [467] * apport/python_hook.py: Check for a correct
	ExecutablePath in   test_general().

	* apport/report.py,
	* debian/changelog: [466] * apport/report.py: Add some more test cases
	for _check_interpreted() for   Python scripts.

2007-01-23  Martin Pitt <martin.pitt@ubuntu.com>

	* TODO,
	* backends/packaging-dpkg.py,
	* debian/changelog: [465] * backends/packaging-dpkg.py,
	get_modified_files(): Compare package file's   ctime and mtime against
	the package list file's mtime and only md5sum the   files that are
	newer. This drastically reduces the amount of md5suming   (usually to
	zero) and thus speeds up the information collection.

	* backends/packaging-dpkg.py,
	* debian/changelog: [464] * backends/packaging-dpkg.py,
	_check_files_md5(): Also accept a md5sum   string in addition to a
	md5sum file.

	* debian/changelog: [463] release as 0.43 to feisty

	* apport/ui.py,
	* debian/changelog: [462] * apport/ui.py, file_report(): Submit a
	default bug title for crash reports.   Closes: LP#79657

	* apport/ui.py,
	* debian/changelog: [461] * apport/ui.py: Add method
	create_crash_bug_title() to construct a   reasonable standard bug
	title for crash reports, so that the automatic   duplicate detection
	actually has a chance to work. Also add test cases for   various
	signal crashes and an unhandled Python exception.

	* debian/changelog: [460] release as 0.42 to feisty

	* TODO: [459] TODO item

	* apport/ui.py,
	* debian/changelog: [458] * apport/ui.py: Add missing 'import pwd'.
	Closes: LP#81033

	* debian/changelog,
	* debian/control: [457] * debian/control: Bump apport's and apport-
	gtk's dependency to python-apport   to make sure that apport.ui is
	available. Closes: LP#81019

	* debian/changelog,
	* gtk/apport-gtk: [456] * gtk/apport-gtk: Add missing 'import
	subprocess.'. Closes: LP#81007

	* debian/changelog,
	* problem_report.py: [455] * problem_report.py, write_mime(): Fix off-
	by-one comparison of the 'inline   text' treshold, so that apport's
	StacktraceTop field appears in bug   summaries. Also fix a corner case
	in CR line ending handling. Check both   things in the test suite.

2007-01-22  Martin Pitt <martin.pitt@ubuntu.com>

	* debian/apport.init,
	* debian/changelog: [454] * debian/apport.init: Set the kernel's
	core_pattern sysctl to pipe to apport   if the edgy-style 'crashdump-
	helper' sysctl helper does not exist.

	* apport/ui.py,
	* debian/changelog: [453] * apport/ui.py: Fix error message invocation
	for reporting cloakroom upload   failure.

	* TODO,
	* apport/ui.py,
	* debian/changelog: [452] Minor improvements: * apport/ui.py: Get the
	cloakroom ticket number from the   X-Launchpad-Blob-Token HTTP header
	instead of parsing the resulting page.

	* debian/changelog,
	* problem_report.py: [451] * problem_report.py, write_mime(): Make
	sure that multi-line values that go   to the summary are terminated
	with a newline.

	* debian/changelog,
	* gtk/apport-gtk.glade: [450] * gtk/apport-gtk.glade: Fix expand/fill
	attributes so that the expander gets   all the space when resizing the
	window. Closes: LP#80987

	* bin/apport,
	* debian/changelog: [449] * bin/apport: Only unlink the core dump if
	it still exists. Closes: LP#80866

	* apport/ui.py,
	* debian/changelog: [448] * apport/ui.py: Fix crash in the bug pattern
	search thread if we could   not determine a package name. Closes:
	LP#77872

	* debian/changelog: [447] beautify changelog

	* bin/apport,
	* debian/changelog,
	* preloadlib/libapport.c: [446] * bin/apport: Support calling without
	arguments, to support new semantics   agreed in the ApportImprovements
	spec: macro values (in particular, pid   and signal number) are passed
	as environment variables. * preloadlib/libapport.c: Simulate new
	kernel behaviour described above.

2007-01-22  martin@piware.de

	* bin/apport-retrace,
	* debian/changelog: [445] * bin/apport-retrace: Beautify error message
	when report file is not   accessible. Closes: LP#79568

	* TODO: [444] TODO items

	* debian/changelog: [443] release as 0.41 to feisty

2007-01-22  martin@piware.de

	* apport/MultipartPostHandler.py,
	* apport/REThread.py,
	* apport/ui.py: Added.

	* TODO,
	* debian/apport-gtk.install,
	* debian/changelog,
	* debian/copyright,
	* debian/rules,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade,
	* po/POTFILES.in,
	* po/de.po,
	* run-tests,
	* setup.py: Modified.

	* gtk/apport-gtk.png: Renamed to gtk/apport.png.

	[442] merge cloakroom branch

2007-01-21  martin@piware.de

	* debian/changelog: [441] debian/changelog: remove trailing whitespace

	* apport/report.py,
	* debian/changelog: [440] * apport/report.py: Disassemble 16
	instructions instead of 32 bytes to   become independent of the
	instruction size. Thanks to Kees Cook for the   patch!

	* debian/changelog,
	* gtk/apport-gtk: [439] * gtk/apport-gtk: Only offer to restart
	programs that are in the $PATH. E.   g. /usr/lib/firefox/firefox-bin
	cannot be called directly.    Closes: LP#79623

	* debian/changelog,
	* debian/control,
	* gtk/apport-gtk: [438] * gtk/apport-gtk: Use pgrep with -u instead of
	pidof for testing whether the   crashed process is already running
	again, so that we do not match   processes of other users. Add procps
	package dependency for this.

2007-01-18  martin@piware.de

	* backends/packaging-dpkg.py,
	* debian/changelog: [437] * backends/packaging-dpkg.py,
	get_file_package(): Process list files in   chunks of 100, so that we
	do not exceed the maximum command line length if   there is a large
	number of packages installed. Closes: LP#64839

2007-01-15  martin@piware.de

	* debian/changelog: [436] release as 0.40 to feisty

	* debian/changelog,
	* debian/control: [435] * debian/control: Add missing python-dev build
	dependency, which is   apparently required for 2.5 now.

2007-01-13  martin@piware.de

	* debian/changelog: [434] release as 0.39 to feisty

2007-01-13  martin@piware.de

	* apport/packaging.py,
	* backends,
	* backends/packaging-dpkg.py: Added.

	* apport/fileutils.py,
	* apport/report.py,
	* debian/changelog,
	* debian/control,
	* debian/rules,
	* run-tests: Modified.

	[433] * Introduce abstract packaging interface and move all dpkg/apt
	specific bits   to a dpkg implementation of this packaging interface
	(merge   apport/abstract-pkg branch):   - Add apport/packaging.py:
	Abstract packaging system query interface.   - Add backends/packaging-
	dpkg.py: dpkg implementation of abstract     packaging interface.   -
	run-tests: Run tests of all backends.   - apport/fileutils.py,
	apport/report.py: Port to packaging.py interface.   - debian/control:
	Drop python-apport's 'python-apt' dependency since the     backend
	only uses dpkg now (without measurable performance penalty since
	it uses internal caching).   - debian/rules: Install backends
	/packaging-dpkg.py as our packaging     backend to
	apport/packaging_impl.py and remove it again on clean.

2007-01-12  martin@piware.de

	* debian/changelog: [432] release as 0.38 to feisty

	* debian/changelog,
	* gtk/apport-gtk: [431] * gtk/apport-gtk: If called through sudo to
	process system crashes, drop   privileges to the original user in
	open_url() so that we get the web   browser correctly. (LP#62316)
	Caveat: The user cannot actually attach the   crash report file
	directly since it is not accessible to the user; this   will get fixed
	once Malone is able to link a bug report with uploaded   blobs.

	* bin/apport-checkreports,
	* debian/changelog: [430] * bin/apport-checkreports: Add option
	--system to check for system crash   reports. Closes: LP#62316

	* apport/fileutils.py,
	* debian/changelog: [429] * apport/fileutils.py: Add
	get_all_system_reports() and   get_new_system_reports() and added test
	cases. Now the test suite can also   be run as root to be able to
	actually check their complete behaviour.   Adapt the other tests to
	get along with running the tests as root.

	* debian/changelog,
	* debian/rules: [428] * debian/rules: Build POT file again.

2007-01-10  martin@piware.de

	* COPYING: Added.

	* debian/changelog: Modified.

	[427] * Add ./COPYING: GPL license.

2007-01-08  martin@piware.de

	* debian/changelog: [426] release as 0.37 to feisty

	* apport/report.py,
	* debian/changelog: [425] * apport/report.py test suite: Do not rely
	on a particular structure of the   'cat' stacktrace; apparently this
	is not consistent across architectures.   Instead, compile a
	segfaulting mini C program, let it dump core, and test
	add_gdb_info() on it instead. This also allows us for a more rigid
	check   of StacktraceTop.

	* debian/changelog,
	* problem_report.py: [424] * problem_report.py: Remove the requirement
	that values must not contain   empty lines. Add test cases that
	reading and writing values with empty   lines works, and add a test
	case that load() properly complains about   empty lines in debcontrol
	encoding (empty lines in values are encoded with   a single space).
	Closes: LP#78094

2007-01-05  martin@piware.de

	* debian/changelog: [423] release as 0.36 to feisty

	* apport/report.py,
	* debian/changelog: [422] * apport/report.py: Add missing import of
	'time' to test suite.

2007-01-04  martin@piware.de

	* debian/changelog,
	* gtk/apport-gtk: [421] * gtk/apport-gtk: Catch exceptions from
	decoding of damaged reports and   display an error message instead of
	crashing. Closes: LP#77149

	* debian/changelog,
	* gtk/apport-gtk: [420] * gtk/apport-gtk: Properly catch exceptions
	from the bug pattern check   thread to avoid useless backtraces like
	in bug #75160.

	* debian/changelog,
	* gtk/apport-gtk: [419] * gtk/apport-gtk: Catch MemoryError when
	loading a report and display an   error dialog instead of just
	crashing. Closes: LP#76235

	* debian/changelog,
	* debian/control: [418] * debian/control: Add missing python-apport
	dependency 'python-apt', which   is not caught by ${python:Depends}.

	* debian/apport.init,
	* debian/changelog: [417] * debian/apport.init: Use mkdir -p instead
	of install -d, since install is   not in /bin. Thanks to Kees Cook for
	catching this.

	* apport/report.py,
	* bin/apport-retrace,
	* debian/changelog: [416] * bin/apport-retrace, apport/report.py: Call
	gdb on InterpreterPath if   present; calling it on a script does not
	yield anything useful. Add a test   case to report.py.

	* debian/changelog,
	* gtk/apport-gtk.glade: [415] * gtk/apport-gtk.glade: Restore vertical
	padding of bug report dialog labels   (another Glade 3 transition
	regression).

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [414] * gtk/apport-gtk: Defer opening of the
	bug reporting window a bit so that   it appears on top of the browser
	window. Also enable the task bar blinking   for it when it is in the
	background.

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [413] * gtk/apport-gtk{,.glade}: Terminate the
	program properly when closing the   progress dialog instead of exiting
	with an exception.

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk.glade: [412] * gtk/apport-gtk.glade: Restore pulse
	step of progress bar (this apparently   got destroyed when saving with
	Glade 3).

2007-01-03  martin@piware.de

	* TODO: [411] TODO item

	* TODO: [410] TODO items

	* debian/changelog: [409] release as 0.35 to feisty

2007-01-02  martin@piware.de

	* debian/changelog,
	* gtk/apport-gtk.glade: [408] * gtk/apport-gtk.glade: Split the text
	in the progress bar dialog so that we   can use it for multiple steps
	(like uploading data to Malone) while not   breaking translations.

	* apport/report.py,
	* debian/changelog: [407] * apport/report.py,
	test_search_bug_patterns(): Use security.u.c. instead   of
	archive.u.c., since the latter times out too often.

	* apport/report.py,
	* debian/changelog: [406] * apport/report.py, add_gdb_info(): Add
	field 'StacktraceTop' with the top   five functions on the stack and
	no local variables. This reduced 'glimpse'   is suitable for inline
	display in bug reports and automatic processing   (dup finders, etc).

	* apport/report.py,
	* debian/changelog: [405] * apport/report.py, add_gdb_info(): Strip
	away the 'No symbol table info   available' messages from stack
	traces.

	* apport/report.py: [404] fix add_user_info() to get groups from
	shadow db instead of current process

	* bin/apport,
	* debian/changelog,
	* test-apport: [403] * bin/apport: Call add_user_info(), check
	functionality in test-apport.

	* apport/report.py,
	* debian/changelog: [402] Bug/crash information: * apport/report.py,
	add_user_info(): Add list of system groups that the user   belongs to.

2006-12-29  martin@piware.de

	* debian/changelog,
	* gtk/apport-gtk: [401]   - Refactor creation of temporary report
	file.

2006-12-28  martin@piware.de

	* debian/changelog,
	* gtk/apport-gtk: [400] * gtk/apport-gtk: Code cleanup and
	refactorization:   - Move iteration over crash reports into __main__
	to simplify housekeeping     in the ApportGTK class and get rid of
	some functions.

	* debian/changelog,
	* gtk/apport-gtk: [399] * gtk/apport-gtk: Support --file-bug without
	specifying a package or a PID   for filing generic distro bugs.

2006-12-26  martin@piware.de

	* debian/changelog,
	* po/de.po: [398] * po/de.po: Unfuzz some strings.

	* debian/changelog,
	* po/Makefile: [397] Bug fixes: * po/Makefile: Add top_srcdir to work
	with current intltool.

	* debian/changelog: [396] sort current changelog into improvements and
	new features

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [395] * gtk/apport-gtk{,.glade}: Generalize
	some strings to not talk about 'crash'   any more, to make them
	suitable for bug reporting, too.

	* debian/changelog,
	* gtk/apport-gtk: [394] * gtk/apport-gtk: Add --file-bug, --package,
	and --pid options; if given,   create a bug report about the given
	package instead of viewing crash   reports. See
	https://wiki.ubuntu.com/BugReportingTool for details.

	* apport/fileutils.py,
	* debian/changelog,
	* problem_report.py: [393] * Use cStringIO instead of StringIO in
	modules.

	* debian/changelog,
	* problem_report.py: [392] * problem_report.py: Add new method
	write_mime() to encode a problem report   in MIME/Multipart RFC 2822
	format (i. e. an email with attachments). Short   values are
	aggregated into the first inline text/plain part, large values,
	binary values, and file references get gzip compressed separate
	attachments. Also add various test cases. See
	https://wiki.ubuntu.com/BugReportingTool, 'Data submission' for
	details.

2006-12-24  martin@piware.de

	* debian/changelog,
	* gtk/apport-gtk: [391] * gtk/apport-gtk: Split out crash report
	initialization to new function   show_crashes() so that we can use the
	frontend for other purposes like bug   reporting.

2006-12-23  martin@piware.de

	* debian/changelog: [390] remove trailing whitespace from changelog

	* TODO,
	* apport/report.py,
	* debian/changelog: [389] * apport/report.py, add_gdb_info(): Call gdb
	just once and split the output   instead of calling it again for each
	command. This should significantly   speed up the gdb stage especially
	for large programs/core dumps.

	* TODO,
	* bin/apport,
	* debian/changelog: [388] * bin/apport: Do not use the expensive
	find_file_package() any more, use   likely_packaged() instead. This
	will create initial reports in some    corner cases (like custom non-
	packaged executables in /usr/bin/), but   greatly reduces I/O impact
	at crash time. We rely on apport-gtk to deal   with reports that do
	not actually belong to a packaged executable.

	* apport/fileutils.py,
	* debian/changelog: [387] * apport/fileutils.py: Split out heuristics
	for determining whether a file   belongs to a package to new function
	likely_packaged() and add test cases.

2006-12-22  martin@piware.de

	* debian/changelog: [386] release as 0.34 to feisty

	* TODO: [385] TODO items

	* bin/apport-retrace,
	* debian/changelog: [384] * bin/apport-retrace: Get along with
	Package:/Dependencies: fields with list   of modified files.

	* apport/report.py,
	* debian/changelog: [383] * apport/report.py, add_package_info():
	Append list of modified package   files to Package: and Dependencies:
	value. Closes: LP#70946

	* apport/fileutils.py,
	* debian/changelog: [382] * apport/fileutils.py: Add check_files_md5()
	and test cases.

2006-12-21  martin@piware.de

	* apport/python_hook.py,
	* debian/changelog: [381] * apport/python_hook.py: Chmod the generated
	report to 0600 to not expose   potentially private data to the world,
	and to be consistent with other   crash reports.

	* apport/python_hook.py,
	* debian/changelog,
	* run-tests: [380]   reading until atime != ctime, or the 1.2s timeout
	is reached. * apport/python_hook.py: Add unit test, call that in run-
	tests.

2006-12-20  martin@piware.de

	* apport/fileutils.py,
	* debian/changelog: [379] * apport/fileutils.py, mark_report_seen():
	Do not bail out if os.utime()   fails due to access permissions. This
	happens if the file does not belong   to the user calling apport-gtk,
	but is world-readable (such as ubiquity   crash reports). If utime()
	fails, repeatedly open()/close() the file for   reading until atime !=
	ctime, or the 1.2s timeout is reached.    Closes: LP#72250

2006-12-19  martin@piware.de

	* debian/changelog: [378] release as 0.33 to feisty

2006-12-19  martin@piware.de

	* debian/apport.postinst: Removed.

	* debian/changelog: Modified.

	[377] * Remove debian/apport.postinst: Those cleanups were only
	necessary for   intra-edgy upgrades.

2006-12-19  martin@piware.de

	* debian/python-apport.postinst: Added.

	* debian/changelog: Modified.

	[376] * Add debian/python-apport.postinst: Remove old .pyc and .pyo
	cruft on   upgrades to clean up after our broken dh_pysupport
	invocation in earlier   versions, so that the new modules are actually
	used.

2006-12-19  martin@piware.de

	* apport/fileutils.py,
	* apport/report.py: Added.

	* apport_utils.py,
	* debian/python-apport-utils.install: Removed.

	* apport/__init__.py,
	* apport/python_hook.py,
	* bin/apport,
	* bin/apport-checkreports,
	* bin/apport-retrace,
	* debian/changelog,
	* debian/control,
	* gtk/apport-gtk,
	* run-tests,
	* setup.py,
	* test-apport: Modified.

	[375] * Drop the apport_utils module (and with it the python-apport-
	utils   package), it became too much of a dumping ground. The report
	file handling   functions now live in apport.fileutils, and the
	debugging information   collectors are now methods of a new 'Report'
	class (subclass of   ProblemReport) in the new apport.report module.
	Adjust all programs   accordingly.

2006-12-18  martin@piware.de

	* debian/changelog,
	* gtk/apport-gtk: [374] * gtk/apport-gtk: Rework web browser
	invocation: Use kfmclient if available,   fall back to firefox-remote,
	then to webbrowser.open(). Do not call   x-www-browser any more since
	this would block if no running browser was   open before.

	* debian/changelog,
	* debian/control,
	* debian/rules: [373] * debian/rules: Convert to cdbs. This fixes the
	dh_pysupport invocation   along the way, too.

	* debian/changelog,
	* debian/rules: [372] * debian/rules: Fix dh_pysupport invocation to
	actually do something.

2006-12-15  martin@piware.de

	* debian/changelog: [371] release as 0.32 to feisty

2006-12-14  martin@piware.de

	* bin/apport-retrace,
	* debian/changelog: [370] * apport-retrace: Use ldd on InterpreterPath
	if present; ldd'ing scripts   will not get us very far. Closes:
	LP#72201

	* debian/changelog,
	* use-local: [369] * use-local: Fix path to apport as well (recently
	moved to bin/).

	* debian/changelog,
	* test-apport: [368] * test-apport: Fix AGENTPATH directory when
	building the preload library   (recently moved to bin/).

2006-12-05  martin@piware.de

	* apport_utils.py,
	* debian/changelog: [367] * apport_utils.py: Filter out "no debugging
	symbols found" warnings from gdb   outputs, and add some tests for
	this. Thanks to Kees Cook for the patch!

2006-12-05  martin@piware.de

	[366] formally merge already applies fixes from Kees' branch

2006-11-25  martin@piware.de

	* debian/changelog: [365] release as 0.31 to feisty

2006-11-25  martin@piware.de

	* apport/__init__.py: Added.

	[364] add forgotten __init__.py

2006-11-25  martin@piware.de

	* apport_utils.py: [363] apport_utils.py test suite: fix for scripts
	moved to bin/

	* apport_utils.py,
	* debian/changelog: [362] * apport_utils.py: Quiesce gdb error
	messages in test suite.

2006-11-25  martin@piware.de

	* constraints.py: Removed.

	[361] remove constraints.py, we will not need multiple threads in
	apport itself

2006-11-25  martin@piware.de

	* debian/changelog,
	* debian/control: [360] * debian/control: apport now depends on
	python-apport instead of   python-apport-utils.

2006-11-25  martin@piware.de

	* apport,
	* apport/python_hook.py,
	* debian/python-apport.install: Added.

	* debian/changelog,
	* debian/control,
	* setup.py: Modified.

	[359] * Add apport/python_hook.py: Default exception handler for
	Python, to create   apport reports for unhandled exceptions. Thanks to
	Robert Collins   <robert@ubuntu.com> for this! Closes: LP#70957 * Add
	new package python-apport to ship the new Python package 'apport'.
	This includes the python crash hook for now, but in the near future
	apport-utils will get redesigned and put into this package, too.

2006-11-25  martin@piware.de

	* bin: Added.

	* debian/changelog,
	* setup.py: Modified.

	* apport: Renamed to bin/apport.
	* apport-checkreports: Renamed to bin/apport-checkreports.
	* apport-retrace: Renamed to bin/apport-retrace.
	* apport-unpack: Renamed to bin/apport-unpack.

	[358] * Move scripts to bin/ in source package.

2006-11-25  martin@piware.de

	* debian/changelog: [357] release as 0.30 to feisty

	* debian/apport.init,
	* debian/changelog: [356] * debian/apport.init: Change /var/crash
	permissions to 1777, so that custom   crash handlers (in
	Python/Mono/etc.) can put reports there.

	* apport_utils.py,
	* debian/changelog,
	* gtk/apport-gtk: [355] * apport_utils.py, gtk/apport-gtk: Do not pass
	None to subprocess arguments   if report belongs to a non-packaged
	program. Thanks to Robert Collins for   discovering and fixing this!
	Closes: LP#70942

	* debian/changelog: [354] remove stray space in changelog

	* apport,
	* apport-retrace,
	* apport-unpack,
	* apport_utils.py,
	* debian/changelog,
	* gtk/apport-gtk,
	* preloadlib/libapport.c,
	* problem_report.py,
	* test-apport: [353] * Convert all tabs in Python source code files to
	spaces to comply to PEP 8.   Thanks to Robert Collins for pointing
	this out.

	* debian/apport.cron.daily,
	* debian/apport.init,
	* debian/changelog: [352] * debian/apport.cron.daily: Immediately exit
	if /var/crash does not exist.   Create /var/crash in
	debian/apport.init if it does not exist.   Closes: LP#71599

	* debian/changelog,
	* gtk/apport-gtk.glade: [351] * gtk/apport-gtk.glade: Improve dialog
	title capitalization.    Closes: LP#70652.

	* debian/changelog,
	* test-apport,
	* use-local: [350] * test-apport, use-local: Support both kernel
	2.6.17 and 2.6.19 sysctl names   (crashdump-helper vs. crashdump).

2006-11-06  martin@piware.de

	* debian/changelog: [349] release as 0.29 to feisty

2006-11-05  martin@piware.de

	* debian/changelog,
	* test-apport: [348] * test-apport: Build preload library with core
	piping. No more failed test   suite checks in 'lib' mode.

	* debian/changelog,
	* preloadlib/Makefile,
	* preloadlib/libapport.c: [347] * preloadlib: Support -DPIPE_CORE mode
	which emulates the   pipe-in-core_pattern mode of kernel 2.6.19.

2006-11-04  martin@piware.de

	* debian/changelog,
	* test-apport: [346] * test-apport: Fix EXFAILure of the 'core dump
	works for non-writable cwds'   test case.

	* apport: [345] Fix drop_privileges() for non-root lib mode

	* debian/changelog,
	* test-apport: [344] * test-apport: When using 'lib' mode, point
	APPORT_LOG_FILE to a temporary   file. Print it if the test suite
	fails.

	* apport-retrace,
	* debian/changelog: [343] * apport-retrace: If -c is given, completely
	remove the CoreDump field from   the report instead of setting it to
	'removed'.

	* apport-retrace,
	* debian/changelog,
	* man/apport-retrace.1: [342] * apport-retrace: Add new mode -g/--gdb
	which starts an interactive gdb   session with the report's core dump.
	Add this to man/apport-retrace.1, too.

	* debian/changelog,
	* test-apport: [341] * test-apport: Automatically detect whether
	ULIMIT_CORE is nonzero, and   adapt tests accordingly: check that core
	still exists after invoking   apport, and clean it up.

	* test-apport: [340] code style fixes

	* apport_utils.py,
	* debian/changelog: [339] * apport_utils.py, find_file_package():
	Terminate fgrep options with '--' to   avoid problems with funny file
	names. Thanks to Kees Cook for spotting   this!

	* apport,
	* apport_utils.py,
	* debian/changelog,
	* test-apport: [338] * apport: Temporarily drop real u/gid to target
	user for the os.access()   tests, so that normal users cannot verify
	the existence of a given   inaccessible file. Add comprehensive tests
	to apport_utils' test suite and   test-apport. Thanks to Kees Cook for
	this patch!

	* debian/changelog,
	* debian/control: [337]   core_pattern' feature. Bump python-problem-
	report dependency to >= 0.29   for this.

	* apport,
	* debian/changelog: [336] * apport: Confine permissions of log file to
	root:adm 0640, just in case.

	* TODO: [335] remove kernel-side TODO items, 2.6.19 pipe-in-
	core_pattern fulfills this quite well

	* apport,
	* debian/changelog: [334] * apport: Support '-' as core file argument,
	in which case the core will be   read from stdin. This paves the way
	for using Linux 2.6.19's 'pipe   core_pattern' feature.

	* run-tests: [333] fix new crashdump helper sysctl name in run-tests,
	too

	* debian/changelog,
	* problem_report.py: [332] * problem_report.py, ProblemReport.write():
	Support file-like objects as   argument of file references to support
	direct reading from pipes. Add test   case test_write_fileobj().

	* debian/changelog,
	* test-apport: [331] * test-apport: Restore cwd even when failing a
	test.

	* debian/apport.init,
	* debian/changelog,
	* test-apport,
	* use-local: [330] * debian/apport.init, test-apport, use-local: Adapt
	to 'crashdump-helper' ->   'crashdump' sysctl renaming in 2.6.19.

2006-10-25  martin@piware.de

	* apport_utils.py: [329] use full path for dpkg-divert

	* apport_utils.py,
	* debian/changelog: [328] * apport_utils.py:   - Add
	test_find_file_package_diversion() selftest to check diversion
	handling.   - find_file_package(): Check for and respect diversions.
	- Closes: LP#65917

	* apport-retrace,
	* debian/changelog: [327] * apport-retrace: Do not crash if a linked
	library is not a dependency.   Closes: LP#65914

2006-10-09  martin@piware.de

	* debian/changelog: [326] release as 0.28 to edgy

	* apport,
	* debian/changelog: [325] "No core - ignore!" * apport: Do not create
	a report for crashes which we do not get a core dump   for. The
	reports are useless and only clutter our bug tracker.

2006-10-06  martin@piware.de

	* debian/changelog: [324] release as 0.27 to edgy

	* apport_utils.py,
	* debian/changelog: [323] * apport_utils.py,
	report_add_package_info(): Do not crash if we encounter a   'None'
	current version, which can happen with uninstalled alternative
	dependencies. Thanks to Kees Cook for tracking this down!

	* apport_utils.py,
	* debian/changelog: [322] * apport_utils.py, find_file_package():
	Lower() both strings in the speedup   heuristics to match e. g.
	/usr/bin/Xorg -> xserver-xorg. Thanks to Kees   Cook!

	* apport,
	* debian/changelog: [321] * apport: use os.nice() instead of executing
	'renice'. Thanks to Benoit   Boissinot for noticing.

	* debian/changelog,
	* gtk/apport-gtk: [320] * gtk/apport-gtk: If gnome-open is not
	available, fall back to x-www-browser   instead of using
	webbrowser.py, to respect default browser in XFCE.   Closes: LP#64209

	* apport,
	* debian/changelog: [319] * apport: Ignore SIGABRT for now; it's
	usually signalled from abort() or   assertion failures and we only get
	reports with unusable stack traces for   it (see #61938).

2006-10-04  martin@piware.de

	* debian/changelog: [318] release as 0.26 to edgy

	* apport_utils.py,
	* debian/changelog: [317] * apport_utils, report_add_proc_info():   -
	Move heuristics for detecting interpreted scripts to a separate
	function     to be able to provide separate test cases for it. Check a
	few more     special cases for mono programs.   - Make interpreter
	heuristics even scarier to detect some more mono corner     cases
	(like banshee and beagled-helper). Closes: LP#58859

	* apport-retrace,
	* debian/changelog: [316] * apport-retrace: Make the best out of a
	report without packaging   information (which can happen if the user
	does not click on 'report bug'   in apport-gtk).

	* apport_utils.py: [315] fix documentation typo

	* debian/changelog: [314] remove trailing whitespace in changelog

	* apport-retrace,
	* debian/changelog,
	* man/apport-retrace.1: [313] * apport-retrace: Add option -d
	/--download-debug to automatically download   available ddebs, create
	a temporary debug symbol directory from already   installed and
	downloaded ddebs, and point gdb to use that. Also add option   -C
	/--cache-dir to specify a permanent ddeb cache directory (by default,
	a   temporary one is used). Update the manpage accordingly.

2006-10-02  martin@piware.de

	* apport_utils.py,
	* debian/changelog: [312] * apport_utils.py, report_add_gdb_info():
	Add optional parameter 'debugdir'   to specify an alternate debug file
	symbol root directory.

	* apport-retrace,
	* debian/changelog: [311] * apport-retrace: Clean up code a bit:    -
	Move option parsing to separate function.   - Use apport_utils'
	report_add_gdb_info() instead of duplicating the gdb     code.

	* debian/changelog: [310] release as 0.25 to edgy

	* apport,
	* debian/changelog: [309] * apport: Set nice level 10 instead of 5.
	Closes: LP#63099

	* apport,
	* debian/changelog: [308] * apport: Register an atexit handler as
	early as possible for unlinking the   core dump if REMOVE_CORE
	environment is set. Closes: LP#62972

	* debian/changelog,
	* preloadlib/libapport.c: [307] * preloadlib/libapport.c: Do not
	unlink the core file after calling apport,   but set REMOVE_CORE=1
	environment instead. This matches the current   kernel behaviour.

	* debian/changelog,
	* test-apport: [306] * test-apport, check_crash(): Verify that a crash
	does not leave a core file   behind. (Test for LP#62972)

	* apport_utils.py,
	* debian/changelog: [305] * apport_utils.py, report_add_gdb_info():
	Add register dump and disassembly   of the last 32 bytes, they might
	be useful to see what's going on   sometimes. Thanks to Kees Cook for
	the idea and the patch.

	* debian/changelog,
	* debian/control: [304] * Drop apport-gtk's update-notifier dependency
	to a Recommends:.

2006-09-29  martin@piware.de

	* debian/changelog: [303] release as 0.24 to edgy

	* debian/changelog,
	* debian/control: [302] * debian/control: Bumped library dependencies
	of apport-gtk, added   update-notifer dependency.

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [301]   - Change the 'Downloading bug
	patterns...' progress dialog to 'Collecting     information about the
	crash...'.

	* debian/changelog,
	* gtk/apport-gtk: [300] * gtk/apport-gtk:   - Collect
	gdb/packaging/operating system information when the user chooses
	to file a bug and update the apport report.

	* apport_utils.py,
	* debian/changelog: [299] * apport_utils.py, mark_report_seen(): Use
	os.utime() instead of   open()/read() and a timeout for simpler and
	faster operation.

	* apport_utils.py: [298] apport_utils.report_add_gdb_info(): fix to
	work with inline core dumps

	* debian/changelog,
	* problem_report.py: [297] * problem_report.py: Add new method
	ProblemReport.add_to_existing() to   update an already existing
	problem report with new data. Add test case.

	* debian/changelog,
	* problem_report.py: [296] * problem_report.py: Add test case for
	appending new data to an existing   report, fix write() function to
	not rely on an existing ProblemType key.

	* debian/changelog,
	* problem_report.py: [295] * problem_report.py:   - Use zlib instead
	of bzip2 for compressing the binary data (in     particular, core
	dumps). This results in slightly bigger files, but speeds     up
	compression a lot (30 seconds vs. ~2:45 minutes for a Firefox core
	dump     on my slow iBook). Closes: LP#61538   - ProblemReport.read():
	Support both bzip2 and zlib compression to be able     to read
	existing reports, too.   - Add/Adapt test cases.

	* apport,
	* debian/changelog: [294] * apport: Do not intercept KeyboardInterrupt
	as unhandled exception (only   useful for command line debugging,
	though).

	* TODO,
	* apport,
	* debian/changelog: [293] * apport: Do not collect static information.
	It requires a lot of CPU and   I/O resources and slows down the
	machine a lot, and it can be added to   the report later in the
	frontend. This also gets rid of the entire   InformationCollector
	class, since everything has been moved to   apport_utils.py now.
	Closes: LP#62542

	* debian/changelog,
	* test-apport: [292] * test-apport: Do not require apport reports to
	contain gdb, packaging, and   OS information, since we are going to
	move them out of apport.

	* apport_utils.py,
	* debian/changelog: [291] * apport_utils.py,
	report_add_package_info(): Support calling without a   package name,
	then it will be figured out from ExecutableName. Extend test   case
	accordingly.

	* apport,
	* apport_utils.py,
	* debian/changelog: [290] * Move InformationCollector._get_gdb() from
	apport to apport_utils.py   report_add_gdb_info(), and add a test case
	for it.

2006-09-28  martin@piware.de

	* apport,
	* debian/changelog: [289] * apport: Remove _copy_shrink_corefile():
	While this has an enormous impact   on the size of an uncompressed
	core dump, it only causes a negligible size   reduction of the
	bzip2'ed core, but it needs a lot of I/O resources for   large core
	dumps.

	* debian/changelog: [288] release as 0.23 to edgy

	* debian/changelog: [287] remove trailing whitespace in changelog

	* apport,
	* debian/changelog: [286] * apport: Ignore SIGQUIT. Closes: LP#62511

	* debian/changelog,
	* test-apport: [285] * test-apport: Check that SIGQUIT does not
	generate a report. (Check for    bug #62511).

	* debian/apport.init,
	* debian/changelog: [284] * debian/apport.init: Do not let the script
	run with set -e, so that   do_{start,stop} can deliver their return
	codes for proper evaluation,   instead of immediately existing.
	Closes: LP#61796

	* apport,
	* debian/changelog: [283] * apport: Reset signal handler to SIG_IGN in
	the crash signal handler, to   avoid an endless crash/handler loop
	(noticed during debugging LP#61708).

2006-09-19  martin@piware.de

	* debian/changelog: [282] release as 0.22 to edgy

	* apport,
	* debian/changelog,
	* test-apport: [281] * apport: Drop the maximum number of consecutive
	crashes per executable   from 5 to 2. 5 creates a too bad user
	experience and creates the   impression that it will never stop.
	Closes: LP#61078

	* apport_utils.py,
	* debian/changelog: [280] * apport_utils.py, find_file_package():
	First grep the package lists whose   names are a substring of the
	crashed binary name (or vice versa), to   immensely speed up the
	package name determination in many cases.

	* apport_utils.py,
	* test-apport: [279] fix script detection in report_add_proc_info() to
	work with relative script paths

	* test-apport: [278] test-apport: add relative path test case for non-
	packaged script check

	* apport,
	* debian/changelog: [277] * apport: Do not try to chmod the report
	file if we could not create it and   output to stderr instead (this
	mainly affects local testing only).

	* apport,
	* debian/changelog: [276] * apport: Call
	ic.collect_runtime_information() earlier and drop the local
	/proc/pid/exe examination, so that we get proper script detection.
	This   avoids getting crash reports for non-packaged scripts (see test
	case   change from above).

	* debian/changelog,
	* test-apport: [275] * test-apport: Check that non-packaged scripts do
	not generate a report.

	* apport_utils.py,
	* debian/changelog: [274] * apport_utils.py, report_add_proc_info():
	Make 'interpreted script'   detection more general to also work for
	mono programs.

2006-09-15  martin@piware.de

	[273] release as 0.21 to edgy

2006-09-14  martin@piware.de

	* TODO,
	* debian/apport.postinst,
	* debian/changelog,
	* debian/control,
	* debian/rules: [272] * debian/rules: Use 'multiuser' instead of
	'defaults' for dh_installinit.   Clean up the unnecessary rc symlinks
	in postinst and add appropriate   sysv-rc dependency.

2006-09-13  martin@piware.de

	* TODO: [271] TODO item

	* apport,
	* debian/changelog: [270] * apport: Gracefully abort if we cannot
	readlink /proc/pid/exe, instead of   falling over with an exception.
	Closes: LP#59993

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [269] * gtk/apport-gtk: Show a progress dialog
	while checking for bug patterns and   execute
	report_search_bug_patterns() in a separate thread, so that the UI   is
	not potentially blocked for a long time.

	* TODO,
	* apport,
	* apport_utils.py,
	* debian/changelog: [268] * apport_utils.py, find_file_package():
	Before searching the dpkg database   (which is expensive), check if
	the executable path matches a whitelist of   path prefixes. This
	replaces the weaker blacklist (/tmp and /home) in   apport itself.

	* TODO: [267] TODO items

	* debian/apport.default,
	* debian/changelog: [266] * debian/apport.default: Increase maximum
	core size to 200 MB, to also catch   Firefox and Evolution core dumps.

	* apport,
	* debian/changelog: [265] * apport: Run the complete code under
	control of the general exception   fallback handler.

	* debian/changelog: [264] remove superfluous space from changelog

	* apport,
	* debian/changelog: [263] * apport: Add the executable path to the
	first line of logging.

2006-09-12  martin@piware.de

	* apport,
	* debian/changelog: [262] * apport: Keep a partially written report
	with '000' permissions, and only   chmod it to 0600 when it is fully
	written. This stops update-notifier from   picking up half-written
	reports and get activated several times.    Closes: LP#59988

2006-09-11  martin@piware.de

	* TODO: [261] TODO item

	* debian/changelog: [260] release as 0.20 to edgy

	* debian/changelog: [259] changelog grammar fix

	* apport,
	* debian/changelog: [258] * apport: Install a signal handler for all
	'crashy' signals, which just logs   the signal and stack info and
	exits. This should avoid a crashing apport   examining itself,
	possibly in an endless loop. Closes: LP#58873

2006-09-10  martin@piware.de

	* debian/changelog,
	* test-apport: [257] * test-apport: Fix WCOREDUMP() and pidof checks
	in check_crash().

2006-09-10  martin@piware.de

	* debian/apport.logrotate: Added.

	* debian/changelog,
	* debian/rules: Modified.

	[256] * Add debian/apport.logrotate to add a daily 7-step
	/var/log/apport   log rotation.

2006-09-10  martin@piware.de

	* apport_utils.py,
	* debian/changelog: [255] * apport_utils.py, report_add_proc_info():
	- Apply some heuristics to determine whether the crashed process is an
	interpreted script (check if the Name in /proc/pid/status matches
	the second /proc/pid/cmdline part, and if that command line argument
	is     an existing executable file). In the case of an interpreted
	script, set     ExecutablePath to the script and InterpreterPath to
	the actually crashed     ELF binary.   - Test this with a shell
	(/bin/zgrep) and a Python (./apport-unpack)     script in the test
	suite.   - Closes: LP#58859

2006-09-08  martin@piware.de

	* apport-unpack,
	* debian/changelog,
	* man/apport-unpack.1: [254] * apport-unpack: Support '-' as report
	argument to read from stdin.

	* apport,
	* apport_utils.py,
	* debian/changelog: [253] * Move setting of ExecutablePath from
	apport's InformationCollector ctor to   apport_utils'
	report_add_proc_info(), where it belongs to. Check   ExecutablePath in
	apport_utils' regression tests.

	* TODO,
	* debian/changelog,
	* problem_report.py: [252] * problem_report.py: Alter write() method
	to sort binary data to the end of   the report. This makes reports
	easier to read, and also shows relevant   information more quickly
	when progressively loading them in a web browser.   Adapted regression
	tests accordingly.

	* debian/changelog,
	* problem_report.py: [251] * problem_report.py: Test attaching two
	files instead of one in the   test_write_file() regression check to
	assert correct key sorting.

2006-09-08  martin@piware.de

	* debian/apport.manpages,
	* man,
	* man/apport-retrace.1,
	* man/apport-unpack.1: Added.

	* debian/changelog,
	* debian/rules: Modified.

	[250] * Add manpages for apport-retrace(1) and apport-unpack(1) and
	install them   into apport. Closes: LP#58463

2006-09-08  martin@piware.de

	* TODO: [249] remove TODO item fixed by last commit

	* apport,
	* debian/changelog: [248] * apport: Renice ourself to priority 5 to
	not slow down the user's processes   so heavily.

	* TODO: [247] TODO item

2006-09-05  martin@piware.de

	* debian/changelog: [246] release as 0.19 to edgy

	* debian/changelog,
	* debian/control,
	* gtk/apport-gtk: [245] * apport-gtk: Make use of the new
	report_search_bug_patterns() function and   display appropriate
	instructions on match. Bump python-apport-utils dependency.

	* apport_utils.py: [244] report_search_bug_patterns(): gracefully
	handle invalid REs

2006-09-04  martin@piware.de

	* TODO: [243] TODO: valgrind issue has been settled

	* debian/changelog,
	* test-apport: [242] * test-apport: Fix help message.

	* apport_utils.py,
	* debian/changelog: [241] * apport_utils.py: Add function
	report_search_bug_patterns(): Try to   download a package specific bug
	pattern XML file from a given URL base   directory and return the bug
	URL in case of a match. Also add extensive   test suite check.

	* TODO: [240] todo item

2006-08-25  martin@piware.de

	* debian/changelog: [239] release as 0.18 to edgy

	* TODO,
	* debian/changelog,
	* problem_report.py: [238] * problem_report.py: Support an optional
	second argument of file references   which controls whether or not the
	file contents will be compressed/encoded   (defaults to True for
	backwards compatibility). Add test suite checks.

	* debian/changelog,
	* gtk/apport-gtk: [237]   - Support new field 'RespawnCommand' to use
	custom respawning command.

	* TODO,
	* debian/changelog,
	* debian/control,
	* gtk/apport-gtk: [236]   - Use the ProcCmdline attibute to restart an
	application; correctly     parsing of all the desktop file is just not
	possible at this point.

	* debian/changelog,
	* run-tests: [235] * run-tests: Check if kernel crash dump helper is
	active, and if so, run   test-apport in kernel mode.

	* apport_utils.py,
	* debian/changelog: [234] * apport_utils.py: Fix the quoting in
	ProcCmdline so that it is fully shell   compatible.

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade,
	* po/de.po: [233]   - Support new field 'BugDisplayMode: file | list
	(default)'. In 'file'     mode, display the /+filebug page instead of
	/+bugs and change     instructions accordingly.

	* debian/control: [232] bump dependency for
	ProblemReport.has_removed_files()

	* debian/changelog,
	* gtk/apport-gtk.glade,
	* po/de.po: [231]   - Change tooltip of 'reduced report' radio button
	to be more generic (do     not refer to the memory dump, but to 'large
	items', since this is what     apport-gtk currently does).

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk: [230]   - Only created reduced report and show the
	radio buttons if there are     actually removed fields.

	* debian/changelog,
	* problem_report.py: [229] * problem_report.py: Add method
	has_removed_fields() to check whether load()   skipped any fields due
	to binary=False. Add test suite check.

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk: [228]   - If the report specifies an explicit
	DesktopFile, use that instead of     trying to figure it out.

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk: [227]   - Do not assume the presence of the
	ExecutablePath key in reports, but     gracefully fall back to
	Package.

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk: [226] * apport-gtk:   - Use pidof's -x option in the
	detection whether the program is already     running to correctly
	handle scripts.

2006-08-24  martin@piware.de

	* TODO: [225] TODO item

2006-08-22  martin@piware.de

	* debian/changelog: [224] release as 0.17 to edgy

2006-08-22  martin@piware.de

	* debian/apport.postinst: Added.

	* debian/changelog: Modified.

	[223] * Add debian/apport.postinst: Remove
	/usr/share/apport/apport_utils.pyc when   upgrading from an earlier
	version, so that the programs in   /usr/share/apport actually use the
	version from p-apport-utils.

2006-08-22  martin@piware.de

	* apport_utils.py,
	* debian/changelog: [222] * apport_utils.py: Add make_report_path(),
	which constructs the canonical   crash report pathname for a given
	report.

	* apport_utils.py,
	* debian/changelog,
	* problem_report.py: [221] * problem_report.py, apport_utils.py:
	Prepend UnitTest classes with '_' so   that they do not appear in the
	help() output.

	* debian/changelog,
	* po/de.po: [220] * po/de.po: Add new translations to make this
	complete again.

2006-08-22  martin@piware.de

	* debian/python-apport-utils.install: Added.

	* apport,
	* apport-checkreports,
	* debian/apport.install,
	* debian/changelog,
	* debian/control,
	* debian/python-problem-report.install,
	* gtk/apport-gtk,
	* setup.py: Modified.

	[219] * Change apport_utils.py to be a public module and ship it in
	the new   python-apport-utils package, so that other applications like
	ubiquity can   use it easily.

2006-08-22  martin@piware.de

	* debian/changelog,
	* preloadlib/libapport.c: [218] * preloadlib/libapport.c: Route
	gcore's stderr to /dev/null to suppress   error messages during the
	test suite and to become more compatible to the   kernel behaviour.

	* apport,
	* apport_utils.py,
	* debian/changelog: [217] * Move /proc information collection from
	apport to new function   report_add_proc_info() in apport_utils.py,
	add test suite check, and fix   handling of failed /proc/$$/environ
	reading.

	* apport,
	* apport_utils.py,
	* debian/changelog: [216] * Move operating system information
	collection from apport to new function   report_add_os_info() in
	apport_utils.py, add test suite check.

	* apport,
	* apport_utils.py,
	* debian/changelog: [215] * Move packaging information collection from
	apport to new function   report_add_package_info() in apport_utils.py,
	add test suite check.

2006-08-21  martin@piware.de

	[214] release as 0.16 to edgy

2006-08-21  martin@piware.de

	* TODO,
	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [213] * apport-gtk: Offer an alternative small
	report (without the core dump) for   users with slow internet
	connection.

	* test-apport: [212] test-apport: Clean up temporary file

	* apport,
	* debian/changelog: [211] * apport: Replace 0-bytes in ProcCmdline
	with spaces to keep them readable.

	* TODO,
	* apport,
	* debian/changelog: [210] * apport: Immediately exit if the executable
	name starts with /home or /tmp,   to avoid grepping the dpkg database
	in the common developer case.

	* TODO: [209] TODO item

	* apport,
	* debian/changelog: [208] * apport: Use find_file_package() instead of
	direct dpkg -S call and pass   the result to the InformationCollector
	ctor to avoid grepping the dpkg   lists twice.

	* apport_utils.py: [207] apport_utils.py: robustify subprocess call

	* apport_utils.py,
	* debian/changelog: [206] * apport_utils.py: Add find_file_package()
	to find the package a file   belongs to. This uses fgrep
	/var/lib/dpkg/info/*.list which is much faster   than dpkg -S. Also
	add test suite check.

	* debian/changelog,
	* test-apport: [205] *  test-apport: Check that non-packaged binaries
	do not generate a report.

2006-08-20  martin@piware.de

	* TODO: [204] TODO item

	* debian/changelog: [203] release as 15 to edgy

	* debian/changelog,
	* test-apport: [202] * test-apport: If using the preload library, wait
	a second between the test   process invocations in the flooding test
	to mitigate a strange race   condition that sometimes causes the
	signal handler not to be executed.

	* debian/changelog,
	* preloadlib/libapport.c: [201] * preloadlib/libapport.c: Improve
	error checking, some robustification.

	* debian/changelog,
	* test-apport: [200] * test-apport: Check for running apport and test
	executable processes in   check_crash().

	* debian/changelog,
	* test-apport: [199] * test-apport: Delete test report in the cleanup
	handler so that the   kernel-mode test can be run multiple times
	without manual cleanup.

	* apport,
	* debian/changelog: [198] * apport: Filter out all environment
	variables but $SHELL, $PATH, and   locale/language related ones.
	Closes: LP#56846

	* debian/changelog,
	* test-apport: [197] * test-apport: Check that dumped environment only
	contains security   insensitive variables.

2006-08-20  martin@piware.de

	* apport-unpack: Added.

	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[196] * Add apport-unpack: Script to extract the fields of a problem
	report into   separate files into a new or empty directory. Mainly
	useful for extracting   compressed binary data like the core dump.

2006-08-18  martin@piware.de

	* debian/changelog: [195] release as 0.14 to edgy

	* test-apport: [194] test-apport: clean up output

	* debian/changelog,
	* preloadlib/libapport.c: [193] * preloadlib/libapport.c: Close stderr
	for apport process.

	* test-apport: [192] test-apport: Check that core dump works for non-
	writable cwds

	* test-apport: [191] apport-test: check flooding

	* apport_utils.py,
	* debian/changelog: [190] * apport_utils.py, delete_report(): Actually
	try to unlink the report before   falling back to truncating it to
	zero bytes.

	* run-tests,
	* test-apport: [189] add kernel mode to test-apport

2006-08-18  martin@piware.de

	* test-apport: Added.

	* debian/changelog,
	* run-tests: Modified.

	[188] * Add test-apport: Use preloadlib/ and APPORT_REPORT_DIR to
	create a   sandboxed environment and run various apport functionality
	tests. Also add   this script to run-tests.

2006-08-18  martin@piware.de

	* debian/changelog,
	* preloadlib/libapport.c: [187] * preloadlib/libapport.c: Close stdout
	for gcore process.

	* debian/changelog,
	* preloadlib/libapport.c: [186] * preloadlib/libapport.c: Re-raise the
	signal instead of doing exit() so   that the process exits with the
	same code as it would do without the   library.

	* apport,
	* debian/changelog: [185] * apport: Quiesce the apt module's
	FutureWarning.

	* apport_utils.py,
	* debian/changelog: [184] * apport_utils.py: Check APPORT_REPORT_DIR
	environment variable for an   alternate crash report directory. This
	is mainly useful for a local test   suite.

	* debian/changelog,
	* preloadlib/libapport.c: [183] * preloadlib/libapport.c: Write core
	dump into cwd instead of /tmp to act   like the current kernel.

	* debian/changelog: [182] release as 0.13 to edgy

	* debian/changelog,
	* debian/control,
	* debian/rules: [181] * Do not run the test suite on build since on
	the buildds modifying   file atimes does not work.

2006-08-17  martin@piware.de

	* debian/changelog: [180] release as 0.12 to edgy

	* debian/changelog,
	* debian/control,
	* debian/rules: [179] * debian/rules: Run run-tests during build to
	have the package FTBFS on   regressions. Add python build dependency
	for this (it is already there   implicitly anyway).

2006-08-17  martin@piware.de

	* run-tests: Added.

	* debian/changelog: Modified.

	[178] * Add run-tests script which calls all available selftests.

2006-08-17  martin@piware.de

	* TODO,
	* apport,
	* debian/changelog: [177] * apport: Clean up exit codes to only exit
	with 0 if report was created, and   with 1 otherwise (to become more
	compatible to proposed future kernel   behaviour, where core dumps are
	only generated on demand).

	* apport,
	* debian/changelog: [176] * apport: If the same binary produced more
	than 5 crashes in the last 24   hours, ignore the crash. This is a
	hideous and pretty ad-hoc band-aid to   avoid flooding users with
	reports for continuously crashing respawning   processes. Closes:
	LP#56362

	* apport_utils.py,
	* debian/changelog: [175] * apport_utils.py: Add get_recent_crashes()
	and a test suite check for it.

	* TODO: [174] TODO item

	* TODO: [173] TODO item

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [172] * apport-gtk: Make bug report window
	resizable when the details are   expanded. Closes: LP#56672

	* TODO: [171] add TODO item

2006-08-16  martin@piware.de

	* debian/changelog: [170] release as 0.11 to edgy

	* TODO: [169] remove TODO item which is not reproducible

2006-08-16  martin@piware.de

	* debian/apport.default: Added.

	* TODO,
	* debian/apport.init,
	* debian/changelog: Modified.

	[168] * Add debian/apport.default: Default file to disable apport
	entirely and to   change the maximum size of kernel created core
	dumps. * debian/apport.init: Evaluate new default file.

2006-08-16  martin@piware.de

	* TODO: [167] TODO item

2006-08-15  martin@piware.de

	* TODO: [166] TODO item

2006-08-14  martin@piware.de

	* TODO,
	* apport,
	* debian/changelog: [165]   - transitive_dependencies(): Do not break
	on pure virtual dependencies     (like perl-api-XXX).

	* TODO,
	* apport,
	* debian/changelog: [164]   - Log successful report creation with file
	and package name, to ease     debugging.

	* apport: [163] fix temporary file handling

	* apport: [162] move code comment to where it belongs

	* apport,
	* debian/changelog: [161]   - Clean up handling of temporary files.

	* apport,
	* debian/changelog: [160]   - Do not catch SystemExit in the final
	catch-all-and-log clause (will     become important once we switch to
	master/slave processes).

	* apport,
	* debian/changelog: [159]   - Add missing close() call in
	init_error_log().

	* TODO: [158] TODO items

2006-08-14  martin@piware.de

	* constraints.py: Added.

	[157] add constraints.py to figure out apport workflow

2006-08-14  martin@piware.de

	* apport,
	* debian/changelog: [156] * apport:   - Move information collection
	from ctor to two new separate functions
	collect_runtime_information() (fast, privileged, crashed process must
	exist) and collect_static_information() (slow, unprivileged, crashed
	process does not need to exist). This allows a cleaner design.

	* debian/changelog,
	* gtk/apport-gtk.glade: [155] * gtk/apport-gtk.glade: Remove
	separators from dialogs. Closes: LP#56326

	* TODO: [154] TODO item

	* TODO: [153] TODO items

	* debian/changelog: [152] release as 0.10 to edgy

2006-08-11  martin@piware.de

	* gtk/apport-gtk: [151] fix report iteration in apport-gtk

2006-08-11  martin@piware.de

	* apport-retrace: Added.

	* debian/apport.install,
	* debian/changelog,
	* debian/rules,
	* setup.py: Modified.

	[150] * Add apport-retrace and install it into apport: This tool takes
	a crash   report and refreshes the stack traces in it. This is
	particularly useful   if debug symbols are installed now, but haven't
	been at the time the crash   occured.

2006-08-11  martin@piware.de

	* debian/apport.init,
	* debian/changelog: [149] * debian/apport.init: Add colon to
	description to make output less   confusing.

	* debian/changelog,
	* problem_report.py: [148] ProblemReport: Restructure class to inherit
	from IterableUserDict and throw away all the now obsolete dictionary
	wrapper methods.

	* debian/changelog,
	* problem_report.py: [147]   - Fixed ProblemReport.load() to clean up
	old data, added selftest.

	* debian/changelog,
	* problem_report.py: [146] problem_report.py: Fix writing back binary
	data, adapt test suite to check it

	* debian/changelog,
	* problem_report.py: [145] * problem_report.py:    - Fix precise
	whitespace handling in continuation lines, add selftest.   - Add
	selftest for reading a report, modifying fields, and writing it
	back.

2006-08-10  martin@piware.de

	* apport,
	* debian/changelog: [144] do not try to guess core dump location,
	future kernel will pass the path

	* debian/apport.cron.daily,
	* debian/changelog: [143] * debian/apport.cron.daily: Add -mindepth 1
	to find commands to avoid   attempting to remove the /var/crash/
	directory. Closes: LP#55107

	* apport,
	* apport-checkreports,
	* debian/changelog,
	* preloadlib/libapport.c: [142] * Fix the GPL URLs in source file's
	copyright comments.

	* apport,
	* debian/changelog: [141] * apport:   - Correctly handle relative
	paths to core dumps (use crashed process'     cwd).   - If core dump
	file is not specified as argument, look in the default     location
	(cwd/core).

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [140] * apport-gtk: Show report file size in
	bug report window.

2006-08-09  martin@piware.de

	[139] release as 0.9 to edgy

2006-08-09  martin@piware.de

	* preloadlib/README: Added.

	* debian/changelog: Modified.

	[138] * Add preloadlib/README: Explain how to use the preload library.

2006-08-09  martin@piware.de

	* debian/changelog: [137] changelog whitespace adjustment

2006-08-09  martin@piware.de

	* debian/apport.examples: Added.

	* debian/changelog,
	* debian/rules: Modified.

	[136] * Ship preloadlib/* as examples in package 'apport' for people
	who want to   play with it until the new kernel arrives.

2006-08-09  martin@piware.de

	* preloadlib,
	* preloadlib/Makefile,
	* preloadlib/libapport.c: Added.

	* debian/changelog: Modified.

	[135] * Add preloadlib/{Makefile,libapport.c}: LD_PRELOADable library
	which   emulates the future kernel behaviour. This is ONLY for testing
	and   development purposes. It uses unsafe temporary file handling and
	thus must   not be used on production boxes!

2006-08-09  martin@piware.de

	* apport,
	* debian/changelog: [134] * apport:    - Support an optional third
	command line argument which specifies the     location of a core dump.
	- If a core dump is given, call gdb on the core dump instead of the
	crashed process. We cannot attach to the latter if we are called by
	the     kernel (since the crashed process is in uninterruptible kernel
	sleep).   - If no core dump is given, do not attempt to do anything
	gdb related.   - This matches the future behaviour of the kernel crash
	dump helper while     remaining compatible to the previous call
	semantics.

2006-08-08  martin@piware.de

	* apport,
	* debian/changelog: [133] * apport: Call objcopy to throw out
	READONLY/CODE sections from the core   dump, which drastically reduces
	its (uncompressed) size (factor 2 to 10).   This has little effect on
	the bzip2'ed core dump, though.

	* debian/changelog: [132] release as 0.8 to edgy

	* gtk/apport-gtk: [131] apport-gtk: Mark reports as seen once we
	showed a notification for it

	* debian/changelog: [130] fix changelog typo

	* apport_utils.py: [129] apport_utils.py: add proper implementation
	for mark_report_seen()

	* apport_utils.py,
	* debian/changelog: [128] * apport-utils.py: Add a test suite for all
	exported functions.

	* debian/changelog: [127] fix two changelog typos

	* apport,
	* debian/changelog: [126] * apport.py: Overwrite old reports if they
	are seen.

	* apport,
	* apport_utils.py,
	* debian/changelog: [125] * Replace all usages of '/var/crash' to a
	new global variable in   apport_utils; this is particularly useful for
	test suites.

	* apport_utils.py,
	* debian/changelog,
	* gtk/apport-gtk: [124] * apport-utils.py:   - Add two new functions
	seen_report() and mark_report_seen().   - get_new_reports(): Only
	return unseen reports, add function     get_all_reports() for the old
	behaviour. * gtk/apport-gtk.py: Do not delete reports after notifying
	about them. This   way, we do not need to add another button to save
	the report (which is   considered evil UI-wise), but still retain the
	report for filing and   examining later.

	* debian/changelog: [123] release as 0.7 to edgy

2006-08-08  martin@piware.de

	* apport-checkreports: Added.

	* debian/apport.install,
	* debian/changelog,
	* setup.py: Modified.

	[122] * Add apport-checkreports: Test if there are new crash reports
	for the   invoking user. This factorizes out the tests we currently do
	in   update-notifier and makes them easier to change and keep in sync
	with   apport itself. Ship the script in the apport package.

2006-08-08  martin@piware.de

	* apport_utils.py: Added.

	* debian/apport.install,
	* debian/changelog,
	* gtk/apport-gtk,
	* setup.py: Modified.

	[121] * Add apport-utils.py: Factorize out some common code of apport-
	gtk,   possible future frontends, and some backend tools.

2006-08-03  martin@piware.de

	* debian/changelog: [120] release as 0.6 to edgy

	* debian/changelog,
	* debian/control: [119] * Add missing intltool build dependency to fix
	FTBFS.

2006-08-02  martin@piware.de

	* debian/changelog: [118] release as 0.5 to edgy

	* debian/changelog,
	* gtk/apport-gtk: [117] * apport-gtk: Remove the crash report after it
	got displayed. * apport-gtk: Fix exception on startup if no readable
	crash reports exist.

	* debian/changelog: [116] release as 0.4 to edgy

	* gtk/apport-gtk: [115] apport-gtk: implement reopening the crashed
	application

	* gtk/apport-gtk: [114] apport-gtk: use dialog_crash_reopen if we have
	a .desktop file and the crashed program does not run

	* debian/control: [113] add python-xdg dependency

	* gtk/apport-gtk.glade: [112] gtk/apport-gtk.glade: Fix window type

	* gtk/apport-gtk: [111] remove stale debugging print statement

	* po/de.po: [110] po/de.po: add missing strings

	* debian/changelog,
	* po/Makefile: [109] * po/Makefile: Supply '--language=python' to
	intltool-update to properly   extract strings from apport-gtk.

	* gtk/apport-gtk.glade: [108] apport-gtk.glade: fix expander
	properties

	* debian/changelog,
	* po/de.po: [107] * Bring German translations up to date.

	* gtk/apport-gtk.glade: [106] apport-gtk.glade: remove Ubuntu branding

	* gtk/apport-gtk.glade: [105] apport-gtk.glade: mark untranslatable
	strings as such

	* gtk/apport-gtk.glade: [104] remove old UI windows from .glade

	* debian/changelog,
	* debian/rules: [103] * debian/rules: Build .pot file on package build
	for automatic Rosetta   import.

	* debian/changelog,
	* po/Makefile: [102] * po/Makefile: Fix default target to not just
	break. Now it builds the .pot   file.

	* debian/changelog: [101] changelog entry for new UI design

	* gtk/apport-gtk: [100] try to find a matching .desktop file and use
	its name instead of the executable name

	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [99] move heading string from glade to code to
	be able to control it better

2006-08-01  martin@piware.de

	* gtk/apport-gtk.glade: [98] gtk: nasty hack to auto-resize window on
	expander

	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [97] gtk: use window_bugreport on bug
	reporting

	* gtk/apport-gtk: [96] gtk: use the new wizard-style notification
	dialog

	* gtk/apport-gtk.glade: [95] gtk: add new dialogs and windows
	according to new UI specification

2006-07-31  martin@piware.de

	* debian/changelog: [94] release as 0.3 to edgy

	* debian/changelog,
	* debian/rules: [93] * debian/rules: Call setup.py install with --no-
	compile to not ship *.pyc in   debs.

	* debian/changelog,
	* gtk/apport-gtk: [92] * apport-gtk: Use source package name for the
	Malone URL.

	* apport,
	* debian/changelog: [91] * apport: Switch from apt_pkg to apt, add
	SourcePackage: to reports.

	* debian/changelog,
	* debian/control,
	* gtk/apport-gtk: [90] * python-gtk: Do not load binary data (core
	dumps, etc.) to greatly speed up   the GUI. They are just gibberish
	anyway.

	* debian/changelog,
	* debian/rules: [89] * debian/rules: Clean stale *.pyc files.

	* TODO,
	* debian/changelog,
	* problem_report.py: [88] * problem_report.py: Add 'binary' option to
	ProblemReport.load() to   optionally skip binary data.

	* debian/changelog,
	* gtk/apport-gtk: [87] * apport-gtk: Only display reports that the
	user can actually read.

	* debian/changelog,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [86] * apport-gtk: Add button to remove the
	current report (by truncating the   file to zero bytes; a user cannot
	unlink files in /var/crash).

2006-07-30  martin@piware.de

	* debian/changelog,
	* gtk/apport-gtk: [85] * apport-gtk: Ignore 0-sized reports.

	* apport,
	* debian/changelog: [84] * apport: Set proper group for report files
	instead of 'root'.

	* apport,
	* debian/changelog: [83] * apport: Only consider a report as already
	present if it has a non-zero   size.

	* debian/apport.cron.daily,
	* debian/changelog: [82] * debian/apport.cron.daily: Clean away empty
	files everytime.

2006-07-28  martin@piware.de

	* po/de.po: [81] fixed another typo in de.po

	* po/de.po: [80] fixed typo in de.po

	* debian/changelog,
	* debian/rules: [79] * debian/rules clean: Also clean po/.

2006-07-27  martin@piware.de

	* debian/changelog: [78] release as 0.2 to edgy

	* debian/changelog: [77] changelog entry for new apport-gtk package

	* TODO: [76] TODO item

2006-07-27  martin@piware.de

	* debian/apport-gtk.install: Added.

	* debian/control: Modified.

	[75] add apport-gtk packaging

2006-07-27  martin@piware.de

	* debian/python-problem-report.install: Added.

	* debian/apport.install,
	* debian/rules: Modified.

	[74] install into debian/tmp and use more rigorous dh_install

2006-07-27  martin@piware.de

	* gtk/apport-gtk: [73] gtk: load the glade file from the same
	directory as the executable

	* setup.py: [72] setup.py: install i18n and gtk stuff

	* po/Makefile: [71] po/: add build-mo rule

2006-07-27  martin@piware.de

	* po/de.po: Added.

	[70] add German translation

2006-07-27  martin@piware.de

	* gtk/apport-gtk.glade,
	* po/Makefile: [69] fix typo in glade file

2006-07-27  martin@piware.de

	* po,
	* po/Makefile,
	* po/POTFILES.in: Added.

	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: Modified.

	[68] gtk: i18ned

2006-07-27  martin@piware.de

	* gtk/apport-gtk: [67] gtk: expand detail tree rows with less than 5
	lines

	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [66] gtk: display details in a tree

	* gtk/apport-gtk: [65] gtk: implement 'open bug page' button

	* TODO: [64] TODO item

	* TODO,
	* apport,
	* debian/changelog: [63] * apport: Filter out trailing 0-byte from
	ProcCmdline.

	* debian/changelog,
	* problem_report.py: [62] * problem_report.py: Support iterators, add
	test case.

	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [61] gtk: change report file from label to
	text entry

	* gtk/apport-gtk,
	* gtk/apport-gtk.glade: [60] gtk: show package name on general tab

	* gtk/apport-gtk: [59] gtk: load actual reports, implement scroll
	buttons, general information, and crude details

2006-07-27  martin@piware.de

	* TODO: Added.

	[58] add TODO

2006-07-27  martin@piware.de

	* gtk,
	* gtk/apport-gtk,
	* gtk/apport-gtk.glade,
	* gtk/apport-gtk.png: Added.

	[57] add initial GTK frontend bits: glade file, icon, skeleton code

2006-07-27  martin@piware.de

	* debian/apport.cron.daily,
	* debian/changelog: [56] * debian/apport.cron.daily: Do not produce
	error messages if 'find' does not   find any crash reports.

2006-07-24  martin@piware.de

	* debian/changelog: [55] release as 0.1 to edgy

	* debian/control: [54] fix build dependencies

	* debian/control: [53] more suitable package subsections

	* debian/control: [52] add package descriptions

2006-07-24  martin@piware.de

	* debian/apport.cron.daily: Added.

	* debian/rules: Modified.

	[51] add cron.daily job to cleanup old reports

2006-07-24  martin@piware.de

	* debian/changelog,
	* debian/control,
	* debian/copyright,
	* setup.py,
	* use-local: Modified.

	* crash-reporter: Renamed to apport and modified.
	* debian/crash-reporter.init: Renamed to debian/apport.init and
	  modified.
	* debian/crash-reporter.install: Renamed to debian/apport.install and
	  modified.

	[50] give this project a proper name: apport

2006-07-20  martin@piware.de

	* debian/pycompat,
	* debian/pyversions: Added.

	* debian/control,
	* debian/rules: Modified.

	[49] add packaging for the library

2006-07-20  martin@piware.de

	* setup.py: Added.

	[48] add setup.py for the library

2006-07-20  martin@piware.de

	* crash-reporter: [47] add list of transitive dependencies

	* crash-reporter: [46] ignore non-packaged executables

	* problem_report.py: [45] add ProblemReport.has_key()

	* crash-reporter: [44] check for existance of core file before adding
	it to report

	* crash-reporter: [43] clean up temporary work dir creation/removal,
	move it into InformationCollector

	* crash-reporter: [42] do not touch stderr if log file cannot be
	opened

	* problem_report.py: [41] ProblemReport test suite: test writing and
	re-reading a very big random file

	* problem_report.py: [40] fix ProblemReport load() test case

	* problem_report.py: [39] Implement base64/bzip2 decoding in
	ProblemReport.load()

	* problem_report.py: [38] test reading and writing binary file data

2006-07-17  martin@piware.de

	* problem_report.py: [37] more sanity check unittests

	* problem_report.py: [36] fix reading of last field in
	ProblemReport.load()

	* problem_report.py: [35] add unittest for ProblemReport.load()

	* problem_report.py: [34] remove debugging cruft

	* problem_report.py: [33] add sanity checks to
	ProblemReport.__setitem__

	* problem_report.py: [32] problem_report.py: add initial unittest

	* problem_report.py: [31] sort written reports by key, put ProblemType
	first

	* problem_report.py: [30] add optional date argument to ProblemReport
	ctor

	* problem_report.py: [29] first ProblemReport.load() implementation

2006-07-17  martin@piware.de

	* problem_report.py: Added.

	* crash-reporter: Modified.

	[28] create initial library problem_report.py, move write_debcontrol()
	into it

2006-07-17  martin@piware.de

	* crash-reporter: [27] add core dump

	* crash-reporter: [26] create temporary work dir

2006-07-14  martin@piware.de

	* crash-reporter: [25] write_debcontrol(): support files as value

	* crash-reporter: [24] change report key names to match spec, complete
	/proc collection

	* crash-reporter: [23] do not drop privileges before reading /proc, it
	doesn't work

	* crash-reporter: [22] improved logging, some renamings to be safe for
	the signal module

2006-07-13  martin@piware.de

	* crash-reporter: [21] small file descriptor cleanup

	* crash-reporter: [20] catch all exceptions, report errors to stderr
	or to a log file

2006-07-12  martin@piware.de

	* crash-reporter: [19] add unhandled exceptions to report

2006-07-12  martin@piware.de

	* use-local: Added.

	[18] add convenience script to use local crash-reporter version

2006-07-12  martin@piware.de

	* crash-reporter: [17] fix exception catching

2006-07-12  martin@piware.de

	* debian,
	* debian/changelog,
	* debian/compat,
	* debian/control,
	* debian/copyright,
	* debian/crash-reporter.init,
	* debian/crash-reporter.install,
	* debian/rules: Added.

	[16] add initial packaging

2006-07-11  martin@piware.de

	* crash-reporter: [15] write report into file when running as root

2006-07-10  martin@piware.de

	* crash-reporter: [14] redirect gdb stderr to /dev/null

	* crash-reporter: [13] remove empty last line from environment

	* crash-reporter: [12] remove empty lines from stack traces

	* crash-reporter: [11] add stderr option to write_debcontrol(),
	suppress stderr for gdb

	* crash-reporter: [10] drop privileges to target process

	* crash-reporter: [9] get stack trace

	* crash-reporter: [8] determine package and version

	* crash-reporter: [7] consistent return results in error case

	* crash-reporter: [6] factorize safe program output catching

	* crash-reporter: [5] restructure source code and add some section
	comments

	* crash-reporter: [4] factorize safe reading from file

	* crash-reporter: [3] collect uname and lsb_release

	* crash-reporter: [2] format output in debcontrol syntax

2006-07-10  martin@piware.de

	* crash-reporter: Added.

	[1] Initial version, stdout output so far

