
2007-02-26
----------

* Added ability to change the working directory opened applications run in. 

2007-02-23
----------

* Improved about dialog box :-P

2007-02-15
----------

* Added ability to dump the contents of a data view tab to a file.

2007-01-17
----------

* Added recent file list to File menu.

2007-01-16
----------

* Cleared internal state tracking on detach, nothing major.

2006-12-23
----------

* Added new stylized register view window, still working out the programmers API
  for it, but at least it looks nice :)

2006-12-22
----------

* Making slightly less assumptions about the architecture being 32-bit.

2006-12-18
----------

* Added a search filter to the attach and memory region dialogs.

* Fixed compilation issue with gcc 3.x series compilers.

2006-12-16
----------

* Added a tooltip to the disassembly view when there are too many instruction
  bytes to display which shows all bytes in the instruction.

* Added display of ASCII strings next to registers if analysis decides that 
  what the register points to is an ASCII string.

* Added push/pop operations to the stack context menu.

2006-12-13
----------

* Added preliminary PLT support to make_symbolmap.sh, this will allow EDB 
  to properly display library calls, eventually, this will lead to a database
  of known functions with parameters so the analyzier can display the paramters
  correctly.

2006-12-12
----------

* Finally added the ability to edit the bytes in the data and stack dump 
  widgets! Simply right click and choose "Edit Bytes" and modify away :).
  If the new string of bytes is smaller, the debugger will zero fill the
  difference, in the future this will be tunable.

2006-12-08
----------

* Improved efficiency and clarity of rendering code for some custom widgets.

2006-12-06
----------

* Started working on some html based help files in doc directory, don't
  expect anything useful in there quite yet, but it'll get there.

* Isolated libdisasm calls to a single part of the code, this allowed 
  consolodation of common functions as well as creating a central point to 
  replace the code as I feel that libdisasm will likely be dropped in a later 
  version.

* Added more information in the instruction information panel.

* Made DebuggerCore plugin readBytes fill the trailing end of the buffer with 
  0xff if it could not read as many bytes as requested, this is to give more
  predictable results if only a partial read is possible.

2006-12-01
----------

* Reduced redundant drawing in QDisassembly widget, which should make things
  slightly faster due to less redraw.

2006-11-30
----------

* Added some more sanity checks to the internal reads and writes in the 
  debugger core plugin, this should prevent reporting incorrect data if a 
  add breakpoint failed to read/write correctly.

* Made step over, also step over REP prefixed ops.

* Fixed bug in indirect call/jmp analysis which resulted in the target symbol
  not being resolved even though it was in the symbol map.

* Made it so the expression evaluator shows a ? instead of junk when it can't 
  read from the effective address.

2006-11-29
----------

* Corrected bug in libdisasm which caused the instruction  8e e8 to disassemble 
  incorrectly as "mov ds, ax" instead of the correct "mov gs, ax".

2006-11-28
----------

* Added ability to choose both how many bytes per "word" in the displays
  and how many "words" per row via the context menu, this setting is not
  remembered yet, but that will follow shortly.

* Fixed very annoying bug where it was possible to make the QHexView widget
  not correctly highlight things if the origin was not aligned to the word 
  width * row width.

* Added ability for QHexView widget to display 64-bit formatted hex, once
  a bug related to selection of misaligned text is resolved this will be 
  enabled.

2006-11-27
----------

* Added getBinaryStringFromUser to debugger API.

* Added filename to title bar when opening an application.

* Removed updating of all views when selecting a memory region to view,
  now it only updates the data view tab.
  
* Fixed green arrow showing outside of viewable area sometimes.

2006-11-25
----------

* Changed string searcher to allow newlines in a string.

* Corrected DebuggerCore's behaviour when writing less than 4 bytes from the 
  edge of a memory region, previously the result was undefined, now it acts
  as expected.

2006-11-22
----------

* Added double click to follow in dump to StringSearcher plugin

* Fixed rare double-free crash found by valgrind.

* Fixed occasional crash due to lack of copy constructor in a class.

* Now the open dialog will start in the directory which you last opened a file 
  from, this should make reloading the same file you previously ran quicker.

* Added a function to Debugger namespace which make it easier to properly 
  compare version numbers numerically.

* Added a plugin "CheckVersion" which will read the file 
  http://www.codef00.com/projects/debugger-latest and determine if a new version
  has been released.

2006-11-21
----------

* Added another opcode class "[esp + 8]->eip" in OpcodeSearcher and improved 
  efficiency of search by reducing memory compares.
  
* Added ability to double click results in OpcodeSearcher and it will jump
  the disassembly view to the found address.

2006-11-20
----------

* Improved instruction analysis, now it will attempt to give symbol relative
  information on many control flow ops such as calls/returns/jumps, more of 
  this to come.

2006-11-17
----------

* Changed name of utility functions ByteShiftArray::rol() and 
  ByteShiftArray::ror() to ByteShiftArray::shl and 
  ByteShiftArray::shr to reflect what they actually do
  
* Updated the makesymbolmap.sh script based on patch from pancake, SymbolManager
  has been updated to use the slightly different format.
  
* Reduced scrolling in disassembly view by only scrolling when new instruction
  isn't in visible range.
  
* Added arrow icon next to current instruction.

* Changed resultant binary from "debugger" to "edb" to reflect actual project 
  name.
  
* Added some basic documentation on how to write plugins, though the example 
  plugins are still the best way to learn.
  
* Added jump to address and jump to EIP to disassembly view context menu.

* Main window will now remember it size and restore it next time EDB is run.

2006-11-16
----------

* Minor code cleanups.

* Slight change to DebuggerCoreInterface to have waits specify a timeout, 
  it is not required that the class actually do anything with the timeout, 
  but the groundwork is being set.
  
* Hopefully have a good solution for terminating the event server thread

* Removed parts of libdisasm which aren't needed for libdisasm.a to build
  this cuts the download size by 75%!

2006-11-13
----------

* Removed parts of libdisasm from source tree that aren't related to the build
  which cut the tarball down to a quarter of the size :)
  
* Working on cleaning up internal breakpoint managment, current implementation
  works most of the time, but there are a few corner cases where it isn't 
  perfect. I plan to rework this so that the logic is more clear.

2006-11-12
----------

* Added upper limit of one second to how long debugger will wait for the event 
  thread to terminate. Eventually I will fix the fact that it doesn't always 
  terminate, but for now this seems to work ok.
  
2006-11-10
----------

* Fixed QTableWidgets not being populated correctly with QT 4.2.x and up, it 
  seems that you must disable sorting before inserting to gaurantee correct
  behaviour.

2006-11-10
----------

* Fixed a bug related to adjacent breakpoints which were not placed by the 
  debugger (already in the code).

2006-11-09
----------

* Initial Release
