DDD News						-*- text -*-
********

DDD 3.3
=======

DDD 3.3 brings data themes, debugger interaction while the program is
running, support for JDB 1.2, and several bug fixes.


Data Themes
-----------

- DDD supports _data themes_ - modifiers that change the appearance of 
  program data.  Try `Data->Themes'.

- Data themes included with this release are:
  * Show specific expressions in a smaller font (useful for arrays).
  * Show display titles in a smaller font.
  * Suppress specific structure members or expressions.

- New data themes can be defined by users and installed at run-time.

- More themes are in preparation, such as rendering of C++ STL data structures.


Debuggers and Languages
-----------------------

- JDB as of JDK 1.2 is supported.

- GDB 5.0 is supported.

- You can use `ddd --wdb' to have DDD startup with WDB.  

- When choosing a debugger automatically, DDD will try `wdb' if `gdb'
  is not available.

- WindRiver's version of GDB (within the Tornado/vxworks environment)
  is supported.  See the DDD Reference, Section `WindRiver GDB' for
  details. (5)

- SGI DBX, Sun DBX, other DBXes as well as Compaq Ladebug can now
  attach to processes via DDD. (1)

- Parsing of GDB breakpoint information has been improved. (2)

- Parsing of Perl breakpoint information has been improved.

- Perl hash keys containing spaces are supported. (8)

- Using the separate execution window now improves parsing debugger
  output.  See the DDD documentation for the new `bufferGDBOutput'
  resource.


Examining Data
--------------

- New displays can be created left-to-right.  
  See `Edit => Preferences => Data => Placement'.  (6)

- Handling of Ladebug array output has been improved.  (7)

- Handling of multiple C++ base classes has been improved.

- Names that are keywords in some programming languages (such as
  `interface', `object', `class') should no longer impose problems when
  occurring in programs of other languages.

- Several memory leaks have been plugged. (1)


User Interface
--------------

- The default DDD font has been changed from `helvetica-bold' to
  `helvetica-medium', thus integrating better into KDE and GNOME
  environments.

- You can interact with the debugger while the program is running;
  DDD automatically interrupts and resumes debuggee execution.  See the
  `stopAndContinue' resource for details.

- Undo and Redo now apply on logical groups of commands.  If an action
  caused multiple commands, Undo will undo them with one click.

- Interrupts (Ctrl+C) from the controlling TTY can be issued multiple times.

- With LessTif, the source window no longer scrolls around when
  setting or deleting breakpoints.

- With LessTif, combo boxes (drop-down text boxes) no longer shrink.

- With LessTif, Text selection works better.

- With LessTif, typing in the debugger console works better.

- With LessTif, switching the register set works.

- Drag and Drop of breakpoints in the machine code is supported.

- Names of debuggee files and directories may contain spaces.

- Spin boxes (used to step values) have been slightly improved.

- Forwarding of keyboard events from the source window into the
  debugger console is now optional.  See the `consoleHasFocus' resource. (10)


Printing
--------

- PostScript printing includes background colors (e.g. changed values)



Installation
------------

- PLEASE NOTE: Several installation details have changed.  Be sure to
  read the `INSTALL' file for new installation instructions.

- Several DDD resources (such as the application defaults) now reside
  in separate files, reducing DDD executable size and memory footprint 
  by about 300k.

- To run DDD from the build directory (i.e. before installing), you
  must set the DDD_HOME and XUSERFILESEARCH environment variables.
  See the `INSTALL' file for details.

- The configure `--enable-rpath' option allows you to specify a path
  to be searched for dynamic libraries at run-time.

- DDD Makefiles are now GNU standards-compliant and generated by automake.

- DDD Makefiles use libtool for generic shared library support.

- A bad dependency on $(SHELL) in the Makefile has been fixed.  This
  caused unnecessary calls of flex and bison in the distribution. (9)

- A bad wildcard use in the Makefile has been fixed. (3)

- A compilation problem in `PannedGE.C' with some GCC variants has been fixed.

- DDD now compiles cleanly even with `gcc -Wwrite-strings'.  This
  avoids several warnings/errors on C++ compilers other than GCC. (1)

- The `--configuration' option now gives more information about the
  compiler being used to compile DDD. (1)

- ddd.texi rules in the Makefile have been fixed. (4)

- The release includes the `libiberty' and `readline' packages as of GDB 5.0.


License
-------

- All remaining parts of DDD that used the GNU Library Public General
  License (LGPL) have been changed to use the GNU General Public 
  License (GPL) instead.

- The DDD Manual is released under the new GNU Free Documentation License.


Tracking Code Changes
---------------------

- This release no longer includes `ChangeLog' files.  Instead, you can
  directly access old and recent DDD versions (including a list of all
  changes) via the public CVS interface at

      http://sourceforge.net/projects/ddd/

- You can also download most recent DDD versions from the public CVS
  interface.  See the file `README-CVS' in the CVS archive for details.


Acknowledgments
---------------

Thanks to: 
    (1) Arnaud Desitter <arnaud@nag.co.uk>
    (2) Hiro Sugawara <hiro@lynx.com>
    (3) Yann Dirson <Yann.Dirson@france.sun.com>
    (4) H. Nanosecond <aldomel@ix.netcom.com>
    (5) Gary Cliff <gary.cliff@cdott.com>
    (6) Danny Van Elsen <Danny_Van_Elsen@village.uunet.be>
    (7) Philippe Midol-Monnet <Philippe.MIDOL-MONNET@airbus.aeromatra.com>
    (8) Felipe Rivera <felipe@informador.com.mx>
    (9) Thomas Anders <anders@hmi.de>
   (10) Colin <cbyh@yahoo.com>


DDD 3.2.1
=========

DDD 3.2.1 brings some minor bug fixes and major LessTif bug workarounds.

- [LessTif] Helpers (such as uncompressing the DDD manual) work fine.
- [LessTif] The `Print' dialog (esp. printing to file) works fine.
- [LessTif] Restarting DDD (while saving settings) works fine.
- [LessTif] Small fixes for building with LessTif on SGI.
- [Perl] In the data display, Perl hash keys are properly quoted.
- [Ladebug] More Ladebug variants are supported.
- [Ladebug] `Edit -> Ladebug settings' should work.
- A string pointer error on 64 bit machines has been fixed.
- Minor bugs with clustered displays have been fixed.
- DDD makes more attempts in locating the initial main function.
- DDD PostScript documentation can be printed on multiple pages per sheet.


DDD 3.2
=======

DDD 3.2 brings a new documentation and several minor improvements.


DDD is now a GNU program
------------------------

- Starting with this release, DDD is an official GNU program,
  distributed by the Free Software Foundation.  This brings a number of
  administrative changes:

  * DDD is distributed as source only using GNU FTP sites and mirrors.
  
  * The DDD WWW page is now `http://www.gnu.org/software/ddd/'.
  
  * The DDD mailing addresses are now `bug-ddd@gnu.org' (for bug reports) 
    and `ddd@gnu.org' (for announcements, discussions, or anything else).
  
    You can subscribe to these lists by sending an e-mail to
    `bug-ddd-request@gnu.org' and `ddd-request@gnu.org', respectively.

  The old mailing list addresses are now just aliases for the new ones.


Documentation
-------------

- There is a new DDD manual, generated from Texinfo source, and coming
  in HTML, PDF, PostScript, Info, as well as plain text format.


Debuggers and Languages
-----------------------

- This release contains partial support for the Compaq/DEC `Ladebug' debugger.
  Please send in bug reports listing remaining problems.

- Parsing of JDB data has been improved.

- DBX prompts for object file names are recognized.


User Interface
--------------

- `Breakpoint Properties', `Define Command', and `Debugger Settings'
  have an `Apply' button that applies changes to text fields.

- In TTY mode, you can edit and complete the command line as in GDB.
  (Uses GNU readline library.)

- Ctrl+E moves the cursor to the end of the line.  For a `Run'
  shortcut, use F2/F3 or Shift+Ctrl+E.

- DDD uses the locale as specified by the environment (such as $LANG).
  This allows input of locale characters in DDD dialogs; error
  messages may also come up in your locale.  If you experience any
  problems, set LANG=C when invoking DDD.


Plotting
--------

- If you have several indexed variables in a cluster (such as X[1],
  X[3], and X[5]), DDD plots the cluster as 2-D plot, where the X axis
  shows the index, and the Y axis shows the values.  This is useful for
  plotting array slices (see below).


Source Navigation
-----------------

- Using GDB, `Open Source' no longer automatically reads all shared
  libraries of the debuggee; this took too much time with some programs.
  There is an additional button that loads libraries.


Data exploration
----------------

- You can rotate structs, saving space by omitting the member names.
  A rotated struct looks very much like a horizontal array.

- The last rotation setting is used for new displays and is saved
  together with other DDD options.

- Array slices `ARRAY[FROM..TO]' are much better supported:
  * By default, the displayed values are clustered and displayed like an 
    ordinary array.
  * Array slices can be plotted, too (see `Plotting', above).

- You can use the FROM..TO notation in arbitrary values, and also multiple
  times; `graph display 1..5 * 1..5' creates a multiplication table.

- To select multiple displays, it suffices that the selection rectangle
  touches a display (rather than enclosing it entirely).

- The Display Editor has buttons for clustering and unclustering displays.


Running the Program
-------------------

- Breakpoint commands are also supported for DBX, Perl, and XDB.

- In Perl, DDD supports temporary breakpoints.


Settings
--------

- DDD saves the GDB source directory path with the current session.

- DDD saves the JDB class path only with the current session.

DDD 3.2 also incorporates all improvements and bug fixes from earlier releases.

For older news, see the file `NEWS-OLD' in the DDD distribution.

$Id: NEWS,v 1.531 2001/01/26 09:24:09 zeller Exp $
