~ev/apport/daisy-duplicates-db

1407 by Martin Pitt
NEWS: update to current trunk
1
This file summarizes the major and interesting changes for each release. For a
2
detailled list of changes, please see ChangeLog.
3
2337 by Martin Pitt
* Clean up module imports. * test/run: Run pyflakes, if available.
4
2.1.2 (UNRELEASED)
5
------------------
6
Improvements:
7
 * Clean up module imports.
8
 * test/run: Run pyflakes, if available.
2341 by Martin Pitt
* package_hook: Add --tags option. Thanks to Brian Murray.
9
 * package_hook: Add --tags option. Thanks to Brian Murray.
2347 by Martin Pitt
* launchpad.py: Drop the external multipartpost_handler.py (which is not portable to Python 3) and replace it with using the standard email module.
10
 * launchpad.py: Drop the external multipartpost_handler.py (which is not
11
   portable to Python 3) and replace it with using the standard email module.
2349 by Martin Pitt
* 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.
12
 * launchpad.py: Also work with Python 3. Deal gracefully with a missing
13
   "launchpadlib" module; this is not yet available for Python 3, but not
14
   required for client-side reporting.
2337 by Martin Pitt
* Clean up module imports. * test/run: Run pyflakes, if available.
15
2338 by Martin Pitt
* apport-retrace: Fix crash when using the --procmaps option.
16
Bug fixes:
17
 * apport-retrace: Fix crash when using the --procmaps option.
2346 by Martin Pitt
* 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/.
18
 * setup.py: Update hashbang lines of installed scripts in data directory to
19
   the python executable setup.py was run with, similar to what already happens
20
   to scripts installed to ../bin/.
2338 by Martin Pitt
* apport-retrace: Fix crash when using the --procmaps option.
21
2336 by Martin Pitt
release 2.1.1
22
2.1.1 (2012-05-30)
2327 by Martin Pitt
* 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.
23
------------------
24
Improvements:
25
 * launchpad.py: When closing a bug as a duplicate, copy some well-known tags
26
   to the master bug. Thanks Brian Murray.
27
 * launchpad.py: Set importance of Python crash reports to "Medium" by default,
28
   similar to signal crashes. Thanks Brian Murray.
2328 by Martin Pitt
* hookutils.py: Add attach_default_grub() convenience function from the grub2 package hook so it can be used by other packages. Thanks Brian Murray.
29
 * hookutils.py: Add attach_default_grub() convenience function from the grub2
30
   package hook so it can be used by other packages. Thanks Brian Murray.
2329 by Martin Pitt
* 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)
31
 * launchpad.py: Make Launchpad bug subscription user/team configurable: The
32
   initial subscriber after filing a bug can be set with the
33
   "initial_subscriber" crashdb option, and the team which gets subscribed
34
   after retracing with "triaging_team". (LP: #980726)
2327 by Martin Pitt
* 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.
35
2332 by Martin Pitt
* 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)
36
Bug fixes:
37
 * report.py: Do not change the SourcePackage: field if the binary package is
38
   not installed and does not exist. This fixes source package hooks to
39
   actually work in some cases where source and binary package names overlap.
40
   (part of LP: #993810)
2334 by Martin Pitt
* 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)
41
 * apport-gtk, apport-kde: Avoid collecting information twice in "bug update"
42
   mode. This caused a crash in cases where the source package in a bug report
43
   does not correspond to an installed binary package. (LP: #993810)
2332 by Martin Pitt
* 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)
44
2326 by Martin Pitt
release 2.1
45
2.1 (2012-05-18)
2275 by Martin Pitt
* 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.
46
----------------
47
Improvements:
48
 * packaging.py, install_packages(): Add permanent_rootdir flag and if set,
49
   only unpack newly downloaded packages. Implement it for the apt/dpkg
50
   backend. Thanks Evan Dandrea.
51
 * apport-retrace: Add --sandbox-dir option for keeping a permanent sandbox
52
   (unpacked packages). This provides a considerable speedup. Thanks Evan
53
   Dandrea.
2276 by Martin Pitt
* crash-digger: Add --sandbox-dir option and pass it to apport-retrace.
54
 * crash-digger: Add --sandbox-dir option and pass it to apport-retrace.
2277 by Martin Pitt
* Fix the whole code to be PEP-8 compatible, and enforce this in test/run by running the "pep8" tool.
55
 * Fix the whole code to be PEP-8 compatible, and enforce this in test/run by
56
   running the "pep8" tool.
2279 by Martin Pitt
* GTK UI tests: Ensure that there are no GLib/GTK warnings or criticals.
57
 * GTK UI tests: Ensure that there are no GLib/GTK warnings or criticals.
2317 by Martin Pitt
NEWS: Update Python 3 port description
58
 * Support Python 3. Everything except the launchpad crashdb backend now works
59
   with both Python 2 and 3. An important change is that the load(),
2302 by Martin Pitt
problem_report.py: Fix for Python 3
60
   write(), and write_mime() methods of a ProblemReport and apport.Report
61
   object now require the file stream to be opened in binary mode.
2296 by Martin Pitt
* 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)
62
 * data/apport: Ignore a crash if the executable was modified after the process
63
   started. This often happens if the package is upgraded and a long-running
64
   process is not stopped before. (LP: #984944)
2308 by Martin Pitt
apport-unpack: Add tests and fix for Python 3
65
 * Add test cases for apport-unpack.
2316 by Martin Pitt
* apport-retrace: Add information about outdated packages to the "RetraceOutdatedPackages" field.
66
 * apport-retrace: Add information about outdated packages to the
67
   "RetraceOutdatedPackages" field.
2320 by Martin Pitt
* ui.py: Drop python-xdg dependency, use ConfigParser to read the .desktop files.
68
 * ui.py: Drop python-xdg dependency, use ConfigParser to read the .desktop
69
   files.
2275 by Martin Pitt
* 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.
70
2280 by Martin Pitt
* apport-gtk: Work around GTK crash when trying to set pixmap on an already destroyed parent window. (LP: #938090)
71
Bug fixes:
72
 * apport-gtk: Work around GTK crash when trying to set pixmap on an already
73
   destroyed parent window. (LP: #938090)
2283 by Martin Pitt
* data/dump_acpi_tables.py: Fix crash on undefined variable with non-standard tables. (LP: #982267)
74
 * data/dump_acpi_tables.py: Fix crash on undefined variable with non-standard
75
   tables. (LP: #982267)
2284 by Martin Pitt
* backends/packaging-apt-dpkg.py: Fix crash if a package is installed, but has no candidates in apt. (LP: #980094)
76
 * backends/packaging-apt-dpkg.py: Fix crash if a package is installed, but has
77
   no candidates in apt. (LP: #980094)
2285 by Martin Pitt
* 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)
78
 * data/general-hooks/generic.py: Bump minimum free space requirement from 10
79
   to 50 MB. 10 is not nearly enough particularly for /tmp. (LP: #979928)
2295 by Martin Pitt
* 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)
80
 * hookutils.py, recent_logfile(): Use a default limit of 10000 lines and call
81
   "tail" instead of reading the whole file. This protects against using up all
82
   memory when there are massive repeated log messages. (LP: #984256)
2297 by Martin Pitt
* 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)
83
 * apport-gtk: Do not assume that an icon requested for size 42 actually
84
   delivers size 42; some themes do not have this available and deliver a
85
   smaller one instead, causing overflows. Also, copy the image as
86
   gtk_icon_theme_load_icon() returns a readonly result which we must not
87
   modify. (LP: #937249)
2303 by Martin Pitt
* 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)
88
 * ui.py: Don't show the duplicate warning when the crash database does not
89
   accept the problem type, and they are just being sent to whoopsie. Thanks
90
   Evan Dandrea. (LP: #989779)
2319 by Martin Pitt
fix NEWS entry for previous commit
91
 * report.py: Correctly escape the file path passed to gdb.
2324 by Martin Pitt
apport-kde: Do not show the information collection progress dialog if the crash
92
 * apport-gtk, apport-kde: Do not show the information collection progress
93
   dialog if the crash database does not accept this kind of report. In that
94
   case whoopsie will upload it in the background and the dialog is not
95
   necessary.  (LP: #989698)
2280 by Martin Pitt
* apport-gtk: Work around GTK crash when trying to set pixmap on an already destroyed parent window. (LP: #938090)
96
2274 by Martin Pitt
release 2.0.1
97
2.0.1 (2012-04-10)
2265 by Martin Pitt
* 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.
98
------------------
99
Bug fixes:
100
 * test_ui_gtk.py: Disable package hooks for the tests, as they might ask for
101
   sudo passwords and other interactive bits, and thus make the tests hang.
2267 by Martin Pitt
* 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.
102
 * test_backend_apt_dpkg.py: Fix checks for the installation of -dbgsym
103
   packages. This should always happen, as the sandboxes have a ddeb apt
104
   source. Only make it conditional on the system apt sources in the "use
105
   system config" test.
2268 by Martin Pitt
* test_report.py: Sleep a bit after calling our test crash script, to ensure the kernel has time to finish writing the core file.
106
 * test_report.py: Sleep a bit after calling our test crash script, to ensure
107
   the kernel has time to finish writing the core file.
2271 by Martin Pitt
* generic package hook: Also check /tmp for enough space. Thanks Brian Murray. (LP: #972933)
108
 * generic package hook: Also check /tmp for enough space. Thanks Brian Murray.
109
   (LP: #972933)
2273 by Martin Pitt
* 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)
110
 * problem_report.py, write_mime(): Fix regression from version 1.95: Add a
111
   value as attachment if it is bigger than 1000 bytes, not if it is bigger
112
   than 100. (LP: #977882)
2265 by Martin Pitt
* 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.
113
2272 by Martin Pitt
* packaging-apt-dpkg.py: Avoid constructing and updating the apt.Cache() objects multiple times, to speed up retracing. Thanks Evan Dandrea. (LP: #973494)
114
Improvements:
115
 * packaging-apt-dpkg.py: Avoid constructing and updating the apt.Cache()
116
   objects multiple times, to speed up retracing. Thanks Evan Dandrea.
117
   (LP: #973494)
118
2264 by Martin Pitt
release 2.0
119
2.0 (2012-03-30)
2263 by Martin Pitt
bump version to 2.0
120
----------------
121
This is the final 2.0 release, featuring the overhauled and simplified GUI,
122
support for whoopsie-daemon, and client-side duplicate checking.
123
2256 by Martin Pitt
report.py, anonymize(): Only replace whole words, not substrings. (LP: #966562)
124
Bug fixes:
125
 - report.py, anonymize(): Only replace whole words, not substrings.
126
   (LP: #966562)
2257 by Martin Pitt
apport_python_hook.py: Fix filtering of org.freedesktop.DBus.Error.NoReply exceptions. (LP: #958575)
127
 - apport_python_hook.py: Fix filtering of org.freedesktop.DBus.Error.NoReply
128
   exceptions. (LP: #958575)
2259 by Martin Pitt
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.
129
 - crashdb.py: When publishing the crash database, cut hash file names after
130
   quoting, to avoid that the quoting causes them to become too long.
131
   (LP: #968070) This also uncovered that known() did not actually find any
132
   signature which contained an URL-quoted character, therefore breaking
133
   client-side duplicate checking in a lot of cases. Double-quote the file name
134
   now, as urlopen() unquotes it.
2260 by Martin Pitt
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)
135
 - Add a new crash database option "problem_types" and a CrashDatabase method
136
   "accepts(report)". This can be used to stop uploading particular problem
137
   report types to that database. E. g. a distribution might decide to not get
138
   "Crash" reports any more after release.  Document the new option in
139
   doc/crashdb-conf.txt.
140
 - ui.py: Do not upload a report if the crash database does not accept the
141
   report's type. This behaviour is not really correct, but necessary as long
142
   as we only support a single crashdb and have whoopsie hardcoded.  Once we
143
   have multiple crash dbs, we need to not even present the data if none of the
144
   DBs wants the report. See LP #957177 for details. (LP: #968121)
2262 by Martin Pitt
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)
145
 - ui.py: Do not short-circuit information collection if report already has a
146
   "DistroRelease" field, as the GUIs add that in some cases. Check for
147
   "Dependencies" instead. This fixes information collection for kernel
148
   problems (which now has a full GTK GUI test case). (LP: #968488)
2256 by Martin Pitt
report.py, anonymize(): Only replace whole words, not substrings. (LP: #966562)
149
2252 by Martin Pitt
release 1.95
150
1.95 (2012-03-22)
2226 by Martin Pitt
apport-gtk, apport-kde: Set the window title to the distribution name, as per http://wiki.ubuntu.com/ErrorTracker#error . Thanks Evan Dandrea.
151
-----------------
2230 by Martin Pitt
hookutils.py, attach_alsa(): Add the full "pacmd list" output instead of just sinks and sources. Thanks David Henningsson.
152
Bug fixes:
2226 by Martin Pitt
apport-gtk, apport-kde: Set the window title to the distribution name, as per http://wiki.ubuntu.com/ErrorTracker#error . Thanks Evan Dandrea.
153
 - ui.py: Ensure that the report file is readable by the crash reporting daemon
154
   after running through collect_info(). Thanks Evan Dandrea.
155
 - apport-gtk, apport-kde: Set the window title to the distribution name, as
156
   per http://wiki.ubuntu.com/ErrorTracker#error . Thanks Evan Dandrea.
2229 by Martin Pitt
NEWS: Link to bug
157
   (LP: #948015)
2227 by Martin Pitt
test/run: Ignore obsolete packages on the system, to avoid breaking the GUI tests due to them.
158
 - test/run: Ignore obsolete packages on the system, to avoid breaking the GUI
159
   tests due to them.
2236 by Martin Pitt
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)
160
 - apport-gtk, apport-kde: When reporting a "system crash", don't say "... of
161
   this program version", but "...of this type", as we don't show a program
162
   version in the initial dialog (https://wiki.ubuntu.com/ErrorTracker#error)
163
   (LP: #961065)
2238 by Martin Pitt
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)
164
 - problem_report.py, write_mime(): Do not put a key inline if it is bigger
165
   than 1 kB, to guard against very long lines. (LP: #957326)
2240 by Martin Pitt
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)
166
 - etc/cron.daily/apport: Do not remove whoopsie's *.upload* stamps every day,
167
   only if they are older than a week. whoopsie comes with its own cron job
168
   which deals with them. Thanks Steve Langasek. (LP: #957102)
2241 by Martin Pitt
report.py, mark_ignore(): Fix crash if executable went away underneath us. (LP: #961410)
169
 - report.py, mark_ignore(): Fix crash if executable went away underneath us.
170
   (LP: #961410)
2242 by Martin Pitt
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)
171
 - apport-gtk: Do not compare current continue button label against a
172
   translated string.  Instead just remember whether or not we can restart the
173
   application. (LP: #960439)
2243 by Martin Pitt
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.
174
 - hookutils.py, command_output(): Add option to keep the locale instead of
175
   disabling it.
176
 - hookutils.py, command_output(): Actually make the "input" parameter work,
177
   instead of causing an eternal hang. Add tests for all possible modes of
178
   operation.
2244 by Martin Pitt
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)
179
 - hooktuils.py: Change root_command_output() and attach_root_command_outputs()
180
   to disable translated messages (LC_MESSAGES=C) only as part of the command
181
   to be run, not already for the root prefix command. This will keep the
182
   latter (gksu, kdesudo, etc.) translated. (LP: #961659)
2245 by Martin Pitt
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)
183
 - apport-gtk: Cut off text values after 4000 characters, as Gtk's TreeView
184
   does not get along well with huge values. KDE's copes fine, so continue to
185
   display the complete value there. (LP: #957062)
2246 by Martin Pitt
apport-gtk: Make details window resizable in bug reporting mode.
186
 - apport-gtk: Make details window resizable in bug reporting mode.
2247 by Martin Pitt
crashdb.py, known(): Check the address signature duplicate database if the symbolic signature exists, but did not find any result. (LP: #103083)
187
 - crashdb.py, known(): Check the address signature duplicate database if the
188
   symbolic signature exists, but did not find any result. (LP: #103083)
2248 by Martin Pitt
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)
189
 - ui.py: Run anonymization after checking for duplicates, to prevent host or
190
   user names which look like hex numbers to corrupt the stack trace.
191
   (LP: #953104)
2249 by Martin Pitt
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)
192
 - apport-gtk: Require an application to both have TERM and SHELL in its
193
   environment to consider it a command line application that was started by
194
   the user. (LP: #962130)
2250 by Martin Pitt
backends/packaging-apt-dpkg.py, _check_files_md5(): Fix double encoding, which caused UnicodeDecodeErrors on non-ASCII characters in an md5sum file. (LP: #953682)
195
 - backends/packaging-apt-dpkg.py, _check_files_md5(): Fix double encoding,
196
   which caused UnicodeDecodeErrors on non-ASCII characters in an md5sum file.
197
   (LP: #953682)
2251 by Martin Pitt
apport-kde, apport-gtk: Only show "Relaunch" if the report has a ProcCmdline, otherwise we cannot restart it. (LP: #956173)
198
 - apport-kde, apport-gtk: Only show "Relaunch" if the report has a
199
   ProcCmdline, otherwise we cannot restart it. (LP: #956173)
2226 by Martin Pitt
apport-gtk, apport-kde: Set the window title to the distribution name, as per http://wiki.ubuntu.com/ErrorTracker#error . Thanks Evan Dandrea.
200
2230 by Martin Pitt
hookutils.py, attach_alsa(): Add the full "pacmd list" output instead of just sinks and sources. Thanks David Henningsson.
201
Improvements:
202
 - hookutils.py, attach_alsa(): Add the full "pacmd list" output instead of
203
   just sinks and sources. Thanks David Henningsson.
2233 by Martin Pitt
apport-gtk, apport-kde: Show the ExecutablePath while we're collecting data for the crash report. Thanks Evan Dandrea. (LP: #938707).
204
 - apport-gtk, apport-kde: Show the ExecutablePath while we're collecting data
205
   for the crash report. Thanks Evan Dandrea. (LP: #938707).
2230 by Martin Pitt
hookutils.py, attach_alsa(): Add the full "pacmd list" output instead of just sinks and sources. Thanks David Henningsson.
206
2224 by Martin Pitt
release 1.94.1
207
1.94.1 (2012-03-07)
2218 by Martin Pitt
test_ui_kde.py: Re-enable inadvertently disabled "bug report for uninstalled package" test.
208
-------------------
209
Bug fixes:
210
 - test_ui_kde.py: Re-enable inadvertently disabled "bug report for uninstalled
211
   package" test.
2219 by Martin Pitt
ui.py, collect_info(): Do not assume that reports have a "ProblemType" field. This is not the case when updating a bug. (LP: #947519)
212
 - ui.py, collect_info(): Do not assume that reports have a "ProblemType"
213
   field. This is not the case when updating a bug. (LP: #947519)
2220 by Martin Pitt
apport-cli: Consistently handle unicode vs. byte arrays. (LP: #946207)
214
 - apport-cli: Consistently handle unicode vs. byte arrays. (LP: #946207)
2221 by Martin Pitt
report.py, anonymize(): Fix crash when the hostname or user name contain non-ASCII characters. (LP: #945230)
215
 - report.py, anonymize(): Fix crash when the hostname or user name contain
216
   non-ASCII characters. (LP: #945230)
2222 by Martin Pitt
packaging-apt-dpkg.py: Fix UnicodeDecodeError on unexpected md5sum output. (LP: #921037)
217
 - packaging-apt-dpkg.py: Fix UnicodeDecodeError on unexpected md5sum output.
218
   (LP: #921037)
2223 by Martin Pitt
apport-gtk: Fix handling of non-ASCII strings in message dialogs. (LP: #620579)
219
 - apport-gtk: Fix handling of non-ASCII strings in message dialogs.
2231 by Martin Pitt
NEWS: fix bug ref
220
   (LP: #865394)
2218 by Martin Pitt
test_ui_kde.py: Re-enable inadvertently disabled "bug report for uninstalled package" test.
221
2213 by Martin Pitt
release 1.94
222
1.94 (2012-03-02)
2170 by Martin Pitt
apport: Set the group of written reports to "whoopsie" if that group exists.
223
-----------------
224
Bug fixes:
225
 - apport: Set the group of written reports to "whoopsie" if that group exists.
2171 by Martin Pitt
Fix tests to run properly against the system-installed modules and binaries.
226
 - Fix tests to run properly against the system-installed modules and binaries.
2177 by Martin Pitt
test/run: Run under LC_MESSAGES=C to avoid test failures due to translated strings.
227
 - test/run: Run under LC_MESSAGES=C to avoid test failures due to translated
228
   strings.
2178 by Martin Pitt
general-hooks/generic.py: Also attach xsession-errors for programs that link to libgtk-3.
229
 - general-hooks/generic.py: Also attach xsession-errors for programs that link
230
   to libgtk-3.
2181 by Martin Pitt
launchpad.py: Properly handle "Expired" status, to avoid marking new bugs as duplicates of expired ones. (LP: #941854)
231
 - launchpad.py: Properly handle "Expired" status, to avoid marking new bugs as
232
   duplicates of expired ones. (LP: #941854)
2184 by Martin Pitt
apport: Fix crash if the "whoopsie" group does not exist. (LP: #942326)
233
 - apport: Fix crash if the "whoopsie" group does not exist. (LP: #942326)
2186 by Martin Pitt
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)
234
 - report.py, crash_signature(): Do not put "<module>" frames into Python crash
235
   signatures that happen outside of function/method calls. Fall back to the
236
   file/line number as a frame description instead. This will do a much better
237
   job at disambiguating e. g. different ImportError crashes. (LP: #920403)
2187 by Martin Pitt
Make "binary changed since the time of the crash" error message more comprehensible, thanks Paolo Rotolo. (LP: #942830)
238
 - Make "binary changed since the time of the crash" error message more
239
   comprehensible, thanks Paolo Rotolo. (LP: #942830)
2190 by Martin Pitt
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)
240
 - crashdb.py, check_duplicate(): It can happen that a bug gets identified as
241
   being a duplicate of bug S by symbolic signatures and a duplicate of bug A
242
   by address signatures. Empirical evidence shows that this is due to the
243
   unavoidable jitter in stack traces (A and S not being identified as
244
   duplicates as their signatures differ slightly) and not a logic error. So
245
   instead of erroring out, duplicate all three bugs and keep the lowest number
246
   as the master ID. (LP: #943117)
2198 by Martin Pitt
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)
247
 - Revert the usage of multiple nested threads during data collection, and
248
   switch back to only using one UI thread. The UI implementations can, and now
249
   do, decide between showing a spinner and showing a progress dialog in the
250
   ui_*_info_collection_progress() methods. This fixes libX11 crashes when
251
   multiple UI threads do changes concurrently (LP: #901675), and also avoids
252
   multi-thread induced crashes in Pango (LP: #943661). The removal of the
2205 by Martin Pitt
NEWS: Fix grammar
253
   collect() method also fixes the new crashes in it. (LP: #942098, #939803)
2202 by Martin Pitt
ui.py, get_desktop_entry(): Fix crash on uninstalled package. (LP: #940984)
254
 - ui.py, get_desktop_entry(): Fix crash on uninstalled package. (LP: #940984)
2203 by Martin Pitt
data/unkillable_shutdown: Fix crash on race condition when PID goes away while the report is created. (LP: #546369)
255
 - data/unkillable_shutdown: Fix crash on race condition when PID goes away
256
   while the report is created. (LP: #546369)
2204 by Martin Pitt
apport/hookutils.py, pci_devices(): Fix crash on unexpected lines from lspci. (LP: #904489)
257
 - apport/hookutils.py, pci_devices(): Fix crash on unexpected lines from
258
   lspci. (LP: #904489)
2207 by Martin Pitt
Drop hardcoded "Ubuntu" words again which crept in with the whoopsie support merge. Use the DistroRelease: field.
259
 - Drop hardcoded "Ubuntu" words again which crept in with the whoopsie support
260
   merge. Use the DistroRelease: field.
2208 by Martin Pitt
apport-kde: Fix Home page URL in KApplication metadata.
261
 - apport-kde: Fix Home page URL in KApplication metadata.
2209 by Martin Pitt
apport-gtk: Fix resizability and size after hiding details. (LP: #405418)
262
 - apport-gtk: Fix resizability and size after hiding details. (LP: #405418)
2170 by Martin Pitt
apport: Set the group of written reports to "whoopsie" if that group exists.
263
2174 by Martin Pitt
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.
264
Improvements:
265
 - test/run: Drop "local" argument. This now tests against the source tree when
266
   run in the source tree root, and against the system libraries/programs when
267
   run from anywhere else.
2175 by Martin Pitt
test/run: Consider command line arguments as test names and only run those when given.
268
 - test/run: Consider command line arguments as test names and only run those
2193 by Martin Pitt
test/run: Support running a single test
269
   when given. Also support just running a single test.
2176 by Martin Pitt
testsuite: Force the skipping of online tests when $SKIP_ONLINE_TESTS is set.
270
 - testsuite: Force the skipping of online tests when $SKIP_ONLINE_TESTS is
271
   set.
2179 by Martin Pitt
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)
272
 - hookutils.py, xsession_errors(): Add a reasonable default pattern which
273
   matches glib-style warnings, errors, criticals etc. and X window errors.
274
   In data/general-hooks/generic.py, call it with that default instead of the
275
   rather incomplete custom pattern. (LP: #932660)
2182 by Martin Pitt
packaging.py: Add get_package_origin() method, and implement it for apt-dpkg.
276
 - packaging.py: Add get_package_origin() method, and implement it for
277
   apt-dpkg.
2183 by Martin Pitt
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)
278
 - report.py, add_package_info(): Add "[origin: ...]" tag to "Package" and
279
   "Dependencies" fields for any package which is not native to the
280
   distribution. If any such package is present, tag the report with
281
   "third-party-packages" in data/general-hooks/generic.py. (LP: #927912)
2194 by Martin Pitt
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.
282
 - apport/packaging.py: Add get_uninstalled_package() method as a helper method
283
   for the test suite. Use it instead of a hardcoded Debian/Ubuntu specific
284
   name in test/test_hooks.py.
2197 by Martin Pitt
test/test_ui_kde.py: add same test cases as for GTK UI in previous commit
285
 - test/test_ui_{gtk,kde}.py: Add test cases for complete UI workflow runs for
2196 by Martin Pitt
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.
286
   reporting a bug against an installed/uninstalled package, and reporting a
287
   crash with and without showing details. This reproduces the recent crashes
288
   like LP #901675 or LP #943661.
2200 by Martin Pitt
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.
289
 - test_ui.py: Add a test case for reporting a complete report on uninstalled
290
   package. This happens when reporting a problem from a different machine
291
   through copying a .crash file.
2206 by Martin Pitt
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.
292
 - test/run: Add a test that there are no hardcoded "Ubuntu" words in the
293
   source. The code should use the DistroRelease: field or lsb_release.
2174 by Martin Pitt
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.
294
2169 by Martin Pitt
release 1.93
295
1.93 (2012-02-23):
2147 by Martin Pitt
apport-gtk: Show the most interesting fields first in the details view.
296
------------------
2143 by Martin Pitt
apport-gtk: Fix crash on nonexisting icon. Thanks Evan Dandrea. (LP: #937354)
297
Bug fixes:
298
 - apport-gtk: Fix crash on nonexisting icon. Thanks Evan Dandrea.
299
   (LP: #937354)
2144 by Martin Pitt
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)
300
 - ui.py, open_url(): Revert back to calling sudo instead of dropping
301
   privileges ourselves; with the latter, calling firefox as the sudo'ing user
2148 by Martin Pitt
link additional bug report
302
   fails. (LP: #916810, #938128)
2145 by Martin Pitt
ui.py: Fix aborting with "AssertionError" if the report is already known, but without an URL. (LP: #938778)
303
 - ui.py: Fix aborting with "AssertionError" if the report is already known,
304
   but without an URL. (LP: #938778)
2146 by Martin Pitt
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)
305
 - launchpad.py: If a bug is already known, but the report is private, do not
306
   send the report. There is little sense piling up lots of duplicates.
307
   (LP: #938700)
2150 by Martin Pitt
test/crash: Fix regression of test_crash_apport(), consider $TERM a non-sensitive variable.
308
 - test/crash: Fix regression of test_crash_apport(), consider $TERM a
309
   non-sensitive variable.
2151 by Martin Pitt
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").
310
 - ui.py: Fix test failures for data collection progress, they are not expected
311
   to happen for "ProblemType: Crash" any more (happens in the background
312
   during sending, or if user clicks on "Show Details").
2152 by Martin Pitt
test/hooks: Use a package from Debian/Ubuntu main, so that this works better during package builds on build servers.
313
 - test/hooks: Use a package from Debian/Ubuntu main, so that this works better
314
   during package builds on build servers.
2153 by Martin Pitt
test/python: Do not assume that /var/crash/ exists. Use /var/tmp/ for the fake binaries instead.
315
 - test/python: Do not assume that /var/crash/ exists. Use /var/tmp/ for the
316
   fake binaries instead.
2156 by Martin Pitt
data/general-hooks/parse_segv.py: Fix test case name.
317
 - data/general-hooks/parse_segv.py: Fix test case name.
2165 by Martin Pitt
ui.py: Fix crash on invalid core dumps. (LP: #937215)
318
 - ui.py: Fix crash on invalid core dumps. (LP: #937215)
2167 by Martin Pitt
launchpad.py: Fix crash on unicode report titles. (LP: #896626)
319
 - launchpad.py: Fix crash on unicode report titles. (LP: #896626)
2143 by Martin Pitt
apport-gtk: Fix crash on nonexisting icon. Thanks Evan Dandrea. (LP: #937354)
320
2147 by Martin Pitt
apport-gtk: Show the most interesting fields first in the details view.
321
Improvements:
322
 - apport-gtk: Show the most interesting fields first in the details view.
2159 by Martin Pitt
do-release: Call pyflakes and abort on errors other than unused imports.
323
 - do-release: Call pyflakes and abort on errors other than unused imports.
2161 by Martin Pitt
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.
324
 - Move all test suites out of the code modules into test/test_<module>.py.
325
   This avoids having to load it every time the program runs, and also allows
326
   running the tests against the installed version of Apport.
2162 by Martin Pitt
Clean up the other executable test script in test/* and change them to the same structure as the module tests.
327
 - Clean up the other executable test script in test/* and change them to the
328
   same structure as the module tests.
2147 by Martin Pitt
apport-gtk: Show the most interesting fields first in the details view.
329
2142 by Martin Pitt
release 1.92
330
1.92 (2012-02-20):
2126 by Martin Pitt
ui.py: Fix wrong creation of "~" folder instead of expanding it to home directory when using "Examine locally". Thanks Jason Conti! (LP: #909149)
331
------------------
332
Bug fixes:
333
 - ui.py: Fix wrong creation of "~" folder instead of expanding it to home
334
   directory when using "Examine locally". Thanks Jason Conti! (LP: #909149)
2129 by Martin Pitt
Replace file() calls with open() for Python 3 compatibility. Thanks Colin Watson!
335
 - Replace file() calls with open() for Python 3 compatibility. Thanks Colin
336
   Watson!
2132 by Martin Pitt
launchpad.py: Avoid sending tag names with upper case. (LP: #924181)
337
 - launchpad.py: Avoid sending tag names with upper case. (LP: #924181)
2136 by Martin Pitt
report.py, crash_signature_addresses(): Fix crash if report does not have "Signal".
338
 - report.py, crash_signature_addresses(): Fix crash if report does not have
339
   "Signal".
2137 by Martin Pitt
apport-gtk: Fix resize handling of expander in details window. Thanks Thomas Bechtold! (LP: #930562)
340
 - apport-gtk: Fix resize handling of expander in details window. Thanks Thomas
341
   Bechtold! (LP: #930562)
2141 by Martin Pitt
Merge whoopsie branch from Evan Dandrea:
342
 - Clean up unnecessary imports. Thanks Evan Dandrea!
2126 by Martin Pitt
ui.py: Fix wrong creation of "~" folder instead of expanding it to home directory when using "Examine locally". Thanks Jason Conti! (LP: #909149)
343
2128 by Martin Pitt
man/apport-bug.1: Mention where crash files are stored. Thanks David Kastrup.
344
Improvements:
345
 - man/apport-bug.1: Mention where crash files are stored. Thanks David
346
   Kastrup.
2131 by Martin Pitt
hookutils.py, attach_hardware(): Sort ProcModules, thanks Brian Murray.
347
 - hookutils.py, attach_hardware(): Sort ProcModules, thanks Brian Murray.
2135 by Martin Pitt
launchpad.py: Keep "Dependencies" attachment in duplicates. Thanks Brian Murray.
348
 - launchpad.py: Keep "Dependencies" attachment in duplicates. Thanks Brian
349
   Murray.
2141 by Martin Pitt
Merge whoopsie branch from Evan Dandrea:
350
 - Reorganize the GNOME and KDE user interface to do the crash notifications
351
   and detail browser in a single dialog. Add test/gtk and test/kde tests to
352
   check expected dialog layout for different cases. Thanks Evan Dandrea!
353
 - Add support for the whoopsie-daisy crash reporting daemon by creating
354
   zero-byte .upload file stamps for crash reports. Thanks Evan Dandrea!
2128 by Martin Pitt
man/apport-bug.1: Mention where crash files are stored. Thanks David Kastrup.
355
2125 by Martin Pitt
release 1.91
356
1.91 (2012-01-18):
2103 by Martin Pitt
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.
357
------------------
358
Bug fixes:
359
 - crashdb.py, check_duplicate(): If a crash has a signature but no existing
360
   duplicate in the DB, also check for an existing address signature duplicate
361
   in the DB.
2106 by Martin Pitt
apport-retrace: Use DistroRelease specific subdirectory of the cache dir for mapping a file to a package, as these maps are release specific.
362
 - apport-retrace: Use DistroRelease specific subdirectory of the cache dir for
363
   mapping a file to a package, as these maps are release specific.
2107 by Martin Pitt
packaging-apt-dpkg.py: Refresh Contents.gz cache if it is older than one day.
364
 - packaging-apt-dpkg.py: Refresh Contents.gz cache if it is older than one
365
   day.
2108 by Martin Pitt
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.
366
 - crashdb.py: Ensure that address_signature duplicate db table does not have
367
   multiple identical signatures by making it a primary key. Bump the db format
368
   to "3". Existing databases need to be migrated manually as SQLite does not
369
   allow adding a "PRIMARY KEY" constraint to existing tables.
2109 by Martin Pitt
crashdb.py: Do not add a new address signature entry if one already exists.
370
 - crashdb.py: Do not add a new address signature entry if one already exists.
2115 by Martin Pitt
apport-cli: Fix UnicodeDecodeError on unicode report values. (LP: #275972)
371
 - apport-cli: Fix UnicodeDecodeError on unicode report values. (LP: #275972)
2116 by Martin Pitt
launchpad.py: Only set bug task importance if it is undecided.
372
 - launchpad.py: Only set bug task importance if it is undecided.
2117 by Martin Pitt
apport-retrace: Fix "an useful" typo. (LP: #911437)
373
 - apport-retrace: Fix "an useful" typo. (LP: #911437)
2118 by Martin Pitt
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.
374
 - report.py: Filter out frames which are internal kernel/glibc implementation
375
   details and not stable across duplicates. In particular, filter out
376
   __kernel-syscall() and the SSE stubs.
2120 by Martin Pitt
crashdb.py: Remove debugging leftover which completely disabled bug pattern checking.
377
 - crashdb.py: Remove debugging leftover which completely disabled bug pattern
378
   checking.
2124 by Martin Pitt
report.py: Update reading AssertionMessage. Current (e)glibc turned __abort_msg from a simple static string into a struct.
379
 - report.py: Update reading AssertionMessage. Current (e)glibc turned
380
   __abort_msg from a simple static string into a struct.
2103 by Martin Pitt
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.
381
2121 by Martin Pitt
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.
382
Improvements:
383
 - Change permissions of .crash files from 0600 to 0640, so that /var/crash can
384
   be made g+s and crash handling daemons can access those.
2122 by Martin Pitt
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)
385
 - Python exceptions: Blacklist DBus.Error.NoReply. It does not help to get
386
   these traces from the client-side application, you need the actual exception
387
   in the D-Bus server backend instead. (LP: #914220)
2123 by Martin Pitt
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.
388
 - Support /etc/apport/whitelist.d/ similarly to /etc/apport/blacklist.d/, for
389
   cases like installer environments where only crashes of a few selected
390
   programs should be reported.
2121 by Martin Pitt
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.
391
2102 by Martin Pitt
release 1.90
392
1.90 (2011-11-24):
2074 by Martin Pitt
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.
393
------------------
2101 by Martin Pitt
bump version to 1.90 as first beta of 2.0
394
First beta release of 2.0 which introduces client-side duplicate checking.
395
2065 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix another test case failure when ddeb repository is not enabled.
396
Bug fixes:
397
 - backends/packaging-apt-dpkg.py: Fix another test case failure when ddeb
398
   repository is not enabled.
2066 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix handling of explicit cache directory name when it is a relative path.
399
 - backends/packaging-apt-dpkg.py: Fix handling of explicit cache directory
400
   name when it is a relative path.
2069 by Martin Pitt
launchpad.py: Only query for bugs after 2011-08-01, to avoid timeouts.
401
 - launchpad.py: Only query for bugs after 2011-08-01, to avoid timeouts.
2093 by Martin Pitt
ui.py: Also anonymize standard bug title. (LP: #893863)
402
 - ui.py: Also anonymize standard bug title. (LP: #893863)
2100 by Martin Pitt
launchpad.py: Current Launchpad cannot have private bugs which affect multiple projects. Fix test suite accordingly.
403
 - launchpad.py: Current Launchpad cannot have private bugs which affect
404
   multiple projects. Fix test suite accordingly.
2065 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix another test case failure when ddeb repository is not enabled.
405
2070 by Martin Pitt
report.py: Break out new method stacktrace_top_function() from standard_title(), so that other parts of the code can use this as well.
406
Improvements:
407
 - report.py: Break out new method stacktrace_top_function() from
408
   standard_title(), so that other parts of the code can use this as well.
2071 by Martin Pitt
launchpad.net: When sending retraced results back to the bug report, update the topmost function in the bug title. (LP: #869970)
409
 - launchpad.net: When sending retraced results back to the bug report, update
410
   the topmost function in the bug title. (LP: #869970)
2074 by Martin Pitt
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.
411
 - report.py, add_gdb_info(): Add a new field "StacktraceAddressSignature"
412
   which is a heuristic signature for signal crashes. This should be used if
413
   crash_signature() fails, i. e. the Stacktrace field does not have enough
414
   symbols. This can be used to check for duplicates on the client side,
415
   provided that the crash database server supports querying for these.
416
   Do not expose this field when uploading to crash databases though, as it can
417
   be recomputed from the already existing information (ProcMaps and
418
   Stacktrace) and thus would just clutter the reports.
2078 by Martin Pitt
crashdb.py: Add a table "version" with the database format version. Add automatic upgrading to the most current format.
419
 - crashdb.py: Add a table "version" with the database format version. Add
420
   automatic upgrading to the most current format.
2082 by Martin Pitt
crashdb.py: Put address signatures from reports checked with check_duplicate() into the duplicate database, so that implementations of known() can check for these.
421
 - crashdb.py: Put address signatures from reports checked with
422
   check_duplicate() into the duplicate database, so that implementations of
423
   known() can check for these.
2085 by Martin Pitt
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.
424
 - dupdb-admin: Add "publish" dupdb-admin command which exports the
425
   duplicate database into a set of text files suitable for WWW publishing.
426
 - crashdb.py: Add new method "known(report)" which can be implemented to check
427
   if the crash db already knows about the crash signature. If so, the report
428
   will not be uploaded, and instead the user will be directed to the existing
429
   report URL (if available), similar to bug patterns. The default
430
   implementation checks this format, if the crash database is initialized with
431
   a "dupdb_url" option pointing to the exported database.
2098 by Martin Pitt
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.
432
 - launchpad.py: Override known() to check if the master bug is actually
433
   accessible by the reporter, and is not tagged with "apport-failed-retrace"
434
   or "apport-request-retrace"; otherwise file it anyway.
2088 by Martin Pitt
crash-digger: Add --publish-db option to conveniently integrate duplicate DB publication (similar to dupdb-admin publish) into retracer setups.
435
 - crash-digger: Add --publish-db option to conveniently integrate duplicate DB
436
   publication (similar to dupdb-admin publish) into retracer setups.
2095 by Martin Pitt
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)
437
 - launchpad.py: Attach updated stack traces from a duplicate to the master bug
438
   if it failed retracing previously or has an "apport-request-retrace" tag.
439
   (LP: #869982)
2096 by Martin Pitt
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)
440
 - apport-kde, apport-gtk: Support the "Annotation" field for custom dialog
441
   titles for "Crash" and "Package" problem types as well, not just for
442
   "Kernel". (LP: #664378)
2070 by Martin Pitt
report.py: Break out new method stacktrace_top_function() from standard_title(), so that other parts of the code can use this as well.
443
2064 by Martin Pitt
release 1.26
444
1.26 (2011-11-11):
2058 by Martin Pitt
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)
445
------------------
2034 by Martin Pitt
backends/packaging-apt-dpkg.py: Port to current python-apt API.
446
Bug fixes:
447
 - backends/packaging-apt-dpkg.py: Port to current python-apt API.
2036 by Martin Pitt
hookutils.py: Fix path_to_key() to also work with unicode arguments.
448
 - hookutils.py: Fix path_to_key() to also work with unicode arguments.
2037 by Martin Pitt
test/crash: Exit successfully if apport is not enabled in the system. This allows packages to run the test suite during build.
449
 - test/crash: Exit successfully if apport is not enabled in the system. This
450
   allows packages to run the test suite during build.
2049 by Martin Pitt
report.py, add_proc_info(): Correctly handle "python -m <modulename>" programs as being interpreted and determine the appropriate module path.
451
 - report.py, add_proc_info(): Correctly handle "python -m <modulename>"
452
   programs as being interpreted and determine the appropriate module path.
2050 by Martin Pitt
Fix some import statements to also work for the system-installed test suite.
453
 - Fix some import statements to also work for the system-installed test suite.
2051 by Martin Pitt
test/run: Fix testing data/general-hooks/parse_segv.py when called in system-installed mode.
454
 - test/run: Fix testing data/general-hooks/parse_segv.py when called in
455
   system-installed mode.
2052 by Martin Pitt
apport/ui.py: Clean up test .crash file after test cases.
456
 - apport/ui.py: Clean up test .crash file after test cases.
2053 by Martin Pitt
Fix tests when running as root.
457
 - Fix tests when running as root.
2054 by Martin Pitt
setup.py: Fix crash when "javac -version" fails.
458
 - setup.py: Fix crash when "javac -version" fails.
2055 by Martin Pitt
README: Update command for one-time enablement.
459
 - README: Update command for one-time enablement.
2057 by Martin Pitt
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.
460
 - backends/packaging-apt-dpkg.py: Fix interleaving usage of install_packages()
461
   with other operations such as get_version(), by resetting the apt status
462
   after building and using the sandbox.
2059 by Martin Pitt
report.py test suite: Remove requirement that $USER is set, which makes it easier to run this from package build environments.
463
 - report.py test suite: Remove requirement that $USER is set, which makes it
464
   easier to run this from package build environments.
2061 by Martin Pitt
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.
465
 - apport/ui.py, test/crash: Use "yes" as test process instead of "cat". The
466
   former is less likely to run already, and does not depend on having a stdin,
467
   so it runs better in test environments like autopkgtest.
2063 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix tests if system does not have a dbgsym apt source.
468
 - backends/packaging-apt-dpkg.py: Fix tests if system does not have a dbgsym
469
   apt source.
2034 by Martin Pitt
backends/packaging-apt-dpkg.py: Port to current python-apt API.
470
2058 by Martin Pitt
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)
471
Improvements:
472
 - Ignore a crash if gnome-session is running and says that the session is
473
   being shut down. These often die because X.org or other services are going
474
   away, are usually harmless, and just cause a lot of clutter in bug trackers.
475
   (LP: #460932)
2060 by Martin Pitt
test/crash: Rewrite using Python's unittest, to be in line with other tests, and be easier to maintain and extend.
476
 - test/crash: Rewrite using Python's unittest, to be in line with other tests,
477
   and be easier to maintain and extend.
2058 by Martin Pitt
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)
478
2032 by Martin Pitt
release 1.25
479
1.25 (2011-11-02):
2006 by Martin Pitt
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)
480
------------------
481
Improvements:
482
 - Add new response "Examine locally" to presenting the report details, which
483
   runs apport-retrace in the chosen mode in a terminal. This should be made
484
   available for crash reports if apport-retrace and a Terminal application are
485
   installed; add an abstrace UI method for this. (LP: #75901)
2007 by Martin Pitt
apport-gtk: Add "Examine locally..." button, and implement ui_run_terminal().
486
 - apport-gtk: Add "Examine locally..." button, and implement
487
   ui_run_terminal().
2025 by Martin Pitt
NEWS: Fix typo
488
 - apport-cli: Add "Examine locally..." responses, and implement
2008 by Martin Pitt
apport-cli: Add "Examine locally..." respones, and implement ui_run_terminal().
489
   ui_run_terminal().
2009 by Martin Pitt
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.
490
 - apport-cli: Greatly speed up displaying large reports. This also changes the
491
   format to avoid indenting each line with a space, and visually set apart the
492
   keys in a better way.
2011 by Martin Pitt
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.
493
 - apport_python_hook.py: Move tests out of this file into test/python, to
494
   avoid having to parse the unit tests at each Python startup.
2012 by Martin Pitt
test/python: Also make tests work if Python hook is not installed in system's sitecustomize.py.
495
 - test/python: Also make tests work if Python hook is not installed in
496
   system's sitecustomize.py.
2020 by Martin Pitt
packaging.py: Add get_modified_conffiles() API, and implement it in packaging-apt-dpkg.py.
497
 - packaging.py: Add get_modified_conffiles() API, and implement it in
498
   packaging-apt-dpkg.py.
2021 by Martin Pitt
hookutils.py: Add attach_conffiles().
499
 - hookutils.py: Add attach_conffiles().
2024 by Martin Pitt
hookutils.py: Add attach_upstart_overrides().
500
 - hookutils.py: Add attach_upstart_overrides().
2006 by Martin Pitt
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)
501
2004 by Martin Pitt
launchpad.py: Remove "Ubuntu" in bug response, replace with "this software". (LP: #883234)
502
Bug fixes: 
503
 - launchpad.py: Remove "Ubuntu" in bug response, replace with "this software".
504
   (LP: #883234)
2005 by Martin Pitt
apport-kde: Rearrange order of imports to get intended error message if PyKDE is not installed.
505
 - apport-kde: Rearrange order of imports to get intended error message if
506
   PyKDE is not installed.
2017 by Martin Pitt
packaging-apt-dpkg.py: Ignore hardening-wrapper diversions, to make gcc_ice_hook work if hardening-wrapper is installed.
507
 - packaging-apt-dpkg.py: Ignore hardening-wrapper diversions, to make
508
   gcc_ice_hook work if hardening-wrapper is installed.
2018 by Martin Pitt
fix NEWS
509
 - apport_python_hook: Respect $APPORT_REPORT_DIR.
510
 - apport_python_hook: Limit successive crashes per program and user to 3 per
511
   day, just like signal crashes. (LP: #603503)
2019 by Martin Pitt
packaging-apt-dpkg.py: Skip online tests when there is no default route.
512
 - packaging-apt-dpkg.py: Skip online tests when there is no default route.
2022 by Martin Pitt
ui.py: Fix test suite to not fail if system has some obsolete or non-distro packages.
513
 - ui.py: Fix test suite to not fail if system has some obsolete or non-distro
514
   packages.
2004 by Martin Pitt
launchpad.py: Remove "Ubuntu" in bug response, replace with "this software". (LP: #883234)
515
2000 by Martin Pitt
release 1.24
516
1.24 (2011-10-19):
517
------------------
1977 by Martin Pitt
apport-retrace: Add --timestamp option to prepend a timestamp to log messages. This is useful for batch operations.
518
Bug fixes:
1969 by Martin Pitt
clarify NEWS
519
 - backends/packaging-apt-dpkg.py, install_packages(): Also copy
520
   apt/sources.list.d/ into sandbox.
1970 by Martin Pitt
backends/packaging-apt-dpkg.py, install_packages(): Install apt keyrings from config dir or from system into sandbox. (LP: #856216)
521
 - backends/packaging-apt-dpkg.py, install_packages(): Install apt keyrings
522
   from config dir or from system into sandbox. (LP: #856216)
1971 by Martin Pitt
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.
523
 - packaging.py, backends/packaging-apt-dpkg.py: Define that install_packages()
524
   should return a SystemError for broken configs/unreachable servers etc., and
525
   fix the apt/dpkg implementation accordingly.
1972 by Martin Pitt
apport-retrace: Don't crash, just give a proper error message if servers are unreachable, or configuration files are broken. (LP: #859248)
526
 - apport-retrace: Don't crash, just give a proper error message if servers are
527
   unreachable, or configuration files are broken. (LP: #859248)
1973 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix crash when /etc/apport/native-origins.d contains any files. (LP: #865199)
528
 - backends/packaging-apt-dpkg.py: Fix crash when /etc/apport/native-origins.d
529
   contains any files. (LP: #865199)
1974 by Martin Pitt
hookutils, recent_logfile(): Fix invalid return value if log file is not readable. (LP: #819357)
530
 - hookutils, recent_logfile(): Fix invalid return value if log file is not
531
   readable. (LP: #819357)
1979 by Martin Pitt
test/crash: Fix race condition in the "second instance terminates immediately" check.
532
 - test/crash: Fix race condition in the "second instance terminates
533
   immediately" check.
1982 by Martin Pitt
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.
534
 - hookutils.py: Replace attach_gconf() with a no-op stub. It used static
535
   python modules like "gconf" which broke the PyGI GTK user interface, and
536
   gconf is rather obsolete these days.
1984 by Martin Pitt
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)
537
 - ui.py, open_url(): Greatly simply and robustify by just using xdg-open. This
538
   already does the right thing wrt. reading the default browser from GNOME,
539
   KDE, XCE, and other desktops. (LP: #198449)
1986 by Martin Pitt
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)
540
 - data/general-hooks/generic.py: Only attach ~/.xsession_errors if the bug is
541
   reported in the same XDG session as the crash happened. (LP: #869974)
1988 by Martin Pitt
Ignore crashes for programs which got updated in between the crash and reporting. (LP: #132904)
542
 - Ignore crashes for programs which got updated in between the crash and
543
   reporting. (LP: #132904)
1989 by Martin Pitt
Special-case crashes of 'twistd': Try to determine the client program and assign the report to that, or fail with an UnreportableReason. (LP: #755025)
544
 - Special-case crashes of 'twistd': Try to determine the client program and
545
   assign the report to that, or fail with an UnreportableReason. (LP: #755025)
1991 by Martin Pitt
apport-gtk: In bug update mode, make details dialog resizable and fix default size. (LP: #865754)
546
 - apport-gtk: In bug update mode, make details dialog resizable and fix
547
   default size. (LP: #865754)
1992 by Martin Pitt
apport-gtk: Fix crash if report does not have ProcCmdline. (LP: #854452)
548
 - apport-gtk: Fix crash if report does not have ProcCmdline. (LP: #854452)
1993 by Martin Pitt
hookutils.py, attach_wifi(): Anonymize ESSID and AP MAC from "iwconfig" output. (LP: #746900)
549
 - hookutils.py, attach_wifi(): Anonymize ESSID and AP MAC from "iwconfig"
550
   output. (LP: #746900)
1994 by Martin Pitt
test/crash: Fix test failure if user is not in any system groups.
551
 - test/crash: Fix test failure if user is not in any system groups.
1995 by Martin Pitt
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)
552
 - test/crash: Change to /tmp/ for test crash process, to fix failure if the
553
   user that runs the test suite cannot write into the current directory.
554
   (LP: #868695)
1996 by Martin Pitt
ui.py: Improve error message if package is not a genuine distro package. Thanks to Ronan Jouchet. (LP: #559345)
555
 - ui.py: Improve error message if package is not a genuine distro package.
556
   Thanks to Ronan Jouchet. (LP: #559345)
1968 by Martin Pitt
backends/packaging-apt-dpkg.py: Also copy apt/sources.list.d/ into sandbox.
557
1977 by Martin Pitt
apport-retrace: Add --timestamp option to prepend a timestamp to log messages. This is useful for batch operations.
558
Improvements:
559
 - apport-retrace: Add --timestamp option to prepend a timestamp to log
560
   messages. This is useful for batch operations.
1978 by Martin Pitt
crash-digger: Call apport-retrace with --timestamps, to get consistent timestamps in log output.
561
 - crash-digger: Call apport-retrace with --timestamps, to get consistent
562
   timestamps in log output.
1983 by Martin Pitt
hookutils.py: Add two new functions attach_gsettings_package() and attach_gsettings_schema() for adding user-modified gsettings keys to a report. (LP: #836489)
563
 - hookutils.py: Add two new functions attach_gsettings_package() and
564
   attach_gsettings_schema() for adding user-modified gsettings keys to a
565
   report. (LP: #836489)
1985 by Martin Pitt
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.
566
 - hookutils.py: Add new function in_session_of_problem() which returns whether
567
   the given report happened in the currently running XDG session. This can be
568
   used to determine if e. g. ~/.xsession-errors is relevant and should be
569
   attached.
1977 by Martin Pitt
apport-retrace: Add --timestamp option to prepend a timestamp to log messages. This is useful for batch operations.
570
1967 by Martin Pitt
release 1.23.1
571
1.23.1 (2011-09-29)
1961 by Martin Pitt
apport/crashdb.py: Ensure that duplicate table only has one entry per report ID.
572
-------------------
573
Bug fixes:
574
 - apport/crashdb.py: Ensure that duplicate table only has one entry per report
575
   ID.
1962 by Martin Pitt
apport-retrace: Pass correct executable path to gdb in --gdb with --sandbox mode.
576
 - apport-retrace: Pass correct executable path to gdb in --gdb with --sandbox
577
   mode.
1966 by Martin Pitt
fix typo in NEWS
578
 - apport-retrace: Do not leave behind temporary directories on errors.
1964 by Martin Pitt
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.
579
 - apport-retrace: Drop assertion failure for existance of "Stacktrace". This
580
   isn't present in the case of gdb crashing, and there is not much we can do
581
   about it. This should not break the retracer.
1965 by Martin Pitt
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.
582
 - apport/report.py: Unwind XError() from stack traces for the "StacktraceTop"
583
   field, as they take a significant part of the trace. This causes bugs to be
584
   duplicated which really have different causes.
1961 by Martin Pitt
apport/crashdb.py: Ensure that duplicate table only has one entry per report ID.
585
1960 by Martin Pitt
release 1.23
586
1.23 (2011-09-14)
1952 by Martin Pitt
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.
587
-----------------
588
Improvements:
589
 - crashdb.py, crash-digger, dupdb-admin: Drop the concept of "duplicate DB
590
   consolidation". Such massive queries cause timeouts with e. g. Launchpad.
591
   Instead, update the status of potential master bugs in the crash DB whenever
592
   check_duplicate() is called.
593
1949 by Martin Pitt
launchpad.py: Fix crash in close_duplicate() if master bug was already marked as a duplicate of the examined bug.
594
Bug fixes:
595
 - launchpad.py: Fix crash in close_duplicate() if master bug was already
596
   marked as a duplicate of the examined bug.
1950 by Martin Pitt
problem_report.py, load(): Fix missing last character if the last line in a multi-line field is not terminated with a newline.
597
 - problem_report.py, load(): Fix missing last character if the last line in a
598
   multi-line field is not terminated with a newline.
1951 by Martin Pitt
launchpad.py: Fix test_marking_python_task_mangle() check to work with current Launchpad.
599
 - launchpad.py: Fix test_marking_python_task_mangle() check to work with
600
   current Launchpad.
1955 by Martin Pitt
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)
601
 - apport-retrace: If the user did not specify a --cache directory, create a
602
   shared one instead of letting the two install_packages() calls create their
603
   own. This ensures that the apt and dpkg status is up to date, and avoids
604
   downloading the package indexes multiple times. (LP: #847951)
1956 by Martin Pitt
apport-retrace: Give proper error mesage instead of AssertionError crash if a report does not contain standard Apport format data. (LP: #843221)
605
 - apport-retrace: Give proper error mesage instead of AssertionError crash if
606
   a report does not contain standard Apport format data. (LP: #843221)
1957 by Martin Pitt
fileutils.py, get_new_reports(): Fix crash if report file disappears in the middle of the operation. (LP: #640216)
607
 - fileutils.py, get_new_reports(): Fix crash if report file disappears in the
608
   middle of the operation. (LP: #640216)
1958 by Martin Pitt
apport/ui.py, load_report(): Intercept another case of broken report files. (LP: #445142)
609
 - apport/ui.py, load_report(): Intercept another case of broken report files.
610
   (LP: #445142)
1959 by Martin Pitt
apport/report.py, standard_title(): Escape regular expression control characters in custom exception names. (LP: #762998)
611
 - apport/report.py, standard_title(): Escape regular expression control
612
   characters in custom exception names. (LP: #762998)
1949 by Martin Pitt
launchpad.py: Fix crash in close_duplicate() if master bug was already marked as a duplicate of the examined bug.
613
1948 by Martin Pitt
release 1.22.1
614
1.22.1 (2011-09-06)
1942 by Martin Pitt
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.
615
-------------------
1944 by Martin Pitt
dupdb-admin: Add "removeid" command.
616
Improvements:
617
 - dupdb-admin: Add "removeid" command.
618
1942 by Martin Pitt
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.
619
Bug fixes:
620
 - dupdb-admin: Use the in-memory CrashDB implementation for simple operations
621
   like dump or changeid, which do not require an actual backend. This makes
622
   the command work in checkouts without a /etc/apport/crashdb.conf.
1943 by Martin Pitt
dupdb-admin: Fix UnicodeEncodeError crash.
623
 - dupdb-admin: Fix UnicodeEncodeError crash.
1945 by Martin Pitt
launchpad.py: Fix crash if a crash report does not have a DistroRelease.
624
 - launchpad.py: Fix crash if a crash report does not have a DistroRelease.
1946 by Martin Pitt
Set the default "Apport" title for choice dialogs instead of the default apport-gtk title. Thanks Robert Roth. (LP: #608222)
625
 - Set the default "Apport" title for choice dialogs instead of the default
626
   apport-gtk title. Thanks Robert Roth. (LP: #608222)
1947 by Martin Pitt
apport-gtk: Update markup_escape_text() call to current glib. (LP: #829635)
627
 - apport-gtk: Update markup_escape_text() call to current glib. (LP: #829635)
1942 by Martin Pitt
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.
628
1941 by Martin Pitt
release 1.22
629
1.22 (2011-08-25)
1928 by Martin Pitt
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().
630
-----------------
631
Improvements:
632
 - Completely rework apport-retrace to use gdb's "debug-file-directory" and
633
   "solib-absolute-prefix" settings and only unpack the necessary packages in a
634
   temporary directory. This makes it possible to use it in a running system
635
   without actually touching installed packages, does not need any root
636
   privileges, and stops the requirement of using chroots with fakechroot and
637
   fakeroot. This is a lot easier to maintain and use, and a lot faster, too.
638
   As a consequence, drop the chroot module, and update crash-digger
639
   accordingly. See "man apport-retrace" for the new usage.
640
   It is now also easier to port to other packaging backends, as a lot of the
641
   common logic moved out of the packaging API;
642
   packaging.install_retracing_packages() got dropped in favor of the simpler
643
   packaging.install_packages().
1935 by Martin Pitt
crash-digger: Show how many bugs are left in the pool with each new retrace.
644
 - crash-digger: Show how many bugs are left in the pool with each new retrace.
1928 by Martin Pitt
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().
645
1924 by Martin Pitt
apport-gtk: Fix crash in GLib.markup_escape_text() call, regression from 1.21.3. (LP: #828010)
646
Bug fixes:
647
 - apport-gtk: Fix crash in GLib.markup_escape_text() call, regression from
648
   1.21.3. (LP: #828010)
1925 by Martin Pitt
launchpad.py: When searchTasks() times out, exit with 99 as this is a transient error.
649
 - launchpad.py: When searchTasks() times out, exit with 99 as this is a
650
   transient error.
1931 by Martin Pitt
crash-digger: Intercept OverflowError from downloaded compressed attachments.
651
 - crash-digger: Intercept OverflowError from downloaded compressed
652
   attachments.
1924 by Martin Pitt
apport-gtk: Fix crash in GLib.markup_escape_text() call, regression from 1.21.3. (LP: #828010)
653
1923 by Martin Pitt
release 1.21.3
654
1.21.3 (2011-08-17)
1913 by Martin Pitt
gtk/apport-gtk.desktop.in: Also show in Unity. (LP: #803519)
655
-------------------
656
Bug fixes:
657
 - gtk/apport-gtk.desktop.in: Also show in Unity. (LP: #803519)
1914 by Martin Pitt
apport-unpack: Fix crash on file errors.
658
 - apport-unpack: Fix crash on file errors.
1916 by Martin Pitt
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.
659
 - Add apport.packaging.get_library_paths() interface and implement it for
660
   backends/packaging-apt-dpkg.py using dpkg multiarch directories. Use it in
661
   chroot.py.
1918 by Martin Pitt
hookutils.py: Don't attach empty values. Thanks Bryce Harrington. (LP: #813798)
662
 - hookutils.py: Don't attach empty values. Thanks Bryce Harrington.
663
   (LP: #813798)
1919 by Martin Pitt
apport-gtk: Correctly pass message dialog type.
664
 - apport-gtk: Correctly pass message dialog type.
1921 by Martin Pitt
apport-gtk: Fix GLib and GObject imports to be compatible with the future pygobject 3.0.
665
 - apport-gtk: Fix GLib and GObject imports to be compatible with the future
666
   pygobject 3.0.
1913 by Martin Pitt
gtk/apport-gtk.desktop.in: Also show in Unity. (LP: #803519)
667
1915 by Martin Pitt
hookutils.py: Add attach_mac_events() for reporting logs of MAC systems. Looks for AppArmor messages for now. Thanks Marc Deslauriers!
668
Improvements:
669
 - hookutils.py: Add attach_mac_events() for reporting logs of MAC systems.
670
   Looks for AppArmor messages for now. Thanks Marc Deslauriers!
1920 by Martin Pitt
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.
671
 - hookutils.py, attach_alsa(): Get a list of outputs/inputs that PulseAudio
672
   knows about, which also shows the currently selected output/input, as well
673
   as volumes. This should help with "no sound" bug troubleshooting. Thanks
674
   Luke Yelavich.
1915 by Martin Pitt
hookutils.py: Add attach_mac_events() for reporting logs of MAC systems. Looks for AppArmor messages for now. Thanks Marc Deslauriers!
675
1912 by Martin Pitt
release 1.21.2
676
1.21.2 (2011-07-01)
1908 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix crash introduced in 1.21.1's multiarch fixes.
677
-------------------
1907 by Martin Pitt
test/run: Check $PYTHON for using a different Python interpreter (such as "python3") for the tests.
678
Improvements:
679
 - test/run: Check $PYTHON for using a different Python interpreter (such as
680
   "python3") for the tests.
1909 by Martin Pitt
generic hook: Don't report package installation failures due to segfaulting maintainer scripts. We want the actual crash report only. Thanks Brian Murray.
681
 - generic hook: Don't report package installation failures due to segfaulting
682
   maintainer scripts. We want the actual crash report only. Thanks Brian
683
   Murray.
1911 by Martin Pitt
hookutils.py, attach_wifi(): Also include wpasupplicant logs. Thanks Mathieu Trudel-Lapierre!
684
 - hookutils.py, attach_wifi(): Also include wpasupplicant logs. Thanks Mathieu
685
   Trudel-Lapierre!
1907 by Martin Pitt
test/run: Check $PYTHON for using a different Python interpreter (such as "python3") for the tests.
686
1908 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix crash introduced in 1.21.1's multiarch fixes.
687
Bug fixes:
688
 - backends/packaging-apt-dpkg.py: Fix crash introduced in 1.21.1's multiarch
689
   fixes.
1910 by Martin Pitt
report.py: Fix bug patterns to correctly match against compressed report fields.
690
 - report.py: Fix bug patterns to correctly match against compressed report
691
   fields.
1908 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix crash introduced in 1.21.1's multiarch fixes.
692
1906 by Martin Pitt
release 1.21.1
693
1.21.1 (2011-06-20)
1901 by Martin Pitt
data/general-hooks/generic.py: Also check for low space on /var. Thanks Brian Murray.
694
-------------------
695
Improvements:
696
 - data/general-hooks/generic.py: Also check for low space on /var. Thanks
697
   Brian Murray.
1902 by Martin Pitt
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.
698
 - hookutils.py, attach_file() and attach_file_if_exists(): Add a new
699
   "overwrite" flag option. If not given, now default to overwriting an
700
   existing key, as this is usually what you need when attaching files
701
   (instead of attaching it several times with '_' appended to the keys). You
702
   can get the old behaviour by setting overwrite=False.
1901 by Martin Pitt
data/general-hooks/generic.py: Also check for low space on /var. Thanks Brian Murray.
703
1903 by Martin Pitt
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.
704
Bug fixes:
705
 - When showing the size of the full report, take the compressed size of binary
706
   values instead of their uncompressed size, as the crash db upload will use
707
   the compressed values.
1904 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix for current dpkg with multiarch support.
708
 - backends/packaging-apt-dpkg.py: Fix for current dpkg with multiarch support.
1905 by Martin Pitt
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.
709
 - test/run: Fix the test suite to run against the system installed libraries
710
   with current Python versions (2.6, 2.7) where __file__ does not work any
711
   more with imports.
1903 by Martin Pitt
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.
712
1899 by Martin Pitt
release 1.21
713
1.21 (2011-06-08)
1898 by Martin Pitt
bump version to 1.21, new features
714
-----------------
1895 by Martin Pitt
Supply --desktop option to kdesudo to improve the description which program is requesting administrative privileges.
715
Improvements:
716
 - Supply --desktop option to kdesudo to improve the description which program
717
   is requesting administrative privileges.
1896 by Martin Pitt
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.
718
 - apport-checkreports: Exit with status 2 if there are new reports, but apport
719
   is disabled. This helps crash notification GUIs to not display new crash
720
   reports in that case. Thanks to Michael Vogt for the original patch.
1897 by Martin Pitt
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!
721
 - Add data/is-enabled: Shell script to check if apport is enabled. Non-Python
722
   programs (which can't use apport.packaging.enabled() ) can call this instead
723
   of having to parse /etc/default/apport themselves, and just check the exit
724
   code. Inspired by original patch from Michael Vogt, thanks!
1895 by Martin Pitt
Supply --desktop option to kdesudo to improve the description which program is requesting administrative privileges.
725
1890 by Martin Pitt
apport-gtk: HTML-escape text for dialogs with URLs. (LP: #750870)
726
Bug fixes:
727
 - apport-gtk: HTML-escape text for dialogs with URLs. (LP: #750870)
1891 by Martin Pitt
dump_acpi_tables.py: Check to see if acpi/tables dir is mounted first. Thanks Brian Murray. (LP: #729622)
728
 - dump_acpi_tables.py: Check to see if acpi/tables dir is mounted first.
729
   Thanks Brian Murray. (LP: #729622)
1892 by Martin Pitt
man/apport-cli.1: Document recently added -w/--window option. Thanks Abhinav Upadhyay! (LP: #765600)
730
 - man/apport-cli.1: Document recently added -w/--window option. Thanks Abhinav
731
   Upadhyay! (LP: #765600)
1893 by Martin Pitt
Use kde-open instead of kfmclient to open URLs under KDE. Thanks Philip Muškovac. (LP: #765808)
732
 - Use kde-open instead of kfmclient to open URLs under KDE. Thanks Philip
733
   Muškovac. (LP: #765808)
1890 by Martin Pitt
apport-gtk: HTML-escape text for dialogs with URLs. (LP: #750870)
734
1889 by Martin Pitt
release 1.20.1
735
1.20.1 (2011-03-31)
1881 by Martin Pitt
Add bash completion support for new -w/--window option that was introduced in 1.20. Thanks Philip Muškovac.
736
-------------------
737
Bug fixes:
738
 - Add bash completion support for new -w/--window option that was introduced
739
   in 1.20. Thanks Philip Muškovac.
1882 by Martin Pitt
apport-unpack: Fix crash if target directory already exists.
740
 - apport-unpack: Fix crash if target directory already exists.
1883 by Martin Pitt
Fix crash if UnreportableReason is a non-ASCII string. (LP: #738632)
741
 - Fix crash if UnreportableReason is a non-ASCII string. (LP: #738632)
1884 by Martin Pitt
Fix crash if application from desktop name is a non-ASCII string. (LP: #737799)
742
 - Fix crash if application from desktop name is a non-ASCII string.
743
   (LP: #737799)
1885 by Martin Pitt
unkillable_shutdown: Fix rare crash if ExecutablePath does not exist (any more). (LP: #537904)
744
 - unkillable_shutdown: Fix rare crash if ExecutablePath does not exist (any
745
   more). (LP: #537904)
1886 by Martin Pitt
kernel_crashdump: Fix crash if the vmcore file disappeared underneath us. (LP: #450295)
746
 - kernel_crashdump: Fix crash if the vmcore file disappeared underneath us.
747
   (LP: #450295)
1887 by Martin Pitt
unkillable_shutdown: Fix crash if the checked process terminated underneath us. (LP: #540436)
748
 - unkillable_shutdown: Fix crash if the checked process terminated underneath
749
   us. (LP: #540436)
1888 by Martin Pitt
ui.py: Properly raise exceptions from the upload thread that happen at its very end. (LP: #469943)
750
 - ui.py: Properly raise exceptions from the upload thread that happen at its
751
   very end. (LP: #469943)
1881 by Martin Pitt
Add bash completion support for new -w/--window option that was introduced in 1.20. Thanks Philip Muškovac.
752
1880 by Martin Pitt
release 1.20
753
1.20 (2011-03-17)
1872 by Martin Pitt
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)
754
-----------------
755
Improvements:
756
 - Add support for -w/--window option which will enable user to select a
757
   window as a target for filing a problem report. Thanks Abhinav Upadhyay for
758
   the patch! (LP: #357847)
1875 by Martin Pitt
Disable the filtering on SIGABRT without assertion messages. Turns out that developers want these crash reports after all.
759
 - Disable the filtering on SIGABRT without assertion messages. Turns out that
1877 by Martin Pitt
add LP ref for re-enabling SIGABRT crashes
760
   developers want these crash reports after all. (LP: #729223)
1876 by Martin Pitt
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".
761
 - Add support for a "DuplicateSignature" report fields. This allows package
762
   hooks to implement custom duplicate problem handling which doesn't need to
763
   be hardcoded in Apport itself. Update the launchpad backend to tag such bugs
764
   as "need-duplicate-check".
1872 by Martin Pitt
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)
765
1865 by Martin Pitt
apport-retrace: Intercept SystemErrors from ill-formed gzip attachments as well.
766
Bug fixes:
1864 by Martin Pitt
fix NEWS
767
 - report.py, add_hooks_info(): Properly report TypeErrors from hooks.
1865 by Martin Pitt
apport-retrace: Intercept SystemErrors from ill-formed gzip attachments as well.
768
 - apport-retrace: Intercept SystemErrors from ill-formed gzip attachments as
769
   well.
1866 by Martin Pitt
Fix crash if crash database configuration does not specify a bug_pattern_url. Just assume None. (LP: #731526)
770
 - Fix crash if crash database configuration does not specify a
771
   bug_pattern_url. Just assume None. (LP: #731526)
1867 by Martin Pitt
If a custom crash database does not specify a bug_pattern_url, fall back to using the default database's. (LP: ##731526)
772
 - If a custom crash database does not specify a bug_pattern_url, fall back to
1868 by Martin Pitt
fix typo in NEWS
773
   using the default database's. (LP: #731526)
1869 by Martin Pitt
hookutils.py Update WifiSyslog regex to correctly catch application log messages in syslog. Thanks Mathieu Trudel-Lapierre. (LP: #732917)
774
 - hookutils.py Update WifiSyslog regex to correctly catch application log
775
   messages in syslog. Thanks Mathieu Trudel-Lapierre. (LP: #732917)
1870 by Martin Pitt
hookutils.py, attach_hardware(): Avoid error message if machine does not have a PCI bus. Thanks Marcin Juszkiewicz! (LP: #608449)
776
 - hookutils.py, attach_hardware(): Avoid error message if machine does not
777
   have a PCI bus. Thanks Marcin Juszkiewicz! (LP: #608449)
1871 by Martin Pitt
backends/packaging-apt-dpkg.py: Replace deprecated getChanges() call with get_changes().
778
 - backends/packaging-apt-dpkg.py: Replace deprecated getChanges() call with
779
   get_changes().
1878 by Martin Pitt
apport-gtk: Fix broken dialog heading if the name of the crashed program contains an & or other markup specific characters.
780
 - apport-gtk: Fix broken dialog heading if the name of the crashed program
781
   contains an & or other markup specific characters.
1879 by Martin Pitt
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)
782
 - apport-gtk: Don't crash if GTK cannot be initialized. This usually happens
783
   without a $DISPLAY or when the session is being shut down. Just print an
784
   error message. If there are pending crashes, they will be shown again the
785
   next time a session starts. (LP: #730569)
1864 by Martin Pitt
fix NEWS
786
1862 by Martin Pitt
release 1.19
787
1.19 (2011-02-28)
1860 by Martin Pitt
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!
788
-----------------
1846 by Martin Pitt
Update stack unwind patterns for current glib (slightly changed function names), and also ignore a preceding '*'. (LP: #716251)
789
Bug fixes:
790
 - Update stack unwind patterns for current glib (slightly changed function
791
   names), and also ignore a preceding '*'. (LP: #716251)
1847 by Martin Pitt
Fix crash_signature() to fail if there is an empty or too short StacktraceTop.
792
 - Fix crash_signature() to fail if there is an empty or too short
793
   StacktraceTop.
1848 by Martin Pitt
apt backend: Do not generate a warning if the opportunistically added -dbg package does not exist.
794
 - apt backend: Do not generate a warning if the opportunistically added -dbg
795
   package does not exist.
1854 by Martin Pitt
apt backend: Only add -dbg in --no-pkg mode, as there will be conflicts in normal package mode.
796
 - apt backend: Only add -dbg in --no-pkg mode, as there will be conflicts in
797
   normal package mode.
1849 by Martin Pitt
apt backend: Call tar with target cwd instead of using -C; the latter causes an extra openat() call which breaks with current fakechroot.
798
 - apt backend: Call tar with target cwd instead of using -C; the latter causes
799
   an extra openat() call which breaks with current fakechroot.
1859 by Martin Pitt
launchpad.py: Fix retracer crash if DistroRelease field does not exist.
800
 - launchpad.py: Fix retracer crash if DistroRelease field does not exist.
1861 by Martin Pitt
Convert deprecated failIf()/assert_() TestCase method calls to assertFalse()/assertTrue().
801
 - Convert deprecated failIf()/assert_() TestCase method calls to
802
   assertFalse()/assertTrue().
1846 by Martin Pitt
Update stack unwind patterns for current glib (slightly changed function names), and also ignore a preceding '*'. (LP: #716251)
803
1854.1.1 by Matt Zimmerman
- In apport-bug, if the user specifies a PID referring to a kernel thread,
804
Improvements:
805
 - In apport-bug, if the user specifies a PID referring to a kernel thread,
806
   do the right thing and file the bug against the kernel
1856 by Matt Zimmerman
- In hookutils.attach_dmesg, skip over an initial truncated message if one
807
 - In hookutils.attach_dmesg, skip over an initial truncated message if one
808
   is present (this happens when the ring buffer overflows)
1860 by Martin Pitt
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!
809
 - Change bug patterns to just use one central file instead of per-package
810
   files. This allows bug patterns to be written which are not package
811
   specific, and is easier to maintain as well. IMPORTANT: This changed the
812
   format of crashdb.conf: bug_pattern_base is now obsolete, and the new
813
   attribute bug_pattern_url now points to the full URL/path of the patterns
814
   file. Thanks to Matt Zimmerman!
1854.1.1 by Matt Zimmerman
- In apport-bug, if the user specifies a PID referring to a kernel thread,
815
1845 by Martin Pitt
release 1.18
816
1.18 (2011-02-16)
1844 by Martin Pitt
we have new features, bump version
817
-----------------
1838 by Martin Pitt
Ensure that symptom scripts define a run() function, and don't show them if not.
818
Bug fixes:
819
 - Ensure that symptom scripts define a run() function, and don't show them if
820
   not.
1839 by Martin Pitt
Do not show symptom scripts which start with an underscore. These can be used for private libraries for the actual symptom scripts.
821
 - Do not show symptom scripts which start with an underscore. These can be
822
   used for private libraries for the actual symptom scripts.
1841 by Martin Pitt
Update bash completion. Thanks Philip Muškovac.
823
 - Update bash completion. Thanks Philip Muškovac.
1843 by Martin Pitt
etc/default/apport: Remove obsolete "maxsize" setting. (LP: #719564)
824
 - etc/default/apport: Remove obsolete "maxsize" setting. (LP: #719564)
1838 by Martin Pitt
Ensure that symptom scripts define a run() function, and don't show them if not.
825
1840 by Martin Pitt
Remove explicit handling of KDE *.ui files in setup.py, as python-distutils-extra 2.24 fixes this. Bump version check.
826
Improvements:
827
 - Remove explicit handling of KDE *.ui files in setup.py, as
828
   python-distutils-extra 2.24 fixes this. Bump version check.
1842 by Martin Pitt
hookutils.py: Add attach_root_command_outputs() to run several commands at once. This avoids asking for the password several times. (LP: #716595)
829
 - hookutils.py: Add attach_root_command_outputs() to run several commands
830
   at once. This avoids asking for the password several times. (LP: #716595)
1840 by Martin Pitt
Remove explicit handling of KDE *.ui files in setup.py, as python-distutils-extra 2.24 fixes this. Bump version check.
831
1837 by Martin Pitt
release 1.17.2
832
1.17.2 (2011-02-04)
1824 by Martin Pitt
fix NEWS formatting
833
-------------------
1825 by Martin Pitt
Python 3 compatible exception handling
834
Improvements:
835
 - Be more Python 3 compatible (not fully working with Python 3 yet, though).
1830 by Martin Pitt
apt/dpkg backend: Drop support for pre-0.7.9 python-apt API.
836
 - apt/dpkg backend: Drop support for pre-0.7.9 python-apt API.
1836 by Martin Pitt
Add --tag option to add extra tags to reports. (LP: #572504)
837
 - Add --tag option to add extra tags to reports. (LP: #572504)
1825 by Martin Pitt
Python 3 compatible exception handling
838
1822 by Martin Pitt
hookutils.py, attach_dmesg(): Do not overwrite already existing dmesg.
839
Bug fixes:
840
 - hookutils.py, attach_dmesg(): Do not overwrite already existing dmesg.
1823 by Martin Pitt
hookutils.py: Be more robust against file permission errors. (LP: #444678)
841
 - hookutils.py: Be more robust against file permission errors. (LP: #444678)
1831 by Martin Pitt
ui.py: Do not show all the options in --help when invoked as *-bug. (LP: #665953)
842
 - ui.py: Do not show all the options in --help when invoked as *-bug.
843
   (LP: #665953)
1832 by Martin Pitt
launchpad.py: Adapt test cases to current standard_title() behaviour.
844
 - launchpad.py: Adapt test cases to current standard_title() behaviour.
1822 by Martin Pitt
hookutils.py, attach_dmesg(): Do not overwrite already existing dmesg.
845
1821 by Martin Pitt
release 1.17.1
846
1.17.1 (2011-01-10)
1819 by Martin Pitt
Make the GTK frontend work with GTK 2.0 as well, and drop "3.0" requirement.
847
-------------------
848
Bug fixes:
849
 - Make the GTK frontend work with GTK 2.0 as well, and drop "3.0" requirement.
850
1817 by Martin Pitt
release 1.17
851
1.17 (2010-12-31)
1809 by Martin Pitt
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)
852
-----------------
1806 by Martin Pitt
Better standard bug titles for Python crashes. Thanks Matt Zimmerman! (LP: #681574)
853
Improvements:
854
 - Better standard bug titles for Python crashes. Thanks Matt Zimmerman!
855
   (LP: #681574)
1809 by Martin Pitt
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)
856
 - Add handler for uncaught Java exceptions. There is no integration for
857
   automatically intercepting all Java crashes yet, see java/README.
858
   Thanks Matt Zimmerman! (LP: #548877)
1806 by Martin Pitt
Better standard bug titles for Python crashes. Thanks Matt Zimmerman! (LP: #681574)
859
1805 by Martin Pitt
GTK frontend: Require GTK 3.0.
860
Bug fixes:
861
 - GTK frontend: Require GTK 3.0.
1807 by Martin Pitt
launchpad.py: Default to "production" instance, not "edge", since edge is obsolete now.
862
 - launchpad.py: Default to "production" instance, not "edge", since edge is
863
   obsolete now.
1808 by Martin Pitt
hookutils.py, attach_alsa(): Fix crash if /proc/asound/cards does not exist. (LP: #626215)
864
 - hookutils.py, attach_alsa(): Fix crash if /proc/asound/cards does not exist.
865
   (LP: #626215)
1812 by Martin Pitt
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.
866
 - ui.py, format_filesize(): Fix to work with stricter locale.format() in
867
   Python 2.7. (LP: #688535). While we are at it, also change it to use base-10
868
   units.
1815 by Martin Pitt
add NEWS entry for Matt's commit
869
 - hookutils.py, package_versions(): Always include all requested package names
870
   even if they're unknown to us. Thanks Matt Zimmerman! (LP: #695188)
1816 by Martin Pitt
launchpad.py: When updating a bug, also add new tags. Thanks Brian Murray!
871
 - launchpad.py: When updating a bug, also add new tags. Thanks Brian Murray!
1805 by Martin Pitt
GTK frontend: Require GTK 3.0.
872
1804 by Martin Pitt
release 1.16
873
1.16 (2010-11-19)
1801 by Martin Pitt
Port GTK frontend from pygtk2 to GTK+3.0 and gobject-introspection.
874
-----------------
875
New features:
876
 - Port GTK frontend from pygtk2 to GTK+3.0 and gobject-introspection.
877
1802 by Martin Pitt
Fix symptoms again. Version 1.15 broke the default symptom directory.
878
Bug fixes:
879
 - Fix symptoms again. Version 1.15 broke the default symptom directory.
1803 by Martin Pitt
Fix memory test case to work with current Python versions, where the SQLite integrity check throws a different exception.
880
 - Fix memory test case to work with current Python versions, where the SQLite
881
   integrity check throws a different exception.
1802 by Martin Pitt
Fix symptoms again. Version 1.15 broke the default symptom directory.
882
1800 by Martin Pitt
release 1.15
883
1.15 (2010-11-11)
1785 by Martin Pitt
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!
884
-----------------
885
New features:
886
 - Add dump_acpi_tables.py script. This can be called by package hooks which
887
   need ACPI table information (in particular, kernel bug reports). Thanks to
888
   Brad Figg for the script!
1795 by Martin Pitt
Order symptom descriptions alphabetically. Thanks to Javier Collado.
889
 - Order symptom descriptions alphabetically. Thanks to Javier Collado.
1796 by Martin Pitt
Check $APPORT_SYMPTOMS_DIR environment variable for overriding the system default path. Thanks to Javier Collado.
890
 - Check $APPORT_SYMPTOMS_DIR environment variable for overriding the system
891
   default path. Thanks to Javier Collado.
1785 by Martin Pitt
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!
892
893
Bug fixes:
1783 by Martin Pitt
testsuite: Check that crashdb.conf can have dynamic code to determine DB names and options.
894
 - testsuite: Check that crashdb.conf can have dynamic code to determine DB
895
   names and options.
1784 by Martin Pitt
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.
896
 - ui.py test suite: Rewrite _gen_test_crash() to have the test process core
897
   dump itself, instead of using gdb to do it. The latter fails in ptrace
898
   restricted environments, such as Ubuntu 10.10.
1786 by Martin Pitt
packaging-apt-dpkg.py: Fix handling of /etc/apport/native-origins.d to actually work. Thanks Steve Langasek. (LP: #627777)
899
 - packaging-apt-dpkg.py: Fix handling of /etc/apport/native-origins.d to
900
   actually work. Thanks Steve Langasek. (LP: #627777)
1787 by Martin Pitt
apport-kde: Load correct translation catalogue. Thanks Jonathan Riddell. (LP: #633483)
901
 - apport-kde: Load correct translation catalogue. Thanks Jonathan Riddell.
902
   (LP: #633483)
1788 by Martin Pitt
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!
903
 - launchpad.py: Use launchpadlib to file a bug instead of screen scraping.
904
   The latter was completely broken with current Launchpad, so this makes the
905
   test suite actually work again. Thanks to Diogo Matsubara!
906
 - launchpad.py: Change $APPORT_STAGING to $APPORT_LAUNCHPAD_INSTANCE, so that
907
   you can now specify "staging", "edge", or "dev" (for a local
908
   http://launchpad.dev installation). Thanks to Diogo Matsubara!
1789 by Martin Pitt
backends/packaging-apt-dpkg.py: Fix crash on empty lines in ProcMaps attachment.
909
 - backends/packaging-apt-dpkg.py: Fix crash on empty lines in ProcMaps
910
   attachment.
1790 by Martin Pitt
doc/symptoms.txt: Fix typo, thanks Philip Muskovac. (LP: #590521)
911
 - doc/symptoms.txt: Fix typo, thanks Philip Muskovac. (LP: #590521)
1791 by Kees Cook
apport/hookutils.py: rename ProcCmdLine to ProcKernelCmdLine to not wipe wipe out /proc/$pid/cmdline information. (LP: #657091)
912
 - apport/hookutils.py: rename ProcCmdLine to ProcKernelCmdLine to not wipe
913
   wipe out /proc/$pid/cmdline information. (LP: #657091)
1793 by Kees Cook
add note to NEWS about attach_file() key anti-collision routine
914
 - apport/hookutils.py: attach_file() will not overwrite existing report
915
   keys, instead appending "_" until the key is unique.
1794 by Martin Pitt
Fix --save option to recognise ~, thanks Philip Muškovac. (LP: #657278)
916
 - Fix --save option to recognise ~, thanks Philip Muškovac. (LP: #657278)
1797 by Martin Pitt
Remove escalation_subscription from Ubuntu bug DB definition, turned out to not be useful; thanks Brian Murray.
917
 - Remove escalation_subscription from Ubuntu bug DB definition, turned out to
918
   not be useful; thanks Brian Murray.
1798 by Martin Pitt
launchpad.py: Fix APPORT_LAUNCHPAD_INSTANCE values with a https:// prefix.
919
 - launchpad.py: Fix APPORT_LAUNCHPAD_INSTANCE values with a https:// prefix.
1799 by Martin Pitt
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!
920
 - apt backend: Opportunistically try to install a -dbg package in addition to
921
   -dbgsym, to increase the chance that at least one of it exists. Thanks
922
   Daniel J Blueman!
1783 by Martin Pitt
testsuite: Check that crashdb.conf can have dynamic code to determine DB names and options.
923
1782 by Martin Pitt
release 1.14.1
924
1.14.1 (2010-06-24)
1780 by Martin Pitt
hookutils.py, attach_drm_info(): Sanitize connector names. Thanks Chris Halse Rogers! (LP: #597558)
925
-------------------
926
Bug fixes:
927
 - hookutils.py, attach_drm_info(): Sanitize connector names. Thanks Chris
928
   Halse Rogers! (LP: #597558)
1781 by Martin Pitt
bash completion: Complete all path names, apport-bug can be invoked with a path to a program. Thanks Philip Muskovac.
929
 - bash completion: Complete all path names, apport-bug can be invoked with a
930
   path to a program. Thanks Philip Muskovac.
1780 by Martin Pitt
hookutils.py, attach_drm_info(): Sanitize connector names. Thanks Chris Halse Rogers! (LP: #597558)
931
1779 by Martin Pitt
release 1.14
932
1.14 (2010-06-16)
1778 by Martin Pitt
format NEWS, bump to 1.14 due to new feature
933
-----------------
934
New features:
935
 - hookutils.py: Add new method attach_drm_info() to read and format
936
   /sys/class/drm/*.
937
938
Bug fixes:
1774 by Martin Pitt
packaging-apt-dpkg.py: Fix deprecated python-apt variables, thanks David Stansby. (LP: #591695)
939
 - packaging-apt-dpkg.py: Fix deprecated python-apt variables, thanks David
940
   Stansby. (LP: #591695)
1775 by Martin Pitt
launchpad.py: Fix crash on attachments which are named *.gz, but uncompressed. (LP: #574360)
941
 - launchpad.py: Fix crash on attachments which are named *.gz, but
942
   uncompressed. (LP: #574360)
1776 by Martin Pitt
hookutils.py, attach_gconf(): Fix defaults parsing for boolean keys. (LP: #583109)
943
 - hookutils.py, attach_gconf(): Fix defaults parsing for boolean keys.
944
   (LP: #583109)
1774 by Martin Pitt
packaging-apt-dpkg.py: Fix deprecated python-apt variables, thanks David Stansby. (LP: #591695)
945
1771 by Martin Pitt
release 1.13.4
946
1.13.4 (2010-05-04)
1762 by Martin Pitt
bash completion: Fix error message if /usr/share/apport/symptoms does not exist. Thanks Philip Muškovac! (LP: #562118)
947
-------------------
948
 - bash completion: Fix error message if /usr/share/apport/symptoms does not
949
   exist. Thanks Philip Muškovac! (LP: #562118)
1765 by Martin Pitt
NEWS: beautify formatting
950
 - general-hooks/parse_segv.py: Report stack exhaustion more clearly and
951
   correctly handle register dereferencing calls.
1764 by Martin Pitt
Save/restore environment when calling hooks, in case they change the locale, etc. (LP: #564422)
952
 - Save/restore environment when calling hooks, in case they change the locale,
953
   etc. (LP: #564422)
1766 by Martin Pitt
hookutils.py, command_output(): Do not set $LC_MESSAGES for the calling process/hook, just for the command to be called.
954
 - hookutils.py, command_output(): Do not set $LC_MESSAGES for the calling
955
   process/hook, just for the command to be called.
1767 by Martin Pitt
ui.py: When displaying strings from system exceptions, decode them into an unicode string, to avoid crashing the KDE UI. (LP: #567253)
956
 - ui.py: When displaying strings from system exceptions, decode them into an
957
   unicode string, to avoid crashing the KDE UI. (LP: #567253)
1768 by Martin Pitt
apport-retrace: Fix crash for retracing kernel vmcores, which do not have an ExecutablePath.
958
 - apport-retrace: Fix crash for retracing kernel vmcores, which do not have an
959
   ExecutablePath.
1769 by Martin Pitt
apport-bug manpage: Clarify when apport-collect may be used. Thanks Brian Murray! (LP: #537273)
960
 - apport-bug manpage: Clarify when apport-collect may be used. Thanks Brian
961
   Murray! (LP: #537273)
1770 by Martin Pitt
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)
962
 - generic hook: Check ProcMaps for unpackaged libraries, and ask the user if
963
   he really wants to continue. If he does, tag the report as "local-libs" and
964
   add a "LocalLibraries" field to the report with a list of them.
965
   (LP: #545227)
1762 by Martin Pitt
bash completion: Fix error message if /usr/share/apport/symptoms does not exist. Thanks Philip Muškovac! (LP: #562118)
966
1761 by Martin Pitt
release 1.13.3
967
1.13.3 (2010-04-14)
1759 by Kees Cook
data/general-hooks/parse_segv.py: suggest segv-in-kernel possibility.
968
-------------------
969
 - data/general-hooks/parse_segv.py: suggest segv-in-kernel possibility.
1760 by Martin Pitt
ui.py: When running as root, only show system crash reports, to avoid restarting user programs as root. (LP: #445017)
970
 - ui.py: When running as root, only show system crash reports, to avoid
971
   restarting user programs as root. (LP: #445017)
1759 by Kees Cook
data/general-hooks/parse_segv.py: suggest segv-in-kernel possibility.
972
1758 by Martin Pitt
release 1.13.2
973
1.13.2 (2010-03-31)
1738 by Martin Pitt
- problem_report.py, write_mime(): Add new optional argument "priority_fields"
974
-------------------
975
 - problem_report.py, write_mime(): Add new optional argument "priority_fields"
976
   for ordering report keys. Patch by Brian Murray, thanks!
977
 - launchpad.py: Put some interesting fields first in the report, with the new
978
   priority_fields argument. Patch by Brian Murray, thanks!
1742 by Martin Pitt
packaging-apt-dpkg.py, _install_debug_kernel(): Do not crash on an outdated kernel, just return that it is outdated.
979
 - packaging-apt-dpkg.py, _install_debug_kernel(): Do not crash on an outdated
1750 by Martin Pitt
add missing launchpad ref
980
   kernel, just return that it is outdated. (LP: #532923)
1743 by Martin Pitt
launchpad.py test suite: Add "Referer" HTTP header, now required by launchpad.
981
 - launchpad.py test suite: Add "Referer" HTTP header, now required by
982
   launchpad.
1744 by Martin Pitt
launchpad.py: Fix crash if configuration does not have an "escalated_tag" option.
983
 - launchpad.py: Fix crash if configuration does not have an "escalated_tag"
984
   option.
1746 by Martin Pitt
launchpad.py: Port to launchpadlib 1.0 API, thanks Michael Bienia for the initial patch! (LP: #545009)
985
 - launchpad.py: Port to launchpadlib 1.0 API, thanks Michael Bienia for the
986
   initial patch! (LP: #545009)
1747 by Martin Pitt
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)
987
 - gtk/apport-gtk-mime.desktop.in, kde/apport-kde-mime.desktop.in: Change
988
   categories so that these do not ever appear in menu editors. (LP: #449215)
1748 by Martin Pitt
launchpad.py: Some LP bugs have broken attachments (this is a bug in Launchpad itself). Ignore those instead of crashing.
989
 - launchpad.py: Some LP bugs have broken attachments (this is a bug in
990
   Launchpad itself). Ignore those instead of crashing.
1749 by Martin Pitt
apport-gtk: Turn http:// and https:// links into clickable hyperlinks in information and error dialogs. (LP: #516323)
991
 - apport-gtk: Turn http:// and https:// links into clickable hyperlinks in
992
   information and error dialogs. (LP: #516323)
1751 by Martin Pitt
apport-retrace: Fix crash when trying to rebuild package info for reports without an ExecutablePath. (LP: #436157)
993
 - apport-retrace: Fix crash when trying to rebuild package info for reports
994
   without an ExecutablePath. (LP: #436157)
1752 by Martin Pitt
ui.py: Fix crash when package information cannot be determined due to broken apt status. (LP: #362743)
995
 - ui.py: Fix crash when package information cannot be determined due to broken
996
   apt status. (LP: #362743)
1753 by Martin Pitt
ui.py: Fix crash when /etc/apport/crashdb.conf is damaged; print an appropriate error message instead. (LP: #528327)
997
 - ui.py: Fix crash when /etc/apport/crashdb.conf is damaged; print an
998
   appropriate error message instead. (LP: #528327)
1754 by Martin Pitt
data/kernel_crashdump: Fix crash if log file disappeared underneath us. (LP: #510327)
999
 - data/kernel_crashdump: Fix crash if log file disappeared underneath us.
1000
   (LP: #510327)
1755 by Martin Pitt
data/apport: Fix IOError when apport is called with invalid number of arguments, and stderr is not a valid fd. (LP: #467363)
1001
 - data/apport: Fix IOError when apport is called with invalid number of
1002
   arguments, and stderr is not a valid fd. (LP: #467363)
1756 by Martin Pitt
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)
1003
 - hookutils.py: Factor out the DMI collection code from attach_hardware()
1004
   into attach_dmi(), and call that in attach_alsa() as well. Thanks to Brad
1005
   Figg for the patch! (LP: #552091)
1757 by Martin Pitt
apport/ui.py: Fix the help output if Apport is invoked under an alternative name (like apport-collect). (LP: #539427)
1006
 - apport/ui.py: Fix the help output if Apport is invoked under an alternative
1007
   name (like apport-collect). (LP: #539427)
1738 by Martin Pitt
- problem_report.py, write_mime(): Add new optional argument "priority_fields"
1008
1737 by Martin Pitt
release 1.13.1
1009
1.13.1 (2010-03-20)
1723 by Martin Pitt
Fix test suite to work with gdb 7.1 as well.
1010
-------------------
1011
Bug fixes:
1724 by Kees Cook
Update parse-segv to handle gdb 7.1 output, add further tests
1012
 - Update parse-segv to handle gdb 7.1 output.
1013
 - Enhance test suite to work with gdb 7.1 as well, and catch future outputs.
1729 by Martin Pitt
UI: Add exception string to the "network error" dialog, to better tell what the problem is.
1014
 - UI: Add exception string to the "network error" dialog, to better tell what
1015
   the problem is.
1730 by Martin Pitt
UI: Add back -p option to apport-collect/apport-update-bug (regression from 1.13). (LP: #538944)
1016
 - UI: Add back -p option to apport-collect/apport-update-bug (regression from
1017
   1.13). (LP: #538944)
1731 by Martin Pitt
launchpad.py: Add yet another workaround for LP#336866. (LP: #516381)
1018
 - launchpad.py: Add yet another workaround for LP#336866. (LP: #516381)
1732 by Martin Pitt
launchpad.py, download(): Ignore attachments with invalid key names.
1019
 - launchpad.py, download(): Ignore attachments with invalid key names.
1733 by Martin Pitt
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)
1020
 - Fix regression from 1.10 which made it impossible for a package hook to set
1021
   a third-party crash database for non-native packages. (LP: #517272)
1734 by Martin Pitt
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)
1022
 - apport-cli: Create the 'details' string only if user wants to view details,
1023
   and do not show files larger than 1MB. Thanks Scott Moser! (LP: #486122)
1735 by Martin Pitt
packaging-apt-dpkg.py: Silence apt.Cache() spewage to stdout with newer python-apt versions. (LP: #531518)
1024
 - packaging-apt-dpkg.py: Silence apt.Cache() spewage to stdout with newer
1025
   python-apt versions. (LP: #531518)
1723 by Martin Pitt
Fix test suite to work with gdb 7.1 as well.
1026
1725 by Martin Pitt
unkillable_shutdown: Add list of running processes and blacklisted pids to report. (LP: #537262)
1027
Improvements:
1028
 - unkillable_shutdown: Add list of running processes and blacklisted pids to
1029
   report. (LP: #537262)
1736 by Martin Pitt
Sort the report by key in the details view. (LP: #519416)
1030
 - Sort the report by key in the details view. (LP: #519416)
1725 by Martin Pitt
unkillable_shutdown: Add list of running processes and blacklisted pids to report. (LP: #537262)
1031
1722 by Martin Pitt
release 1.13
1032
1.13 (2010-03-10)
1721 by Martin Pitt
bump version for new feature
1033
-----------------
1720 by Martin Pitt
add unkillable_shutdown script
1034
New features:
1035
 - Add "unkillable_shutdown" script to collect information about processes
1036
   which are still running after sending SIGTERM to them. This can be hooked
1037
   into e. g. /etc/init.d/sendsigs on Debian/Ubuntu systems.
1038
1714 by Martin Pitt
apport_python_hook.py: Directly check /etc/default/apport instead of
1039
Improvements:
1040
 - apport_python_hook.py: Directly check /etc/default/apport instead of
1041
   querying packaging.enabled(), to avoid importing lots of modules for
1042
   non-packaged scripts. Thanks Stuart Colville! (LP: #528355)
1043
1716 by Martin Pitt
Fix --help output for bug updating mode (invocation as apport-collect or apport-update-bug)
1044
Bug fixes:
1718 by Kees Cook
update NEWS to include recent fixes
1045
 - Fix SegV parser to notice walking off the stack during "call" or "ret"
1046
   (LP: #531672).
1716 by Martin Pitt
Fix --help output for bug updating mode (invocation as apport-collect or apport-update-bug)
1047
 - Fix --help output for bug updating mode (invocation as apport-collect or
1048
   apport-update-bug). (LP: #504116)
1718 by Kees Cook
update NEWS to include recent fixes
1049
 - Fix bug escalation tagging, thanks to Brian Murray.
1719 by Martin Pitt
Fix option processing when being invoked as apport-bug. Thanks to Daniel Hahler for the patch! (LP: #532944)
1050
 - Fix option processing when being invoked as apport-bug. Thanks to Daniel
1051
   Hahler for the patch! (LP: #532944)
1716 by Martin Pitt
Fix --help output for bug updating mode (invocation as apport-collect or apport-update-bug)
1052
1713 by Martin Pitt
release 1.12.1
1053
1.12.1 (2010-02-22)
1705 by Martin Pitt
launchpad.py: Do not keep escalating bugs, just escalate at the 10th duplicate.
1054
-------------------
1055
Bug fixes:
1056
 - launchpad.py: Do not keep escalating bugs, just escalate at the 10th
1057
   duplicate.
1706 by Martin Pitt
Improve error message if a symptom script did not determine a package name. (LP: #503834)
1058
 - Improve error message if a symptom script did not determine a package name.
1059
   (LP: #503834)
1708 by Martin Pitt
general-hooks/generic.py: Fix crash on libGL check with empty StacktraceTop.
1060
 - general-hooks/generic.py: Fix crash on libGL check with empty StacktraceTop.
1709 by Martin Pitt
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)
1061
 - Review and clean up usage of chmod(). This fixes a small race condition in the
1062
   Python exception hook where a local attacker could read the information from
1063
   another user's crash report. (LP: #516029)
1711 by Martin Pitt
hookutils, package_versions(): Ignore "None" packages, for more robust package hooks. (LP: #518295)
1064
 - hookutils, package_versions(): Ignore "None" packages, for more robust
1065
   package hooks. (LP: #518295)
1705 by Martin Pitt
launchpad.py: Do not keep escalating bugs, just escalate at the 10th duplicate.
1066
1704 by Martin Pitt
release 1.12
1067
1.12 (2010-01-20)
1698 by Martin Pitt
Add bash completion script. Thanks to Philip Muškovac. (LP: #218933)
1068
-----------------
1692 by Martin Pitt
launchpad.py: Add options 'escalation_subscription' and 'escalation_tag' for
1069
Improvements:
1070
 - launchpad.py: Add options 'escalation_subscription' and 'escalation_tag' for
1071
   handling bugs with more than 10 duplicates.
1693 by Martin Pitt
crashdb.conf: For Ubuntu, escalate bugs with >= 10 duplicates to
1072
 - crashdb.conf: For Ubuntu, escalate bugs with >= 10 duplicates to
1073
   "ubuntu-bugcontrol" and tag them with "bugpattern-needed". (LP: #487900)
1697 by Martin Pitt
general-hooks/generic.py: Filter out crashes on missing GLX (LP: #327673)
1074
 - general-hooks/generic.py: Filter out crashes on missing GLX (LP: #327673)
1698 by Martin Pitt
Add bash completion script. Thanks to Philip Muškovac. (LP: #218933)
1075
 - Add bash completion script. Thanks to Philip Muškovac. (LP: #218933)
1693 by Martin Pitt
crashdb.conf: For Ubuntu, escalate bugs with >= 10 duplicates to
1076
1689 by Martin Pitt
launchpad.py: Drop APPORT_FILES whitelist for download() and instead just
1077
Bug fixes:
1078
 - launchpad.py: Drop APPORT_FILES whitelist for download() and instead just
1691 by Martin Pitt
launchpad.py, download(): switch to whitelist again to avoid unknown files
1079
   filter out file extensions that we know about (*.txt and *.gz).
1080
   (LP: #444975)
1696 by Martin Pitt
launchpad.py: Do not put the Tags: field into the bug description, since they
1081
 - launchpad.py: Do not put the Tags: field into the bug description, since
1082
   they are already proper tags. In download(), convert the real tags back to
1083
   the Tags: field. (LP: #505671)
1699 by Martin Pitt
test/crash: Update expected core dump flags for changed rlimit behaviour in Linux 2.6.32
1084
 - test/crash: Update expected core dump flags for changed rlimit behaviour in
1085
   Linux 2.6.32.
1701 by Martin Pitt
launchpad.py: Fix marking of 'checked for duplicate' for bugs with upstream tasks.
1086
 - launchpad.py: Fix marking of 'checked for duplicate' for bugs with upstream
1087
   tasks.
1702 by Martin Pitt
launchpad.py, get_fixed_version(): Do not consider a bug as invalid just because it has any invalid distro package task.
1088
 - launchpad.py, get_fixed_version(): Do not consider a bug as invalid just
1089
   because it has any invalid distro package task.
1689 by Martin Pitt
launchpad.py: Drop APPORT_FILES whitelist for download() and instead just
1090
1687 by Martin Pitt
release 1.11
1091
1.11 (2009-12-23)
1686 by Martin Pitt
reorder NEWS for 1.11 release
1092
-----------------
1682 by Martin Pitt
test/hooks: Do not try to add hook information to kernel_crashdump test
1093
Improvements:
1686 by Martin Pitt
reorder NEWS for 1.11 release
1094
 - Add "--save" UI option to store the collected information into an .apport
1095
   file instead of sending it right away. The file can then later be sent
1096
   through apport-bug. Update manpages accordingly.
1679 by Martin Pitt
Update all copyright and description headers and consistently format them.
1097
 - Update all copyright and description headers and consistently format them.
1680 by Martin Pitt
Rename all TestCase classes to "_T", which makes it much easier to run individual tests from the command line.
1098
 - Rename all TestCase classes to "_T", which makes it much easier to run
1099
   individual tests from the command line.
1683 by Martin Pitt
Testsuite: Verify that report details are/are not shown. This uncovered that
1100
 - Testsuite: Verify that report details are/are not shown. This uncovered that
1101
   details about package installation failures were not shown before sending
1102
   them, which is fixed now.
1679 by Martin Pitt
Update all copyright and description headers and consistently format them.
1103
1682 by Martin Pitt
test/hooks: Do not try to add hook information to kernel_crashdump test
1104
Bug fixes:
1105
 - test/hooks: Do not try to add hook information to kernel_crashdump test
1106
   case, since we do not have an UI here. This test case broke when the system
1107
   had an interactive package hook for the kernel.
1685 by Martin Pitt
When reporting a bug from a saved .apport file, let the user review/confirm
1108
 - When reporting a bug from a saved .apport file, let the user review/confirm
1109
   the content before sending.
1682 by Martin Pitt
test/hooks: Do not try to add hook information to kernel_crashdump test
1110
1678 by Martin Pitt
release 1.10.1
1111
1.10.1 (2009-12-23)
1673 by Martin Pitt
Move all remaining option/argument parsing from apport-bug into ui.py. This
1112
-------------------
1674 by Martin Pitt
Install apport-collect symlink
1113
Improvements:
1114
 - Install apport-collect symlink.
1675 by Martin Pitt
Update translations from Launchpad
1115
 - Update translations from Launchpad.
1674 by Martin Pitt
Install apport-collect symlink
1116
1673 by Martin Pitt
Move all remaining option/argument parsing from apport-bug into ui.py. This
1117
Bug fixes:
1118
 - Move all remaining option/argument parsing from apport-bug into ui.py. This
1119
   allows the user to add options to apport-bug/apport-collect, and also avoids
1120
   unwieldy dissection of options/arguments in shell.
1121
1672 by Martin Pitt
release 1.10
1122
1.10 (2009-12-19)
1663 by Martin Pitt
Add a mode for updating an existing problem report to ui.py (-u/--update).
1123
-----------------
1124
New features:
1125
 - Add a mode for updating an existing problem report to ui.py (-u/--update).
1126
   This is similar to the Ubuntu specific "apport-collect" tool, but
1127
   implemented the right way now: In particular, this has access to the UI and
1128
   thus can use interactive hooks (LP: #385811) and show you what is being sent
1129
   for confirmation/cancelling (LP: #371827)
1664 by Martin Pitt
apport-bug: If invoked as "apport-collect" or "apport-update-bug" (i. e.
1130
 - apport-bug: If invoked as "apport-collect" or "apport-update-bug" (i. e.
1131
   through a symlink), run apport in update mode (-u <number>). This provides a
1132
   convenient no-options command line program. Please note that setup.py does
1133
   not currently install such a symlink. Update the apport-bug manpage
1134
   accordingly.
1663 by Martin Pitt
Add a mode for updating an existing problem report to ui.py (-u/--update).
1135
1652 by Martin Pitt
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)
1136
Improvements:
1137
 - launchpad.py: Use new login_with() to clean up code, and specify allowed
1138
   access levels (WRITE_PRIVATE is the only sensible one anyway). (LP: #410205)
1653 by Matt Zimmerman
- New hookutils functions:
1139
 - New hookutils functions:
1140
   xsession_errors (match lines from ~/.xsession-errors)
1141
   shared_libraries (determine which libraries a binary links with)
1142
   links_with_shared_library (test if a binary links with a particular library)
1656 by Martin Pitt
New CrashDatabase API: is_reporter()
1143
 - New CrashDatabase API: get_affected_packages(), can_update(), is_reporter()
1657 by Martin Pitt
Rename CrashDatabase.update() to update_traces()
1144
 - Rename CrashDatabase.update() to update_traces().
1658 by Martin Pitt
Add CrashDatabase.update() for adding all new fields of a report
1145
 - Add CrashDatabase.update() for adding all new fields of a report. This is
1146
   primarily useful for collecting local standard and package hook data for an
1667 by Martin Pitt
launchpad.py, can_update(): Check if subscribed
1147
   already existing bug report which was not filed through Apport. This checks
1148
   can_update()/is_reporter() if the user is eligible for updating that
1149
   particular bug. (LP: #485880)
1652 by Martin Pitt
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)
1150
1659 by Martin Pitt
Ignore SIGXCPU and SIGXFSZ; thanks to Kees Cook. (LP: #498074)
1151
Bug fixes:
1152
 - Ignore SIGXCPU and SIGXFSZ; thanks to Kees Cook. (LP: #498074)
1668 by Martin Pitt
launchpad.py: Do not mark non-Ubuntu bugs as needs-retrace, since there is no retracer right now. (LP: #489794)
1153
 - launchpad.py: Do not mark non-Ubuntu bugs as needs-retrace, since there is
1154
   no retracer right now. (LP: #489794)
1670 by Martin Pitt
packaging-apt-dpkg.py, install_retracing_packages(): Do not crash on malformed Dependencies.txt lines. (LP: #441709)
1155
 - packaging-apt-dpkg.py, install_retracing_packages(): Do not crash on
1156
   malformed Dependencies.txt lines. (LP: #441709)
1671 by Martin Pitt
use-local: Fix for new source tree location of "apport" binary.
1157
 - use-local: Fix for new source tree location of "apport" binary.
1659 by Martin Pitt
Ignore SIGXCPU and SIGXFSZ; thanks to Kees Cook. (LP: #498074)
1158
1651 by Martin Pitt
release 1.9.6
1159
1.9.6 (2009-12-01)
1647 by Martin Pitt
Add pm-utils hook to record current operation, so that apportcheckresume can check it.
1160
------------------
1161
Improvements:
1162
 - Add pm-utils hook to record current operation, so that apportcheckresume can
1163
   check it. Before this was kept in Ubuntu's pm-utils package.
1649 by Martin Pitt
general-hooks/generic.py: Check if using ecryptfs, and which directory. (LP: #444656)
1164
 - general-hooks/generic.py: Check if using ecryptfs, and which directory.
1165
   (LP: #444656)
1647 by Martin Pitt
Add pm-utils hook to record current operation, so that apportcheckresume can check it.
1166
1648 by Martin Pitt
launchpad.py: Ensure that text attachments on initial bug filing are valid UTF-8. (LP: #453203)
1167
Bug fixes:
1168
 - launchpad.py: Ensure that text attachments on initial bug filing are valid
1169
   UTF-8. (LP: #453203)
1650 by Martin Pitt
man/apport-retrace.1: Document -R option.
1170
 - man/apport-retrace.1: Document -R option.
1648 by Martin Pitt
launchpad.py: Ensure that text attachments on initial bug filing are valid UTF-8. (LP: #453203)
1171
1646 by Martin Pitt
release 1.9.5
1172
1.9.5 (2009-11-20)
1640 by Martin Pitt
apport-retrace: Fix crash if InterpreterPath/ExecutablePath do not exist.
1173
------------------
1174
Bug fixes:
1175
 - apport-retrace: Fix crash if InterpreterPath/ExecutablePath do not exist.
1641 by Martin Pitt
hookutils.py, attach_alsa(): Attach /proc/cpuinfo too, for CPU flags.
1176
 - hookutils.py, attach_alsa(): Attach /proc/cpuinfo too, for CPU flags.
1642 by Martin Pitt
Fix crash if InterpreterPath does not exist any more at the time of reporting. (LP: #428289)
1177
 - Fix crash if InterpreterPath does not exist any more at the time of
1178
   reporting. (LP: #428289)
1643 by Martin Pitt
apport-gtk: Connect signals properly, to repair cancel/window close buttons. (LP: #427814)
1179
 - apport-gtk: Connect signals properly, to repair cancel/window close buttons.
1180
   (LP: #427814)
1644 by Martin Pitt
Update German translations and fix "konnre" typo. (LP: #484119)
1181
 - Update German translations and fix "konnre" typo. (LP: #484119)
1640 by Martin Pitt
apport-retrace: Fix crash if InterpreterPath/ExecutablePath do not exist.
1182
1639 by Martin Pitt
release 1.9.4
1183
1.9.4 (2009-11-06)
1629 by Martin Pitt
Fix crash when ExecutablePath isn't part of a package. (LP: #424965)
1184
------------------
1185
Bug fixes:
1186
 - Fix crash when ExecutablePath isn't part of a package. (LP: #424965)
1630 by Martin Pitt
hookutils.py, attach_hardware(): Anonymize disk labels. (LP: #394411)
1187
 - hookutils.py, attach_hardware(): Anonymize disk labels. Thanks to Marco
1188
   Rodrigues. (LP: #394411)
1631 by Martin Pitt
hookutils.py, attach_wifi(): Anonymize encryption key. (LP: #446299)
1189
 - hookutils.py, attach_wifi(): Anonymize encryption key (which appeared in hex
1190
   when being called as root). Thanks to Marco Rodrigues. (LP: #446299)
1632 by Martin Pitt
launchpad.py: If unset, set bug task source package also for interpreter crashes.
1191
 - launchpad.py: If unset, set bug task source package also for interpreter
1192
   crashes.
1633 by Martin Pitt
apport-gtk: Give details window a minimize/maximize button, which were missing in some window managers. (LP: #447749)
1193
 - apport-gtk: Give details window a minimize/maximize button, which were
1194
   missing in some window managers. Thanks to Marien Zwart. (LP: #447749)
1634 by Martin Pitt
apport-kde: Properly terminate program after closing the last dialog. (LP: #458662)
1195
 - apport-kde: Properly terminate program after closing the last dialog.
1196
   (LP: #458662)
1635 by Martin Pitt
hookutils.py, attach_alsa(): Attach /proc/asound/version. (LP: #467233)
1197
 - hookutils.py, attach_alsa(): Attach /proc/asound/version. (LP: #467233)
1636 by Martin Pitt
general-hooks/generic.py: Only collect ~/.xsession-errors bits when we have an ExecutablePath linked to libgtk
1198
 - general-hooks/generic.py: Only collect ~/.xsession-errors bits when we have
1199
   an ExecutablePath linked to libgtk.
1629 by Martin Pitt
Fix crash when ExecutablePath isn't part of a package. (LP: #424965)
1200
1626 by Martin Pitt
release 1.9.3
1201
1.9.3 (2009-10-14)
1622 by Martin Pitt
drop APPORT_REPORT_THIRDPARTY/thirdparty hack
1202
------------------
1203
Changes:
1204
 - Drop handling of the APPORT_REPORT_THIRDPARTY environment variable and
1205
   "thirdparty" configuration file option. This has never been documented, and
1206
   conceptually does not work. There is a proper mechanism for this in place
1207
   now, e. g. launchpad.py's "project" option.
1625 by Martin Pitt
update NEWS
1208
1209
Bug fixes:
1210
 - hookutils.py: Fix error codes from "comm", thanks to Brian Murray.
1211
 - general-hooks/generic.py: Catch xkbcomp error messages. (LP: #431807)
1212
 - launchpad.py: Assert that we have exactly one of "distro" or "project"
1213
   option.
1214
 - doc/crashdb-conf.txt: Improve documentation of crash database options.
1215
 - apport-gtk: Make Cancel/Send buttons focusable. Thanks to Marco Rodrigues.
1216
   (LP: #447780)
1622 by Martin Pitt
drop APPORT_REPORT_THIRDPARTY/thirdparty hack
1217
1617 by Martin Pitt
release 1.9.2
1218
1.9.2 (2009-10-02)
1610 by Martin Pitt
apport-cli: Print the URL and ask whether to open a browser. (LP: #286415)
1219
------------------
1220
Improvements:
1221
 - apport-cli: Print the URL and ask whether to open a browser. In many
1222
   situations (such as usage on a server through ssh), it's preferable to not
1223
   open the browser on the reporting computer. Thanks to Matt Zimmerman for the
1224
   initial patch! (LP: #286415)
1612 by Martin Pitt
general-hooks/generic.py: Collect important glib errors/assertions from ~/.xsession-errors. (LP: #431807)
1225
 - general-hooks/generic.py: Collect important glib errors/assertions (which
1226
   should not have private data) from ~/.xsession-errors (LP: #431807)
1613 by Martin Pitt
launchpad.py: Link hardware data submission key if it exists. (LP: #424382)
1227
 - launchpad.py: Link hardware data submission key if it exists. (LP: #424382)
1610 by Martin Pitt
apport-cli: Print the URL and ask whether to open a browser. (LP: #286415)
1228
1614 by Martin Pitt
apport-cli: Fix crash with non-ASCII characters in prompts.
1229
Bug fixes:
1230
 - apport-cli: Fix crash with non-ASCII characters in prompts.
1615 by Martin Pitt
Fix "apport-bug symptomname" to actually work.
1231
 - Fix "apport-bug symptomname" to actually work.
1616 by Martin Pitt
launchpad.py: Fix crash on invalid credentials file. Thanks to Marco Rodrigues for the initial patch! (LP: #414055)
1232
 - launchpad.py: Fix crash on invalid credentials file. Thanks to Marco
1233
   Rodrigues for the initial patch! (LP: #414055)
1614 by Martin Pitt
apport-cli: Fix crash with non-ASCII characters in prompts.
1234
1607 by Martin Pitt
release 1.9.1
1235
1.9.1 (2009-09-22)
1589 by Martin Pitt
hookutils.py, attach_hardware(): Do not attach empty Pccardctl*.
1236
------------------
1237
Bug fixes:
1238
 - hookutils.py, attach_hardware(): Do not attach empty Pccardctl*.
1592 by Kees Cook
update NEWS (I had been looking for "Changes"...)
1239
 - apport/report.py, add_gdb_info(): Do not throw away stderr from gdb.
1600 by Kees Cook
data/general-hooks/parse_segv.py: Handle empty base, scale, or index registers in disassembly.
1240
 - data/general-hooks/parse_segv.py:
1604 by Martin Pitt
update NEWS
1241
   + Handle arithmetic wrapping correctly.
1242
   + Handle empty base, scale, or index registers in disassembly.
1243
   + Handle in/out ioport faults.
1244
 - Various improvements to user-visible strings, thanks to Marco Rodrigues!
1245
   (LP: #178507)
1246
 - Various apport-retrace robustifications.
1247
 - setup.py: Fix DistUtilsExtra version check. (LP: #428337)
1248
 - hookutils.py, attach_gconf(): Do not overwrite previous values from other
1249
   packages, thanks Loïc Minier!
1606 by Martin Pitt
NEWS update
1250
 - hookutils.py, attach_gconf(): Fix crash with nonexisting <applyto> tags.
1589 by Martin Pitt
hookutils.py, attach_hardware(): Do not attach empty Pccardctl*.
1251
1588 by Martin Pitt
release 1.9
1252
1.9 (2009-09-08)
1577 by Martin Pitt
update NEWS for recent changes
1253
----------------
1254
New features:
1255
 - Add "do what I mean" mode to command line argument parsing (applies to all
1256
   interfaces: -cli, -gtk, -kde). When giving a single argument and no options,
1257
   determine the most likely mode, like reporting a bug against a symptom,
1258
   package, executable name, or PID.
1582 by Martin Pitt
Add program "apport-bug" to auto-select a GUI and file a bug through it. Based on the "ubuntu-bug" script.
1259
 - Add program "apport-bug" which determines the most appropriate user
1260
   interface (GTK, KDE, CLI) and files a bug through it, using the single
1261
   argument "do what I mean" mode. This is an improved version of Ubuntu's
1262
   "ubuntu-bug" script.
1577 by Martin Pitt
update NEWS for recent changes
1263
1264
Bug fixes:
1265
 - Update apport-cli manpage to current set of options and behaviour. Also
1266
   point out that apport-gtk and apport-kde share the same CLI.
1579 by Martin Pitt
move apport-{gtk,kde} to /usr/share/apport/, they are not supposed to be called directly
1267
 - setup.py now installs apport-{gtk,kde} into $prefix/share/apport/, they are
1268
   not supposed to be called directly. This also reflects the path which the
1269
   .desktop files expect.
1580 by Martin Pitt
setup.py: Install internal helper scripts to $prefix/share/apport instead of $prefix/bin
1270
 - setup.py now installs the internal helper scripts like "kernel_crashdump",
1271
   "apport", or "apportcheckresume" into $prefix/share/apport instead of
1272
   $prefix/bin.
1584 by Martin Pitt
Update usage of gettext to work around Python bug of gettext() not returning unicodes, but str. Fixes UnicodeDecodeErrors on translated --help output.
1273
 - Update usage of gettext to work around Python bug of gettext() not returning
1274
   unicodes, but str. Fixes UnicodeDecodeErrors on translated --help output.
1577 by Martin Pitt
update NEWS for recent changes
1275
1572 by Martin Pitt
release 1.8.2
1276
1.8.2 (2009-09-05)
1571 by Martin Pitt
update NEWS for release
1277
------------------
1278
Bug fixes.
1279
1561 by Martin Pitt
release 1.8.1
1280
1.8.1 (2009-09-03)
1558 by Martin Pitt
update NEWS for 1.8.1
1281
------------------
1282
Lots of bug fixes.
1283
1536 by Martin Pitt
release 1.8
1284
1.8 (2009-08-26)
1531 by Martin Pitt
Do not generally ignore SIGABRT any more. Try to extract the assertion
1285
----------------
1286
New features:
1287
 - Do not generally ignore SIGABRT any more. Try to extract the assertion
1288
   message from the core dump, and add it as "AssertionMessage" field. Mark
1289
   reports as unreportable if they do not have an assertion message and crashed
1290
   with SIGABRT. This requires your glibc to have this patch:
1291
   http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=48dcd0ba
1535 by Martin Pitt
update NEWS
1292
 - report.py, add_hooks_info(): Add optional package/srcpackage argument. Hooks
1293
   can use that to change the affected package or call hooks from different
1294
   packages.
1295
 - KDE frontend implementation of ui_question_userpass(), for crash databases
1296
   which need to ask for credentials.
1297
 - hookutils.py: New funtion attach_wifi() to add wireless network related
1298
   information to reports.
1299
1300
Important bug fixes:
1301
 - Fix the test suite on current kernels; test/crash previously often failed
1302
   with python segfaults, since it killed the test processes too early.
1531 by Martin Pitt
Do not generally ignore SIGABRT any more. Try to extract the assertion
1303
1518 by Martin Pitt
release 1.7
1304
1.7 (2009-08-05):
1514 by Martin Pitt
add support for symptoms
1305
-----------------
1306
New features:
1307
 - Support for "symptom" scripts, which figure out the package for a bug report
1308
   based on interactive questions.
1309
1505 by Martin Pitt
release 1.6
1310
1.6 (2009-07-15)
1500 by Martin Pitt
add support for kernel crashes
1311
----------------
1312
New features:
1313
 - Integrate analysis and retracing of kernel vmcore crashes with the "crash"
1314
   tool. Courtesy of Michael Vogt.
1315
1501 by Martin Pitt
update NEWS
1316
Various little bug fixes.
1317
1489 by Martin Pitt
release 1.5
1318
1.5 (2009-06-29)
1482 by Martin Pitt
throw away complicated and incomplete build system, use DistUtilsExtra.auto
1319
----------------
1320
New features:
1321
 - Drop all Makefiles, po/POTFILES.in, and most code from setup.py, and use
1322
   DistUtilsExtras.auto which "just does the right thing" for most build system
1323
   tasks. This requires python-distutils-extra >= 2.2, see
1324
   https://launchpad.net/python-distutils-extra
1325
1483 by Martin Pitt
Move all test scripts into test/, to unclutter source tree
1326
Cleanup:
1327
 - Move all test scripts into test/, to unclutter source tree.
1485 by Martin Pitt
auto-detect packaging backend
1328
 - setup.py now auto-detects the required packaging backend if
1329
   apport/packaging_impl.py is not manually installed.
1483 by Martin Pitt
Move all test scripts into test/, to unclutter source tree
1330
1480 by Martin Pitt
release 1.4
1331
1.4 (2009-06-26)
1478 by Martin Pitt
update NEWS
1332
----------------
1470 by Martin Pitt
Merge Richard's KDE frontend, replacing Qt4 one
1333
New features:
1334
 - Replaced Qt4 frontend with a KDE frontend for better KDE integration.
1335
1478 by Martin Pitt
update NEWS
1336
Major bug fixes:
1467 by Martin Pitt
packaging-apt-dpkg.py: Add backwards compatibility code for python-apt < 0.7.9 to not break backportability
1337
 - packaging-apt-dpkg.py: Add backwards compatibility code for python-apt <
1338
   0.7.9 to not break backportability.
1339
1466 by Martin Pitt
release 1.3
1340
1.3 (2009-06-10)
1465 by Martin Pitt
NEWS formatting
1341
----------------
1444.1.1 by Martin Pitt
add_hooks_info(): Pass UI object
1342
New features:
1444.1.21 by Martin Pitt
update NEWS
1343
- Interactive package hooks:
1344
  * Add apport.ui.HookUI class which provides GUI functionality such as yes/no
1345
    questions or file dialogs to hooks.
1346
  * add_info() in package hooks now can (optionally) take a second argument which
1347
    is the HookUI instance.
1348
  * See doc/package-hooks.txt for details.
1451 by Martin Pitt
add apport.hookutils.root_command_output()
1349
- New function apport.hookutils.root_command_output() to run a command as root,
1350
  through gksu/kdesudo/sudo, depending on the desktop environment.
1456 by Martin Pitt
add segfault analysis hook for quick segv reviews
1351
- Add general hook for analyzing reason of a segfault.
1444.1.1 by Martin Pitt
add_hooks_info(): Pass UI object
1352
1445 by Martin Pitt
Drop "UnsupportableReason" field, it is too similar to UnreportableReason and
1353
Bug fixes:
1354
- Drop "UnsupportableReason" field, it is too similar to UnreportableReason and
1355
  just confusing.
1454 by Martin Pitt
problem_report.py: Allow dashes and underscores in key names. Update doc/data-format.tex accordingly. (LP: #380811)
1356
- Report key names can now contain dashes ('-') and underscores ('_').
1357
  (LP #380811)
1445 by Martin Pitt
Drop "UnsupportableReason" field, it is too similar to UnreportableReason and
1358
1443 by Martin Pitt
release 1.2.1
1359
1.2.1 (2009-05-15)
1442 by Martin Pitt
update NEWS
1360
------------------
1361
Bug fixes:
1362
- Fix setup.py and PO file merging for recent .glade -> .ui renaming.
1363
1364
Translations:
1365
- Update German translations.
1366
1439 by Martin Pitt
release 1.2.0
1367
1.2.0 (2009-05-15)
1438 by Martin Pitt
update NEWS with changes made so far
1368
------------------
1369
Moving away from deprecated APIs:
1370
- packaging-apt-dpkg.py: Use python-apt >= 0.7.9 official API and drop usage of
1371
  internal symbols.
1372
- hookutils.py: Drop hal related functions and queries, replace with udev
1373
  database, udev log file, and DMI information from sysfs.
1374
- gtk UI: Convert from libglade to gtk.Builder.
1375
1376
Bug fixes:
1377
- hookutils.py: Drop /proc/version_signature collection, it is Ubuntu specific.
1378
- apportcheckresume: Fix log collection from pm-utils.
1379
- Fix various crashes and report properties for reporting against uninstalled
1380
  packages.
1381
1423 by Martin Pitt
release 1.1.1
1382
1.1.1 (2009-04-30)
1422 by Martin Pitt
update NEWS
1383
------------------
1384
Security fix:
1385
- etc/cron.daily/apport: Only attempt to remove files and symlinks, do not
1386
  descend into subdirectories of /var/crash/. Doing so might be exploited by a
1387
  race condition between find traversing a huge directory tree, changing an
1388
  existing subdir into a symlink to e. g. /etc/, and finally getting that piped
1389
  to rm. This also changes the find command to not use GNU extensions.  Thanks
1390
  to Stephane Chazelas for discovering this! (LP #357024, CVE-2009-1295)
1391
1392
Bug fixes:
1393
- launchpad.py: Send and read Date: field again, reverting r1128; it is useful
1394
  after all. (LP #349139)
1395
- Only add ProcAttrCurrent to reports if it is not "unconfined", to remove some
1396
  noise from reports.
1397
- Detect invalid PIDs in the UI (such as for kernel processes) and give a
1398
  friendly error message instead of silently doing nothing. (LP #360608)
1399
- Always run common hooks, and run source package hooks if we do not have a
1400
  binary package name. (LP #350131)
1401
- launchpad.py: Consider socket errors when connecting as transient, so
1402
  that crash-digger doesn't stop completely on them.
1403
1411 by Martin Pitt
release 1.1
1404
1.1 (2009-04-20)
1407 by Martin Pitt
NEWS: update to current trunk
1405
----------------
1422 by Martin Pitt
update NEWS
1406
New features:
1407 by Martin Pitt
NEWS: update to current trunk
1407
- Add hookutils methods for attaching relevant packages, greatly improve
1408
  attach_alsa() for sound problem debugging. 
1409
- Move launchpad crash database implementation from ever-breaking
1410
  python-launchpad-bugs (screenscraping) to launchpadlib (official and stable
1411
  Launchpad API).
1422 by Martin Pitt
update NEWS
1412
1413
Bug fixes:
1414
- Drop some remaining distro specific pieces of code.
1407 by Martin Pitt
NEWS: update to current trunk
1415
- Add new field Report.pid which gets set on add_proc_info() and can be used by
1416
  hooks.
1417
- setup.py: Properly clean up all generated files, install missing
1418
  mimetypes/text-x-apport.svg icon symlink.
1419
- Add README file.
1420
- Add translations from Launchpad.
1421
- Remove preloadlib/*; it's undermaintained, and not really useful any more
1422
  these days.
1423
- Various bug fixes; most visible being the misnamed etc/default/apport.default
1424
  file (which should just be etc/default/apport).
1425
1395 by Martin Pitt
add NEWS, with 1.0
1426
1.0 (2009-04-06)
1427
----------------
1428
First upstream release, based on Ubuntu packaging branch; that had been the
1429
de-facto trunk for many years, but this becomes unpractical with several
1430
distributions using it now.