Appendix A. Change log


         
            2005-07-11: 0.2.2
   General
      *  Fixed parser bug for T_ARRAY lines (thanks to Iassen Hristov who
         reported).
      *  Fixed problem with undefined Gubed variable (thank to Jerome Rouer
         for reporting).

2005-07-05: 0.2.1
   General
      * Added postprocessing developer tools for Gubed developers.
      * Added htmlmix test in testbench.
      * Gubed should now be able to handle html files and parse them as well,
         ie if you have a mix of html and php pages, the html pages can now
         submit to a debugged php script.
      * Fixed several typos and errors in the documentation.
      * Fixed bug that prevented breakpoints from taking place when tracing
         (Thanks Alessandro Pasotti for reporting).
      * Changed the default server, now the server is set to the address of the
         computer making the http-request.

   ServerScripts
      * Fixed html postprocessing so that it works better with javascript links
         (thanks John Hughes for reporting).
      * Applied Aaron McDonald's __FILE__ patch, which fixes some issues with
        the __FILE__ constant.
      * Fixed bug where forms would submit to the form page rather than the
         action target.
      * Fixed bug with include_dir (PATH_SEPARATOR), thanks to  Laurent
         Laville for the patch!
      * Fixed problem with https urls, thanks to Daniel Heule for reporting!

2005-04-28: 0.2.0
   No major problems reported with 0.1.5, thus a stable release.

2005-04-09: 0.1.5
   General
      * Reorganized the CVS tree, it's now one single module for client,
         server scripts, proxy and documentation.
      * Wrote better documentation and structured the changes file
      * Redesigned and rewrote communication protocol
      * Added functionality to execute commands while in paused mode.
      * Renamed the linux client to gbdclient and the proxy to gbdproxy
         (Windows client is still called Gubed.exe)

   Client
      * Renamed 'Run' to 'Trace' and 'Leap' to 'Run' and thus fixing one
         of the greatest Gubed confusions (hopefully ;)
      * Added documentation to the help menu
      * Reorganized breakpoint list and backtrace and put them in separate
         lists instead of the watch tree. You can double click on a breakpoint
         or a backtrace line to jump to that file and line (as long as it's opened
         in Gubed already)
      * Added a textbox below the log to type commands to execute. The 
         result of the command is shown in the log.

   ServerScripts
      * Replaced all short open tags
      * Reorganized and cleaned up a bit, added a stylesheet
      * Added documentation link on main page
      * Fixed bug in for() loops whithout specified post expression
      * If a parser error occurs, Gubed now tries to execute the original file instead.
         If there was really a parser error in the file, the error output in the 
         browser will be better. If there was no error in the file, it might be
         possible to debug the rest of the script.

2005-03-10: 0.1.4
   * 0.1.3rc3 seemed good enough for a stable release, enjoy!
   * A couple of compilation fixes for wxWidgets 2.5
   
2005-02-10: 0.1.3rc3
   * Removed the 'config' line from gbdNoDebug.txt - this would 
     cause some scripts to bug out (gbdNoDebug.txt is a two-bladed
     sword)

2005-02-10: 0.1.3rc2
   * Fixed bug where require_once/include_once would include the
     file more than once.
   * Available files in dir in StartSession are now sorted.
   * Parse errors are now reported better in the clients.
   * Applied Aaron McDonald's patch that fixes the recently introduced 
     for-loop bug (for loops with function calls weren't parsed
     correctly).

2005-01-30: 0.1.3rc1
   * Minor fixes in the testbench.
   * Gubed now steps on the post expression of "for" loops.
   * Fixed StartSession to support apache aliases. This will only work 
      when php is running as an apache module, and is quite untested.
      Thanks to Felix Rabinovich for suggestion how to implement it.
   * Fixed StartSession to show php files if a dir is specified without an 
      an index.php.
   * Fixed StartSession so it doesent try to alter output thats not html 
      documents.
   * Implemented timing of the different subsections of gubed, the
      timings are sent as extra X-Gubed-... headers.
   * Implemented parsecache. localsettings.php can now be used
      to set cachedir (defaults to [tmpdir]/gubedcache) or set it
      to an empty string to disable the cache. If the right file exists
      in the cache and it's newer than the source file, the cache file
      will be read and used rather than the document being reparsed.
      There is currently no cleanup of the cache dir implemented.
   * Improved regexptest page, it's now possible to scan just one
     directory. Thanks Daniel Enright for contributing the code!
   * No longer need to enter index.php as part of path to debug
   * It's now possible to enter full addresses in StartSession (ie 
      http://myserver/path/script.php as well as /path/script.php) 
   * Fixed bug where parts of html comments would be outputted
     (thanks to Carl at NaranyaWeb for reporting)
   * Slight performance improvement when no conditional 
     breakpoints are used.
   * Fixed warnings about pass-by-reference for PHP5, thanks
     to Lothar May for reporting!
   * Fixed several parser bugs in GubedParserPre42
   * Added debug info page for bug reports
   * Exit handler will now tell about parsing errors
   * Fixed several parser errors like 'return include...'.
   * Made StartSession parse the output also when execution is
     stopped premature.
   * Added possibility to see upcoming function calls, meaning
     you can watch it (add watch on $gbdNextInst) or break on
     certain instructions (add conditional bp on $gbdNextInst ==
     'function'). Only works for functions that are first on the line.
   * Fixed StartSession to work with files that die()s or exit()s

2004-10-13: 0.1.2
   * Added history to the StartSession page
   * Added backtrace for PHP versions 4.3.0 and later
   * Added 'Step over' for PHP versions 4.3.0 and later
   * Added 'Step out' for PHP versions 4.3.0 and later
   * Fixed toolbar and menu to better reflect current state
   * Added manual open and close for source files
   * Added path mapping dialog when opening files

2004-09-06: 0.1.1
   * Fixed StartSession, it should now work with php standalone, just launch
     with "php /path/to/StartSession.php /path/to/Script.php".
   * wxGubed now tries to get focus when an error or breakpoint occurs.
   * Made viewing of "$this" work with PHP5.
   * Fixed parser bug when php end was on a line with // styled comment.
      Thanks Juraj Variny for reporting!
   * Fixes for Windows, both wx client and server parts. Thanks Jeff Burke
      for helping out and testing!

2004-08-24: 0.1.0
   * Improved conditional breakpoints, they can now break either on true
      or change and optionally only in certain files, classes or functions.
   * Improved StartSession and it now handles anchors, forms and http re-
      direction. It's also much more userfriendly.
   * Improvements for new PHP5 structures
   * Parser bugfixes
   * When leaping, warnings and info messages are no longer shown, for
      better performance. While running or singlestepping, the are still shown.
   * Improved documentation, introductionpage, testbench and parsertester.
   * Fixed bug in StartSession for forms
   * Removed the copy of the quanta subdirectory in the documentation, the
     page can be found on http://www.hoernerfranzracing.de/kde/gubed.html
     instead.

2004-06-03: 0.0.10
   * Added conditional breakpoints.
   * Now uses wxSTC when available, this mean syntax highlighted code and
     some other improvements.
   * Added some support for PHP in CLI mode.
   * Fixed parser problems when script used @include, case; (semicolon instead
     of colon) and do {} while(). This means that PEAR (at least my version ;)
     works with gubed now.
   * Tested Gubed with PHP5, seemed to work quite well.
   * Sourcecode is now sent in one big batch rather than line by line
   * Added experimental new method of invoking the debugger - StartSession.php.
     This script can be requested with the url
     '.../Gubed/StartSession.php?gbdScript=/path/file.php' and then
     /webroot/path/file.php will be debugged (no need to add inclusion of
     Gubed.php in file.php). Seems to work, but the output needs to be parsed
     for links and actions that are altered to use StartSession as well.
   * Now times the entire execution time - quite useless when singlestepping,
     but good to test performance while developing Gubed ;)
   * Fixed Makefile.am bug that linked in the wrong order on some systems.
   * Added some more convenience menues for watches and varables.
   * Restructured the watch-tree to show watches, shown variables and conditional
     breakpoints.
   * You can now chose wether you want the tabs to the left or on the top of the
     source.
   * Added some more output to configure to more clearly state how Gubed will be
     built.
   * Made filenames look better in tabs

2004-05-21: 0.0.9
   * Restructured the protocol, it's now enough with client and PHP-Scripts,
     the server part is no longer needed..
     Since wxWidgets prior to current CVS did not use SO_REUSEADDR, you
     might run into problems if you use older versions of wxWidgets (ie, you
     won't be able to start a new listening wxClient on the same port until
     the timeout period is over).
   * The protocol is no longer dependent on linebreaks when sending data from
     script to client, so variable with linebreaks can be shown properly
   * The server is now changed to be a proxy server for Gubed, so you can
     still use Gubed through NATs or if you want a static (client independent)
     IP/host in your GubedGlobals.php/localsettings.php configuration.
   * Implemented que-system when many connection attempts are made. If
     script is started when another one is already running, it will wait
     until the first one finnishes. (Does currently not work with the proxy)
   * Jump to bookmark/breakpoint now jumps across files
   * Changed the layout of the settings dialog
   * Fixed better handling of connect/disconnect toolbuttons and menues
   * Restart is no longer needed for changes to the connection settings to kick in
   * Implemented protocol version handling. A script can't be debugged unless
     the gubed php-parts version is the same as the client's.
   * The php-parts now reads the file 'localsettings.php' from the gubed dir
     if it exists. This file wont be overwritten by the distribution or CVS
     so it's a good place to put configuration settings in, like the host ip.
   * When leaping, the client wont show all files traveresed any more, only
     ones where execution is interrupted.
   * wxClient now has a verbose setting that logs more info the output

2004-05-02: 0.0.8
   * Better support for watching function calls, you can now see both
     text output and return value
   * Less error prone when setting value of variables
   * Better defaults for errormask (No halt on notices)
   * Config file now accepts arguments without the leading dashes
   * Bugfixes

2004-04-30: 0.0.7
   * This version didnt make it to the real world

2004-04-30: 0.0.6
   * Improved variable handling - you can now watch expressions as well
   * Improved finding files included from path
   * Added some variable testcode to GubedTest
   * Remembered to update version string in help-text :)

2004-04-22: 0.0.5
   * Made new parser for PHP with parser functions enabled
   * Speed improvements
   * Added some helper menues as well as menu item to enter variable to watch
   * Bugfixes

2003-12-21: 0.0.4
   * Improved toolbar internals
   * Added tooltips (ejyann)
   * Added makefile and adaptions for vc7 (ejyann)
   * Adaptions for gcc 2.95 (ejyann)
   * Reorganized sources for autotools
   * Changed path and include handling
   * Improved errorhandling for unmanaged sources
   * Bugfixes

2003-05-26: 0.0.3
   * Improved php parser code
   * Improved error reporting, especially of unhandled scripts (includes)
   * Improved variable watching, now supports more datatypes (like objects)
   * Fixed bug that crashes gbdwxClient at refresh of watches
   * Fixed some gui issues