0.8.17 released, some big fixes and new features, this one has a lot of changes

Hope you all enjoy!:
2007-08-06
----------
* Improved the build system a little for plugins. They now all share common
portions.
* Added ascii string display in heap viewer plugin. Now if, the heap block
contains an ascii string, it'll be displayed in the data column. I plan to
add more types of known "data" to this column over time.
* Added a filter to the environment viewer plugin so you can quickly find the
variable you are looking for.
2007-08-02
----------
* Conditional MOVs are now part of the instruction analysis, it will display
whether or not the MOV will be performed based on the current flags.
* I am making the config file entries use a more organized naming convention in
the past they were very ad-hoc, but now i am going with namespaces. For
example: debugger.terminal.enabled=true. For now this will only apply to new
settings so no one loses settings, but the old names will eventually be phased
out in 0.9.0 which is when I will start to stabilize the varying APIs in EDB.
* The view options for the stack and data views (word width/row width/which
columns to display) are now stored in the config file and restored on reload.
Data view is stored as well but is based on the options dialog because saving
the options set in the context menu makes no sense (many tabs, which to use).
2007-08-01
----------
* Added different binary fill options to the CPU context menu. Good for REMing
out individual ops quickly.
* Command window program is now configurable in the debugging options dialog.
You can enable/disable it, and you can use the terminal program of your
choice. The default is /usr/bin/xterm, as this should be fairly ubiquitous.
"konsole --nomenubar --notabbar" works well for us KDE users out there as
well. The only real rule is that whitespace is assumed to be an argument
separator and bad things may happen if you try to be clever and use a program
name or argument with a space in it. I was able to get launching konsole to
simply lock up EDB (no idea why) simply by using it from a path with a space
in it.
2007-07-31
----------
* Experimental code for opening an I/O window for command line apps is almost
done. It actually works well, just need it to be more tunable. This is a
big feature as it will allow more complete debugging of applications with a
CLI.
2007-07-30
----------
* Made the 3 byte UD opcode no decode as "invalid" but as "ud", since this op
isn't really invalid, just is hardwired to generate an exception.
* FPU registers are now highlighted on changes.
* Made changes towards abstracting State such that it can be an opaque type.
* Renamed types.h to EDBTypes.h to avoid conflict with system types.h. Sorry
if this makes people change code, but API isn't stable yet

.
* Moved *nix specific headers to ROOT/include/os/unix from src, since plugins
may and likely need to see those types, now the include dir is all that is
NEEDED to have a plugin development setup.
* Changed getValueFromUser to get a reg_t value, this should be more
portable. (Thanks Thomas Faber!)
* Improved DebuggerCore's reading/writing routines to be more portable and
more flexible with regards to endian size and word size.
(Thanks Thomas Faber!)
* Thomas Faber's changes make EDB a few steps closer to compiling and
functioning correctly in an x86-64 setup.
2007-07-26
----------
* Implemented PID enumeration on FreeBSD. Still a lot to go for things to
compile and work...
* Made edb_make_symbolmap work if you have md5 instead of md5sum in your system.
* Added breakpoint management to CPU view context menu.
2007-07-25
----------
* Fixed error in which a shallow copy of a transient variable was being used
which is bad because the data could be trashed.
2007-07-21
----------
* You can now see the FPU registers, they are currently read only, but it
appears to work correctly.
2007-07-19
----------
* Fixed a silly bug introduced recently where registers aren't properly
un-highlighted when no longer attached.
* Internally layed some ground work for reading FPU register support.
* Fixed a bug in the debugging core plugin which could cause a caller of a
read or write to think it succeeded when it didn't. It was very unlikely to
get triggered and even so would likely have little to no side effects.
2007-07-17
----------
* Made it so when you try to modify bytes which overlap a breakpoint,
you are given the option to continue (which removes the breakpoints), or
abort the modification.
* Finally made the breakpoint dialog show the breakpoint type.
* Introduced initial code for supporting more than one binary type. It still
only accepts ELF32, but the framework is in place.
* Fixed a bug where misaligned jumps were fooling the disassembly view widget
this was pretty bad since a lot of the point of active debugging versus static
analysis is to avoid getting fooled by tricks like this!
2007-07-16
----------
* Fixed a bug where certain strings may not be reported corrected
(some characters chopped out).
* Fixed bug where offsets of 16-bit relative jumps were not being truncated like
the CPU actually does. In the real thing, the target address has the upper
16-bits cleared. Not very useful in 32-bit code, but important to be correct.
* Fixed bug in new register reading code.
* Removed segfault due to settings invalid segments from TODO list, this is a
kernel bug and entirely out of EDB's control.
2007-07-13
----------
* Numerous improvements to the disassembler, I believe it is fairly complete
the only thing that's missing that I'm aware of is enforcement of certain
rules (like mod/rm that must only be mem, and which ops certain prefixes are
valid for).
2007-07-12
----------
* Worked around a bug where QT would deliver events to disabled actions if the
shortcut key-combination is pressed. For now I have a check in each action
where it simply returns if that action is not enabled. The QT people seem
to be aware of the issue, hopefully it'll be addressed in a future version
of QT.
* Fixed ability to debug a process which receives unknown stop signals. Now it
will simply break if you were trying to step. It is still annoying since
frequent signals will make you have to step twice all the time, but at least
it is now possible.
* Fixed long standing (apparently no one noticed) bug where if you detached
from a process while a breakpoint was set, the process had a chance of
crashing.
* Made operand analysis smarter, it now knows about different expression types
(byte ptr, word ptr, dword ptr).
* Identified a few bugs I would like ironed out before next release.
* Many minor improvements in the disassembly output. It is difficult to decide
when to use hex and when to use decimal, but I think I have something
reasonable.
* Good speedup in instruction analysis.
2007-07-11
----------
* Finally compiled EDB with edisassm ! This disassembly engine is faster and
more robust than the previous one because I am more easily able to add
specific features that EDB can use into it. Unfortunately, this does mean
that AT&T syntax is temporarily disabled.
* Fixed a major crashable bug in QDisassemblyView widget, it was very subtle.
2007-07-06
----------
* Finished environment viewer plugin
* edisassm is almost complete and ready for integration
* Condition flags can now be seen in the register view as a sub item to eflags
* Split out the i386 stuff away from the GUI yet more, almost at a good point
of portability.
* More robust error checking
* A few minor UI updates.
2007-05-31
----------
* Multibyte invalid ops are now displayed properly.
2007-05-23
----------
* Very preliminary TTY support.
2007-05-20
----------
* Fixed a bug in getBinaryStringFromUser where it was setting the value
before the maximum allowed length. This made it so values were truncated
incorrectly.
* Added Edit bytes to the QDisassembly viewer!
* Fixed DebuggerCore incorrectly reporting success on reads/writes of where
no bytes are read.
enjoy
http://www.codef00.com/projects.php#Debugger
proxy