3.0.0 01may06 Initial release after promotion from 1.3.86 in order to reduce confusion with 2.x series. Added user's manual pdf file to distribution in doc/. Added vertex and rtlbrowse for sourcecode annotation. 3.0.1 09may06 Automatically add extensions to save filenames in gtkwave. Cygwin compile fixes. Add Cygwin functionality for fork() related ops that do in fact work properly. 3.0.2 09may06 More fixes for full function (except pthreads) in Cygwin. Requires usage of Cygserver if rtlbrowse is to work. Fixed fonts for Cygwin to improve readability. The Courier font is very bad looking and blitter mangled under cygwin. 3.0.3 29may06 Changed yylineno references in vlex.l in rtlbrowse to my_yylineno as newer versions of flex automatically define this and cause duplicate symbols. Saw there were still problems with courier on debian. Also check for misc-fixed on non-cygwin systems just in case. 3.0.4 30may06 Added busy watch (hourglass) for long ops that lock the GUI. Fixed replace function in treesearch_gtk2 so it doesn't simply replace with the last signal. (Iterator shouldn't be used the way it was.) 3.0.5 08jun06 Reworked tree structure code to handle new tree layout such that strings are embedded at the end of struct. This reduces memory usage overall. Added in implicit hierarchy split on pipe character in symbol names as these only really happen in netlists that have escaped identifiers. For vzt and lxt2 loaders added block allocation of symbols and nodes during init in order to allow denser memory allocation as the bookkeeping overhead between allocations internal to malloc() is unnecessary as the number of elements is known at the outset. Also removed hashing in aet2, lxt, lxt2, vzt as sym[hv] is unused on sorted facs. Removed unnecessary strlen() calls after sprintf() in the dumpfile loaders as the string length is known from the rc of sprintf. Fixed T_SCOPE rule in vcd.c as dotted hierarchies would throw off the parser as hierarchies themselves are (in practice) never really escaped. In tree.c, treenamefix() would recurse more than necessary such that some dotted hierarchies would cause an order of n squared recursion and as such never complete running due to the size of the hierarchy. Found non _2 versions of memory allocate/free being used in various non-library places. Fixed signal aliasing problems in GHW traces that have memories or aliased signals in ghw.c. Added handling for e8 datatypes and arrays in ghwlib.c and ghw.c. Updated ghwlib.c and main.c in order to handle gzip or bzip2 compressed files. Extension can be .ghw, .ghw.gz, or .ghw.bz2 and the file will be handled properly. Note that as the matchword is consulted, just .ghw can be used to specify a gzip or bzip2 file implicitly. Added ghwdump and ghwdump.1 to the distribution (from ghdl) as it is helpful for debugging ghw file failures. 3.0.6 14jul06 Added "Real" option for data type display as passing around real numbers in Verilog across modules needs to be done with $realtobits and $bitstoreal. Added scripting command flag --script in order to allow autosetup of things that are outside of config file control. This also allows doing things such as automated print jobs. Added --nowm to remove window manager control on most windows the viewer brings up. Added --xid to allow turning the viewer into a plug-in for calling by foreign applications. This will allow integration of the viewer into a single window for example, with IDEs. Added --nomenus to remove menus for the case when used in conjunction with --xid and it is desired to create an embedded wave viewer applet that cannot initiate file I/O on its own. Note that earlier versions of GTK+ cannot handle menu events properly from a GtkPlug. Fixed problem with dead memory allocations for GtkColor structs in color.c as found by Valgrind. Moved .odt version of the user's guide into doc/ rather than the pdf version as this is a sourcecode distribution so the original word processor document should be there. The .pdf will still be up on the homepage on the website. Added example script (for use with the -S option) in the examples/ directory that prints some waves then exits. Found problem with directive-based string embedding in older gcc compiler versions. GTK+-1.2 doesn't handle GtkPlug. 3.0.7 17jul06 Added support for dualview of waveforms using GtkPlug and shared memory IPC through use of the "twinwave" front end. Updated documentation to add a section on twinwave. 3.0.8 04aug06 Modified order of flags in twinwave as appending flags does not work when longopt isn't used. Subscripted GtkItemFactoryEntry menu_items for AIX compile. More AIX fixes such as conditional alloca.h usage and not including getopt.h. Removed unused "bus" element from struct fac. Added interactive loading of vcd files with the routines in vcd_partial.c. Added shmidcat to the distribition to test this new interactive loading functionality. Added real_parameter vartype (Riviera Aldec 2006.6) in all vcd loaders. 3.0.9 10aug06 Fixing compiler warnings across various systems. Minor speedup in sigcmp() in bitvec.c for EOS detection. Fix in vcd_partial.c loader that crashed on interactive loads when blank traces are present in the save file. 3.0.10 13aug06 Found inadvertant 64/32 bit conversion in regex.c that was from not including "debug.h" header file. Missing headers for gcc-3.2.x and earlier dealing with select(). Converted fgetmalloc() to use vlists in order to cut down on the backflips and traversal required for the old one character per struct method. Added VCD recoder that stores the VCD in memory using a new recoding scheme rather than histents. HistEnt structs are created as needed. The old VCD loader is still used for --interactive, or if --legacy is used at the command line. Added dynamic zlib compression support to VCD recoder and vlist_compression_depth rc variable. -1 disables, 0-9 mirror zlib compression depths.