Prepare for new Debian release
diff --git a/ChangeLog b/ChangeLog
index 41c496a..fafdf17 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,28 @@
+2009-05-21  Juan Cespedes <cespedes@debian.org>
+
+	* Release version 0.5.2
+	* new fork() and clone() approach:
+	  + used PTRACE_O_TRACE{FORK,VFORK,CLONE} to trace newly created
+	    processes instead of figuring it out whether a given syscall
+	    would create another process or not
+	  That way, new processes are always traced from the very beginning
+	* Use PTRACE_O_TRACEEXEC to check if a process has called exec()
+
+2009-05-07  Juan Cespedes <cespedes@debian.org>
+
+	* clean-up of structs Process, Breakpoint, Function and Event
+
+2009-04-07  Juan Cespedes <cespedes@debian.org>
+
+	* Improved documentation
+	* Cleaning up of "struct options"
+	* wait_for_something -> sysdeps/linux/events.c:next_event()
+	* wait for new children to stop instead of assuming they have stopped
+
 2009-02-11  Juan Cespedes <cespedes@debian.org>
 
 	* Fixed bug present since the first version (!) of ltrace,
-          which caused many programs to segfault when a signal is received:
+	  which caused many programs to segfault when a signal is received:
 	  + When a breakpoint is hit, and we need to continue with it, we:
 	    1) remove the breakpoint
 	    2) order a SINGLESTEP
diff --git a/TODO b/TODO
index 070a680..e747a28 100644
--- a/TODO
+++ b/TODO
@@ -16,9 +16,6 @@
 * Option -I (inter-library calls)
 * Modify ARGTYPE_STRING[0-5] types so that they don't stop displaying chars when '\0' is seen
 * Get rid of EVENT_ARCH_SYSCALL and EVENT_ARCH_SYSRET
-* EVENT_EXEC instead of exec_p()
-* If EVENT_EXEC is received:
-  + Clean structs with breakpoints, open new created program
 * Cleaner way to use breakpoints:
   + BP is placed in the PLT
   + When control hits there:
@@ -39,4 +36,4 @@
 * Create different ltrace processes to trace different children
 * debug: change "-d" option to be something like "-d elf,events", or "-d breakpoints"
 * Find out if a process is sharing memory with its parent?
-* When using -p, find out if that process is sharing memory with other processes
+* When using -p, find out if that process is sharing memory with other procs
diff --git a/debian/changelog b/debian/changelog
index 9b1a030..51dd66c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,15 @@
+ltrace (0.5.2-1) unstable; urgency=low
+
+  * New upstream release                                   (closes: Bug#463023)
+  * New approach for following forks; it should now attach
+    every newly created process                            (closes: Bug#483827)
+  * Fixed SEGFAULT when killing ltrace with SIGINT or SIGTERM (closes: #458923)
+
+ -- Juan Cespedes <cespedes@debian.org>  XXX
+
 ltrace (0.5.1-2) unstable; urgency=low
 
-  * Red-added armel and armeb to debian/control (closes: Bug#46023)
+  * Red-added armel and armeb to debian/control (closes: Bug#463023)
 
  -- Juan Cespedes <cespedes@debian.org>  Tue, 16 Dec 2008 13:00:50 +0100
 
diff --git a/debian/control.in b/debian/control.in
index 2840bdc..a74aad2 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -2,8 +2,7 @@
 Section: utils
 Priority: optional
 Maintainer: Juan Cespedes <cespedes@debian.org>
-Uploaders: Ian Wienand <ianw@debian.org>
-Standards-Version: 3.8.0
+Standards-Version: 3.8.1
 Build-Depends: @cdbs@, binutils-dev, libelfg0-dev
 
 Package: ltrace
diff --git a/output.c b/output.c
index 792a922..2021ecd 100644
--- a/output.c
+++ b/output.c
@@ -40,7 +40,9 @@
 	if (!proc) {
 		return;
 	}
-	if (list_of_processes->next) {
+	if ((options.output != stderr) && (opt_p || options.follow)) {
+		current_column += fprintf(options.output, "%u ", proc->pid);
+	} else if (list_of_processes->next) {
 		current_column += fprintf(options.output, "[pid %u] ", proc->pid);
 	}
 	if (opt_r) {