			Java Electric change log

NOTE: Please place changes under the version that will be released next.

************************* END OF Version 8.02, GNU RELEASE *********************************
************************* Version 8.02q: Released 7/1/05 *********************************

BUG: (07/01/05, DN) When duplicationg a cell the arc's head and tail settings are swapped (Bug #423).
FIX: In Cell.copyNodeProtoUsingMapping and NodeInst.replace swap head and tail.

IMP: (06/30/05, GVG) First version of 3D manual.

BUG: (6/30/05, GVG) Exception in DesigRulesTab during initialization of selectedFoundry.

BUG: (06/30/05, SMR) Cell names can have spaces in them (Bug #419).
FIX: Disallow spaces in Cell.lowLevelPopulate().

IMP: (06/30/05, GVG) Check first if Java3D is available in the machine before opening jd3 class.

IMP: (06/29/05, GVG) 3D submenus in HelpMenu (3D view plus demo).
     Added trim() in ManualViewer in case blanks are found after chapter name in toc.txt
     Started 3D folder in manual.

BUG: (06/29/05, SMR) Cannot mention "bugzilla" in released version.
FIX: In ActivityLogger.java, removed mention of "bugzilla" for released versions.

IMP: (06/28/05, GVG) Reorganizing again JMF and Java3D classes to create different plugins

BUG: (06/29/05, SMR) Cross-library copy doesn't copy schematic when icon gets copied (Bug #408).
FIX: Made cross-library copy more sensible: "copy subcells" always forces "copy all related views",
     copies schematic if icon gets copied recursively.

************************* Version 8.02p: *********************************

BUG: (06/28/05, GVG) DRC resolution check for active arcs must be done before they are cropped.
FIX: Move resolution code before Quick.cropActiveArc() in checkArcInst.

BUG: (06/28/05, SMR) Autorouting reports arcs that it does not create (Bug #413).
FIX: In AutoStitch.runAutoStitch(), only ignore wires that are already directly connected.

BUG: (06/28/05, SMR) Pad frame generation handles "gap" incorrectly (Bug #412).
FIX: Cleaned-up code.  Also now use "cell" instead of "facet" in array file.

BUG: (06/27/05, SMR) "Select all" should not select the cell center because
     it is never desired, and often causes unexpected results.
FIX: Disallow selection of cell center in "select all".

BUG: (06/27/05, SMR) Grid doesn't display when editing down-in-place (Bug #411).
FIX: Fixed grid code to handle in-place orientation.

IMP: (06/28/05, GVG) Pref.exportPrefs(String fileName) public again due to the regressions.
Menu name change: new: Window->3D Window-> 3D View, old:Window->3D View->3D Window

IMP: (06/28/05, GVG) Moving Sun's proprietary to JMFAndJ3D plugin (ex JMF plugin).
     3D axes are only available if JMFAndJ3D plugin is available.
     Same for J3DQueryProperties.queryHardwareAcceleration function.
     Changes in build.xml to create JMFAndJ3D jar.

BUG: (06/28/05, GVG) Previous bug fix for "Repeat Last Action" didn't work (Bug #246).
FIX: Solution based on menu name.

IMP: (06/28/05, GVG) J3DAxis using previous code with cylinders and cones.

BUG: (06/27/05, GVG) Bug fix for #395 (DRC error not reported by Electric but reported by Cadence)
FIX: Electric was not detecting violation on via/cut sizes. They must be of certain value.
     Refactoring of DRCRules to store those name rules.

BUG: (06/27/05, SMR) SDI mode doesn't show icons on messages window.
FIX: Added icon in SDI mode.

BUG: (06/27/05, SMR) Editing alternate views doesn't warn if the view is missing.
FIX: Fixed code in ViewMenu.java.

BUG: (06/25/05, SMR) Compactor doesn't compact properly.
FIX: In PolyBase.getBox(), allow "CROSSED" polygons to be boxes.

BUG: (06/27/05, DN) ELIB reader reads incorrecly schematic cell with layout
     subcell (Bug #405).
FIX: In ELIB.spreadLambda fix lambda only in icon subcells of schematic cells.

IMP: (06/24/05, GVG) Refactoring DesignRulesTab to re-use part of the dialog in
     TechEdit.

IMP: (06/24/05, SMR) Added Javadoc comments.

IMP: (06/24/05, SMR) Changes to the technology in the "layers" tab of the side
     bar changes it everywhere.

IMP: (06/24/05, SMR) Redid "Node Properties" dialog to remove unneeded controls
     at bottom.

IMP: (06/24/05, GVG) Getting rid of those WARNING (312) and WARNING (408)
     introduced by latest changes in output/GDS (when layer numbers were
     introduced). This causes failures in regressions (increment in number of
     errors).

BUG: (06/24/05, GVG) ESC still moves instance even if it has been looked.
FIX: Adding -1 as valid option for in CircuitChanges.cantEdit() dialog (Bug #404)

IMP: (06/24/05, GVG) Adding setCIFOutMergesBoxes(true) into GateRegression so it
     won't complain about min resolution for center points.

BUG: (06/24/05, GVG) While fixing DRC bug #312, appeared new candidates for min
     defect cases however they have to be ignore because they come from different
     cell instances and Geometric.objectsTouch(nGeom, geom) should be skip.
     Noticed by Bug #383.
FIX: Use parameter sameInstance in Quick.badBoxInArea()

BUG: (06/23/05, SMR) Silicon compiler places wells wrong.
FIX: Fixed Maker.

BUG: (06/23/05, SMR) "Peeking" doesn't always work.
FIX: In "PixelDrawing.expandedCellCached()" must call "drawCell()" with proper
     bounds.

BUG: (06/24/05, DN) Old IO regressions have errors concerning text descriptors.
FIX: In Export constructor and ImmutableTextDescriptor constructor canonize
     descriptors.

BUG: (06/24/05, DN) Reading a library causes an exception (Bug #398)
FIX: "io.input.ELIB.getArcEnd" saves MessageLog in a private fields
     "getArcEndError".

IMP: (06/23/05, RK) Add NCC regression tests for Global Partition

IMP: (06/23/05, RK) Add modified heater to NCC regression

IMP: (06/23/05, RK) For netlist errors, save NccGlobals so IvanM can report
     errors

BUG: (06/23/05, GVG) Problem to detect min size if elements were touching other
     nodes of the same layer (wells in Bug #396). The code was checking only one
     direction (X or Y)
FIX: Function to iterate along all possible directions (X, Y).

IMP: (06/23/05, GVG) Refactoring of DRC supporting classes for DesignRules tab. More changes in DesignRules tab

BUG: (06/23/05, SMR) CDL output writes include statements (Bug #387)
FIX: Ignore subcircuit overrides when writing CDL.

BUG: (06/23/05, SMR) Cannot connect "Simulation Probe" nodes
FIX: Make them have universal connectivity.

BUG: (06/23/05, DN) Arc properties not preserved when using Duplicate (Bug #391).
FIX: In ArcInst.copyConstraintsFrom assign newBits ti userBits.

BUG: (06/23/05, DN) Network module complains on unconnected pin in GEM and EFIDO
     technologies.
FIX: Don't check in cells with these technologies (NetCell.makeDrawns).

IMP: (06/22/05, GVG) DRC: Sweep as default algorithm. Capacitance demo out of 3D
     menu.  List Layer Coverage on Cell moved to DRC menu. Ability to abort
     coverage job (Bug #389).  Same printing for List Coverage on Cell and Check
     Area Coverage.

IMP: (06/21/05, SMR) Improved waveform window titles.

IMP: (06/21/05, SMR) Improvements to "Design Rules" tab.

IMP: (06/21/05, SMR) Added commands for curved arcs.

IMP: (06/21/05, GVG) RPO resistors in 90nm technology

BUG: (06/20/05, GVG) Displaying DRC error in wrong window frame while checking
     min defects (Bug #383)
FIX: Carrying down into the hierarchy the cell which triggered the checking.

IMP: (06/20/05, SMR) Changed "Design Rules" preferences to handle multiple wide
     rules.

BUG: (06/20/05, SMR) "Make Selected Easy" and "Make Selected Hard" commands
     crash.
FIX: Put them in a job.

IMP: (06/20/05, GVG) Moving foundry pulldown menu and output resolution text field to DesignRule tab

BUG: (06/18/05, SMR) Compaction spreads circuits apart.
FIX: Better algorithm for moving lines.

IMP: (06/17/05, SMR) Antenna check now aborts cleanly (Bug #382).

BUG: (06/20/05, RK) NCC hierarchical with size checking fails to compare top
     level cells (Bug #384)

IMP: (06/20/05, RK) NCC confuses the user for an unusual situation (Bug #385)

IMP: (06/19/05, DN) Warning in ElectricObject.findKey about possible change to
     CaseSensitive search in future versions.

IMP: (06/18/05, GVG) Refactoring describe() functions and using toString() in
     more places.

BUG: (06/18/05, GVG) Exception in parasitic tool for AND gate if network is null
     in port (Bug#377)
FIX: Skipping the layer if is diffusion.

BUG: (06/18/05, DN) JELIB reader doesn't connect mismatched arc to dummy pin.
FIX: In io.input.JELIB.figureOutPortInst assign dummy node to "portNI".

BUG: (06/18/05, DN) DebugMenus|JonG|DescribeProtoVars causes exception on
     PrimitiveNodes.
FIX: Add "if (ni.getProto() instanceof Cell)".

IMP: (06/17/05, GVG) Ability to select "scalable" transistors again.

IMP: (06/17/05, GVG) 3D View back under WindowMenu.

IMP: (06/17/05, GVG) Methods to extract DRC rules for preferences tab.

BUG: (06/17/05, SMR) Status bar clips bottom of component menu (Bug #381).
FIX: In StatusBar constructor, set "fieldHierCoords" to be a non-null string.

IMP: (06/17/05, SMR) Removed "Show Special Transistors" from "mocmos" part of
     "Technology" preferences.

IMP: (06/17/05, SMR) "Align to Grid" now moves pins and grid-aligns arcs better
     (Bug #360).

IMP: (06/17/05, SMR) Manual being updated (Bug #379).

IMP: (06/17/05, SMR) Preferences dialog now has "Help" button to take you to
     proper manual page (Bug #378).  Removed "help" button in Logical Effort tab.

IMP: (06/16/05, SMR) Fixed the color/pattern panel of the "Artwork Appearance"
     command and "Layers" Preferences to automatically set Displayed "Use Stipple
     Pattern".

IMP: (06/16/05, SMR) Refactored the Assura DRC error reader to be in the DRC
     tool.

IMP: (06/16/05, SMR) When GDS changes the library name, a warning is issued.

IMP: (06/16/05, SMR) Cleanup for Javadoc.

IMP: (06/16/05, GVG) Out check resolution moved from CIF I/O to DRC (Bug #362)
     Side effect: code in CIF.java commented out, left only CIF format resolution
     (Bug #365)

BUG: (06/16/05, DN) Bit "isParam" on NodeInst variables remains set even there
     is no more corresponing parameter on the parent Cell.
FIX: Don't store "isParam" bit on instance variables. Variable.isParam is
     claculated.

BUG: (06/16/05, DN) Factory preferences for text attributes are incorrect.
FIX: In TextDescriptor.DescriptorPref constructor cast "initialSize" to long.

BUG: (06/15/05, SMR) Busses and wires cause Schematic DRC when they cross (Bug
     #376).
FIX: In tool.drc.Schematic.checkPoly(), allow this combination to cross.

BUG: (06/15/05, DN) Show network problems (Bug #371)
FIX: In "NetworkTool.getNetworksOnPort" use "pi.getConnections".

IMP: (06/15/05, SMR) CIF output has no check for user resolution check, and
     always checks for minimum CIF format resolution (Bug #365).

IMP: (06/15/05, SMR) "Select Object" now allows multiple selections (Bug #370)

IMP: (06/15/05, SMR) Conversion of a technology to a library twice now disallowed
     (Bug #373)

IMP: (06/15/05, SMR) Technology editor handles stretching rules properly (Bug
     #374)

BUG: (06/14/05, GVG) Select surround not working properly in hierarchy (Bug
     #353).
FIX: Precision problem while checking if point is at the corner of a rectangle.

IMP: (06/14/05, GVG) New tileNot layers (1 for each metal, OD and poly) in TSMC90
     technology (Bug #354) Stipple patterns in such way they won't completely
     cover other tileNot nodes. The rest of the graphics is inherited from
     corresponding metal/active/poly layer.

BUG: (06/13/05, GVG) Layers dialog should come up in current technology (Bug
     #367).
FIX: Extended PaletteFrame.autoTechnologySwitch for LayerTab and moved to
     WindowFrame class

BUG: (06/13/05, DN) Some changes are not undoable yet. They don't cause saving
     library.
FIX: Undo.otherChange() method to mark library for save.

IMP: (06/13/05, DN) When writing ELIB/ReadableDump, round arc angle to nearest. 

IMP: (06/12/05, DN) lowLevelAllocate/lowLevelPopulate methods removed from
     "ArcInst" and "Export".

BUG: (06/12/05, DN) Sometimes "LibDirs.LibDirFileSystemView.getFiles" causes
     "ClassNotFoundException".
FIX: Create factory method "LibDirs.newLibDirsFileSystemView".

IMP: (06/12/05, SMR) Displaying transparent layers for a technology other than
     the current one displays a warning that the layers may not have been drawn.

************************* Version 8.02o: *********************************

BUG: (06/15/05, SMR) Technology editor fails to determine rules (Bug #374)
FIX: Round values so that numeric instability doesn't happen.

IMP: (06/15/05, SMR) "Select Object" now allows multiple selections (Bug #370).

IMP: (06/15/05, SMR) CIF output always checks for minimum resolution of CIF
     format (Bug #365).  CIF Preferences now use resolution value to decide
     whether to check (nonzero to check).

BUG: (06/15/05, SMR) Converting a technology to a library twice crashes (Bug
     #373).
FIX: Disallow second conversion.

IMP: (06/10/05, SMR) Can now import "GDS map" files to set layer associations
     (Bug #355).

IMP: (06/10/05, SMR) GDS now uses a "type" with each layer number (Bug #356).

BUG: (06/10/05, SMR) Spice output writes lower-level cells when upper-level ones
     have model file overrides (Bug #358).
FIX: Added model file overrides to the things checked by "skipCellAndSubcells()".

BUG: (06/10/05, GVG) Expection in NodeInst.findPortInstFromProto if index is
     invalid (Bug #359)
FIX: Make sure index is in the valid range and returns null otherwise.
     Side effect: extra code in Export.java to prevent exception if pi == null.

BUG: (06/09/05, GVG) Exception while generating eps from waveform (Bug #361)
FIX: After refactoring of Technology.getShapeOfNode, wnd can be null and then
     direct access of wnd.getVarContext() will generate the exception.

IMP: (06/09/05, GVG) Move area coverage tool under DRC menu

IMP: (06/09/05, JKG) Added command Tools->Cadence->Import Assura DRC Errors.

BUG: (06/9/05, GVG) Overlap not checked correctly when node was in a subcell (Bug
     #352)
FIX: TSMCRules.getRule() was not getting the correct min size for default case.
     This was probably introduced while introducing length to wide condition for
     TSMC90.

BUG: (06/9/05, GVG) Checking geometries against themselves under certain
     condition (discovered while fixing Bug #352)
FIX: In Quick.badBoxInArea(), skip case when they are in the same cell.

IMP: (06/9/05, GVG) Improving error message when you try to reopen a library (Bug
     #347)

IMP: (06/9/05, GVG) New values for DRC Rules 30.1, 30.2 and 30.4 in MoCMOS.
     Old values: 4,4,8. New Values: 5,5,10  (Bug #357)

BUG: (06/09/05, DN) Network.getExports() returns no Exports for a Network (Bug
     #351)
FIX: Add loop for busses.

IMP: (06/07/05, SMR) Added controls to "Color preferences" to control the
     waveform window colors.

BUG: (06/06/05, SMR) PSpice output cannot handle "gnd" signal or "@" in names.
FIX: Use "0" for ground, convert "@" characters.

IMP: (06/07/05, DN) Refactoring: joined together ArcProto and PrimitiveArc
     classes.

BUG: (06/06/05, SMR) Selecting a variable in the "Attribute Properties" dialog
     may change it.
FIX: In Attributes.showSelectedAttribute(), set "loading" before changing the
     "value" field.

IMP: (06/05/05, DN) Persistent data of NodeInst is moved to ImmutableNodeInst
     class.

BUG: (06/05/05, DN) Sometimes EPoint has coordiante -0 (HotSpot optimezer).
FIX: Compare coordiante with "-0.0" instead of "0" in EPoint.

IMP: (06/05/05, DN) FlagSet class is no longer used and it is removed.

BUG: (06/05/05, DN) Grid alignement option "0" should disable alignemnt.
FIX: In EditWindow fix "gridAlign" methods.

IMP: (06/05/05, DN) JELIB output writes now "P" bit ("isParam")from database

IMP: (06/03/05, SMR) Added generic versions of the purple/red/orange libraries.

IMP: (06/01/05, SMR) First implementation of ALS simulator.

BUG: (05/30/05, SMR) Rigid arcs don't propagate hierarchically.
FIX: In Layout.java, use two change values on nodes: size-changed and
     position-changed.

BUG: (05/30/05, DN) TextDescriptor sometimes get wrong "isDisplay" bit in JELIB
     reader.
FIX: Make separate "parsedDescriptor" caches for onVar and non-onVar descriptors.

IMP: (05/27/05, SMR) The "Artwork Appearance" dialog now affects all selected
     artwork objects.

IMP: (05/27/05, SMR) PSpice output can now be read.

IMP: (05/27/05, SMR) Added ArcSim simulation deck generation.

BUG: (05/26/05, DN) Can't change attribute text size (Bug #346)
FIX: In TextAttributesPanel.java use td.seyDisplay instead of var.setDisplay.

IMP: (05/26/05, SMR) Fixed multi-cut code.

IMP: (05/25/05, RK) NCC: add regression tests for native thick oxide NMOS

IMP: (05/25/05, SMR) Added multi-cut code.

IMP: (05/25/05, SMR) Schematic DRC now allows arcs to cross over icons.

BUG: (05/25/05, DN) Text options are incompatible after changes.
FIX: Method "TextDescriptor.DescriptorPref.swap" as a temporary fix.

BUG: (05/25/05, DN) Font is not properly read after last changes.
FIX: In "Library.DiskVariable.makeVariable" use "getName" instead of "toString".

IMP: (05/24/05, SMR) Improved component menu colors when nonstandard colors are
     used.

IMP: (05/24/05, SMR) Library names in the explorer tree are shown in bold when
     the library has changed (Bug #326).

BUG: (05/24/05, SMR) Verilog deck generation writes names that start with digits
     (Bug #338).
FIX: Prepend a "_" to symbols that start with a digit.

IMP: (05/25/05, DN) "regression/tools/gateLayGen/scripts/mocmosDrc.bsh" and
     "regression/tools/IO/scripts/*.bsh" are refreshed.

IMP: (05/25/05, DN) TextDescriptor now keeps "isDisplay" and "Code" fields also.
     "Variable.flags" field removed.ImmutableTextDescriptor is used in database.
     Additional versions of "ElectricObject.newVar" added:
     "newVar(key,value,td)" creates variable with specified descriptor.
     "newVar(key,value,boolean)" creates either displayable or non- variable.
     "newDisplayVar(key,value)" creates displayable variable.
     "newVar(key,value)" creates non-displayable variable (as earlier)
     Warning: "Variable.setTextDescriptor(td)" now changes "isDisplay" and
     "getCode".

IMP: (05/24/05, GVG) Extra M5M8 contact in TSMC90 for CMP foundry

IMP: (05/24/05, RK) NCC, Bug# 339: Add I/O 25, 33 transistors. Modify regressions
     to test. Wait to add Native 18, 25, 33 NMOS to regressions until Lexau adds
     these to Orange library.

BUG: (05/19/05, SMR) New windows appear with their contents too small.
FIX: In WindowFrame.createEditWindow(), get proper window size.

BUG: (05/23/05, GVG) Fix for DRC bug #312 (didn't detect small feature)
FIX: Check small feature even if polygons are connected.

IMP: (05/23/05, GVG) New size for native transistors

BUG: (05/23/05, GVG) Motion indicator in tool bar set wrongly on startup (Bug
     #337)
FIX: There was no setup in ToolBar, changes in EditMenu didn't change ToolBar
     values and changes in GridAndAligment didn't change ToolBar/EditMenu
     buttons.

BUG: (05/23/05, GVG) TSMC90 layers not in the correct order (Bug #336)
FIX: Error in TSMC90.getContactFunction().

BUG: (05/20/05, GVG) DRC doesn't detect overlap between PWell/NWell when nodes
     are connected (Bug #333)
FIX: Transform UCONSPA into SPACING rule (TSMC90: NW.S.0, MoCMOS: 1.4

IMP: (05/19/05, SMR) Mirroring (in the commands and in the Node Properties
     dialog) is now described in terms of "left <-> right" and "up <-> down"
     (Bug #327).

IMP: (05/19/05, SMR) Intelligent placement of duplicate copies when "move after
     duplicate" is not checked.

BUG: (05/19/05, SMR) Highlighting an export on the example icon doesn't show all
     of the equivalent nodes.
FIX: In Highlight.showHighlight(), include the node with the real export.

BUG: (05/19/05, SMR) HSpice waveform plotting doesn't handle amperage right
     (signals that start with "I(") (Bug #303).
FIX: In HSpiceOut.readTR0File(), expand numbers when they start after the "(";
     move the "(" to the last symbol.

IMP: (05/19/05, SMR) Automatic icon generation now makes thick black icons, not
     thin red ones.

IMP: (05/19/05, SMR) Technology editor can now create octagonal shapes.

IMP: (05/18/05, SMR) Changing one node to another will adjust arcs in simple
     situations instead of adding jogs (Bug #321).

IMP: (05/18/05, SMR) Can now switch the side bar to the right side (in General
     Preferences, too).

BUG: (05/18/05, JKG) LEPARALLGRP problem with keepers (Bug #320)

BUG: (05/18/05, SMR) Deleting a node that has internal arcs (arcs connected from
     one port of the node to another of the same node) causes errors (Bug #315).
FIX: In CircuitChanges.eraseNodeInst(), use a HashSet to ensure no duplication of
     arcs to delete.

BUG: (05/17/05, SMR) Undoing a change that affects cell bounds leaves instances
     of the cell wrong.
FIX: In Undo.Change.reverse(), reevaluate instances of cells whenever undoing
     changes to contents. A detailled explanation is given in the NODEINSTMOD
     case.

BUG: (05/13/05, SMR) MOSIS CMOS pins drawn incorrectly (Bug #322).
FIX: In MoCMOS.getShapeOfNode(), change the method on the last line from
     "computeShapeOfNode" to "super.getShapeOfNode"

BUG: (05/18/05, DN) NetworkTool doesn't work with NOTHREADING=true (Bug #310)
FIX: Add check on NOTHREADING in NetworkTool.getNetlist.

BUG: (05/17/05, GVG) Explorer not updated when open new library (Bug #319)
FIX: Add WindowFrame.wantToRedoLibraryTree() in FileMenu.openALibrary.

IMP: (05/15/05, SMR) CIF and GDS output merging now works.

IMP: (05/16/05, SMR) Removed multithreaded DRC and Dracula interface from DRC
     preferences.

BUG: (05/16/05, SMR) Cross-library copy may get cell sizes wrong (Bug #314).
FIX: In ArcInst.lowLevelSetUserbits(), must update arc extent if end extension
     changes.

BUG: (05/16/05, SMR) Changing an arc (with its nodes) from one layer to another
     doesn't work if there are exports on the pin nodes (Bug #317).
FIX: In Change.replaceAllArcs(), allow exported pins, and move the exports to the
     new pins.

IMP: (05/16/05, SMR) Further changes for Project Management.

IMP: (05/13/05, JKG) Display LIBDIRS file in Open library dialog as if they
     were part of the current directory.

BUG: (05/13/05, JKG) LIBDIRS did not look for LIBDIRS file in directory
     user was opening libraries from.  Fixed. (Bug #313)

************************* Version 8.02n: *********************************

BUG: (05/13/05, SMR) Invisible Pins are drawn too large.
FIX: In Artwork.getShapeOfNode(), and in Generic.getShapeOfNode(), change the
     method on the last line from "computeShapeOfNode" to "super.getShapeOfNode"

IMP: (05/12/05, GVG) GetInfo (menu item) for ErrorLogger: printing number of
     errors and warnings.

IMP: (05/12/05, SMR) Tool cleanup for project management: made all Tools be
     Listeners; made access to singletons use accessor methods; invoke
     "readLibrary()" listener method properly.

BUG: (05/11/05, GVG) Electric loads non-local library when local library is
     present (Bug #309)
FIX: Adding WorkingDirectory as valid path and try it first before the external
     path stored.

BUG: (05/11/05, SMR) Cells with bus pins are the wrong size.
FIX: Restore the "wipeon1or2" flag to Schematics bus pins, then rework the
     sequence of calling "Technology.getShapeOfNode()" so that Schematics
     overrides are not affected by that flag.

IMP: (05/09/05, JKG) LE sizes now stored on top level cell instead of leaf
     instances.

IMP: (05/09/05, JKG) Improved readability of hierarchical path in status bar. 
     Also, path shown for schematics. Also, second row remains visible because
     redraw of window is annoying when second row disappears and reappears.

IMP: (05/09/05, JKG) Added "recently visited cells" list when right-clicking on
     back/forward cell history buttons.

BUG: (05/10/05. GVG) Exception in CIF generation due to latest changes in
     Technology.getShapeOfNode/getShapeOfArc.  In io.output.Geometry, EditWindow
     is always null.
FIX: Using simple passing only Geometric to getShapeOfNode/getShapeOfArc
     function.

IMP: (05/09/05, GVG) Clicking on library on Mac OS set working directory
     extracted from that library (Bug #308)

BUG: (05/09/05, GVG) Cell attributes wrongly copied by Clipboard if a previous
     clipboard copied a cell attribute (Bug #306).
FIX: Include cell attributes in Clipboard cleanup process.

BUG: (05/09/05, GVG) Cut/Paste or Copy/Paste of cell attributes not working (Bug
     #304)
FIX: Extra code in Clipboard to handle cell attributes

BUG: (05/09/05, SMR) Screen redraws too much (Bug #307).
FIX: VarContext information must be passed down the hierarchy by the redisplay
     code, and not stored in the EditWindow.  In addition, the Technology method
     "getShapeOfNode()" must take a VarContext as a parameter, and not obtain it
     from the EditWindow.

BUG: (05/09/05, SMR) Screen is shifted after PostScript output (Bug #301).
FIX: In EditWindow.getBoundsInWindow(), restore scale and offset information
     properly.

IMP: (05/05/05, SMR) Added special "properties" dialogs for schematic components:
     resistor, capacitor, inductor, diode, transistor, and global.

BUG: (05/05/05, DN) Busses with complex names don't associate with exports
     properly (Bug #262).
FIX: Fixed getBusWidth(Nodable,PortProto) in the netlister.

BUG: (05/05/05, SMR) Mimic stitching doesn't preview proper locations (Bug #300).
FIX: In MimicStitch.presentNextSituation(), compute endpoints properly.

IMP: (05/05/05, SMR) Selecting attributes on node and arcs now shows the original
     object (Bug #295).

IMP: (05/05/05, SMR) Selecting a port on the "sample icon" in a schematic now
     shows the entire network connected to that export.

BUG: (05/05/05, SMR) PostScript text is still too large, EPS bounding boxes are
     wrong (Bug #292).
FIX: In PostScript.psText(), reduce the text size by another 10%.

BUG: (05/05/05, SMR) Auto-stitcher crashes on schematic pins (Bug #299).
FIX: In AutoStitch.shapeOfNode(), check for null poly lists.

BUG: (05/05/05, SMR) GDS import fails if pseudo-layers have different GDS numbers
     than regular layers (Bug #297).
FIX: In input.GDS.setLayer(), convert pseudo-layers to regular layers.

BUG: (05/05/05, SMR) Multiple exports with different case may cause a crash
     (Bug #298).
FIX: In Cell.getUniqueNameIndex(), do case-insensitive compares.

IMP: (05/04/05, SMR) Added FPGA technology.

BUG: (05/05/05, GVG) Infinite loop after executing "Repeat Last Action"
     (Bug #246)
FIX: In RepeatLastCommandListener, we ignore actions coming from "Repeat Last
     Action". 

IMP: (05/05/05, DN) JELIB 'R' line can accept either 5 or 7 pieces.

BUG: (05/05/05, DN) Highlighting an off-page connector does not highlight an
     attached bus (Bug #262)
FIX: In Netlist use getBusWidth(Nodable, PortProto) instead of
     PortProto.getNameKey().busWidth().

BUG: (05/04/05, SMR) Schematic busses don't have clean ends;
     wires connecting to busses don't show blobs.
FIX: Better determination of bus pin drawing.

BUG: (05/04/05, SMR) Verilog allows reserved words in its files (Bug #296).
FIX: Check for reserved words and prepend a "_".

************************* Version 8.02m: *********************************

IMP: (05/03/05, GVG) Verbose Redo/Undo: extra message in message window
     (for Tarik).

BUG: (05/03/05, SMR) Spice primitives generate incorrect Verilog output
     (Bug #293).
FIX: In Verilog.writeCellTopology(), ignore cell instances whose prototypes are
     icons.

BUG: (05/03/05, SMR) Reading ELIB files may consume all of memory (Bug #294).
FIX: In input.ELIB.readString(), if a string's length is greater than the
     remaining bytes in the file, flag it as an error.

IMP: (05/03/05, GVG) Adding class to query hardware accelaration for J3D.

BUG: (05/02/05. GVG) Double-click on jelib/elib file doesn't open the library in
     Electric.app (Bug #290)
FIX: Missing code in MacOSXInterface.handleOpenFile.

BUG: (05/02/05, SMR) Explorer tree doesn't remember what is expanded when SIGNALS
     are shown (Bug #283).
FIX: Must remember entire path through tree, not just leaf nodes.

BUG: (05/02/05, SMR) PostScript text is too large, EPS bounding boxes are wrong
     (Bug #292).
FIX: In PostScript.psText(), reduce the text size.

BUG: (05/02/05, SMR) Layer opacity is not remembered (Bug #288).
FIX: In EGraphics.setOpacity(), use preferences.

BUG: (05/02/05, SMR) When a referenced library cannot be found, prompting the
     user gives limited file type choices (Bug #260).
FIX: In LibraryFiles.readExternalLibraryFromFilename(), allow any library file
     extension.  Created new FileType called "LIBFILE" which has all 3 extensions
     (jelib, elib, txt).

BUG: (05/02/05, SMR) PostScript doesn't use stipple pattern setting properly
     (Bug #287).
FIX: In PostScript.psPolygon(), use the layer's printed stipple pattern setting.

BUG: (05/02/05, GVG) Electric not longer remember library context in Cell
     Instance place (Bug #291)
FIX: this case was introduced while fixing Bug #250. Only when selectedLibrary is
     null, then the current library will be taken into account.

IMP: (05/01/05, SMR) Added MOSIS CMOS PLA generator.

BUG: (05/01/05, RK) NCC: improve size mismatch error messages for the case when
     NCC tolerances are configured to zero. Don't round the mismatch amounts if
     rounding would result in the value zero. (Bug# 282)

BUG: (05/01/05, SMR) Readable dump input does not handle old port name
     conversion.
FIX: Added the method input.ReadableDump.findProperPortInst().

IMP: (05/02/05. GVG) Extra work to allow libraries expanded in Explorer view if
     you open them with View->Edit view (Bug# 223).

BUG: (05/01/05, RK) clarify NCC error message. For hierarchical comparison
     specify path relative to current Cell

BUG: (05/01/05, RK) NCC shouldn't blow up if Cell has no wires.

BUG: (04/29/05, GVG) Missing refresh in explorer tree if current library is
     changed (Bug #251, #270)
FIX: Added WindowFrame.wantToRedoLibraryTree() in setCurLibAction().

BUG: (04/28/05, SMR) Expanding or unexpanding cell instances doesn't redraw
     right.
FIX: In CircuitChanges.ExpandUnExpand.doIt(), call
     PixelDrawing.clearSubCellCache().

IMP: (04/27/05, GVG) Modification in mac-app (ant) and Info.plist to get it
     working on Mac OS X.  "command" is deprecated and it was replaced by
     "executable"

BUG: (04/26/05, GVG) Exception in postscript generation if directory is
     write-protected (Bug #289)
FIX: Detect the condition and abort job

BUG: (04/26/05, GVG) Ability to abort PostScript generation (Bug #286)
FIX: Any output call passes Job class in case particular tool wants to monitor
     abort operation.

BUG: (04/26/05, GVG) 3D View: distance and thickness modifications in 3D
     Preferences not reflected in 3D View windows
FIX: Code now handles geometries by reference.

BUG: (04/25/05, SMR) Explorer tree expansion is incorrect (Bugs #269 and #285).
FIX: Only expand to the current library after reading it.

IMP (04/25/05, SMR) When replacing a library, error messages are more clear
     (Bug #255).

IMP: (04/25/05, SMR) HSpice input can now accept files with the extension .tr1, 
     .tr2, ... (Bug #258).

IMP: (04/25/05, SMR) Waveform window now allows dragging of the vertical axis on
     the left (Bug #252).  Waveform window now shows intermediate tick marks
     (Bug #241).

************************* Version 8.02l: *********************************

IMP: (04/22/05, GVG) Alpha control in 3D preferences. Ability to load more than
     one file per capacitance demo.

BUG: (04/22/05, GVG) Bug found in 3D highlight for primitives (original
     appearance not restored).
FIX: Extra class holds the information.
                                                               
BUG: (04/22/05. GVG) Exception in Spice netlist if icon instance has a parameter
     not defined in Schematic (Bug #279)
FIX: Prevent setParam(true) in Examine job (Variable.java:1000)

BUG: (04/21/05, SMR) GDS output writes the year incorrectly.
FIX: In "output.GDS.outputDate()", subtract 1900 from the year.

BUG: (04/21/05, SMR) Adding a signal to the waveform window doesn't show it at
     the same scale as the other signals (Bug #277).
FIX: In WaveformWindow.java, set the scale when creating a new panel.

IMP: (04/21/05, GVG) 3DView creation embedded in Job to abort big examples. 
     Ability to stop creation if number of nodes reached predefined limit (dialog
     with 3 options). Max number of nodes allowed in preferences.  3D Display
     option moved to 3D menu. Fix on axis location.

IMP: (04/20/05, SMR) Improved PostScript output by removing tiny polygons
     (Bug #273).

IMP: (04/20/05, SMR) Exported preferences files have the ".xml" extension.

BUG: (04/20/05, SMR) Arc Properties dialog crashes if not in the Swing thread
     (Bug #272).
FIX: In GetInfoArc.loadInfo(), delay activity if not in the Swing thread.

IMP: (04/19/05, GVG) GetInfo on job running will printing accumulated running
     time.

************************* Version 8.02k: *********************************

IMP: (04/19/05, GVG) Invariant for capacitance extraction for layouts in Spice.

IMP: (04/19/05, JKG) Changed minimum resolution of IRSIM simulations from 10ps
     to 1ps

BUG: (04/19/05, GVG) Crash in 3D View if transistor has more than 2 active
     physical layers.
FIX: Ignore layer if there are already 2 defined.

IMP: (04/19/05, SMR) Added mnemonic characters to the entire menu.

IMP: (04/19/05, SMR) Added technology editor (commands under Edit / Technology
     Specific).

BUG: (04/18/05, GVG) Bug introduced in DRC while extending foundries (Bug #265)
FIX: Detect old style in format (Byte) and then makes the transition.

BUG: (04/15/05, SMR) JELIB output does not always get the type of variable arrays
     if the first entry is null.
FIX: In output.JELIB.makeString(), determine the type of the array, not the first
     entry.

IMP: (04/18/05, DN) Global-Partition schematic primitive is handled by
     HierarchicalEnumerator.  Spice netlister tries to handle it too when
     Spice.USE_GLOBALS = false

BUG: (04/18/05, DN) List Export on Network command causes StackOverflowError
     (Bug #263).
FIX: In "ToolMenu.findPortsUp" don't add "listedExports" HashSet to itself.

IMP: (04/15/05, GVG) GDS ouput still writing text associated to exports even if
     WriteExportPins is off.

BUG: (04/15/05, GVG) Autoadvance flag in IRSIM tab wronlgy set based on
     "resimulate each" flag, no setting of skillGDSNameLimit in Skill tab and
     wrong comparison of globalTextScale in TextTab.

IMP: (04/14/05, GVG) Ability to choose technology while creating a new cell
     (Bug #245)

IMP: (04/14/05, GVG) Changes in TSM90 and DRC to handle multiple foundries
     (ST, TSMC). DRC rules are chosen depending on foundry selected: ST, TSMC, 
     Combined(ST, TSMC). Names/Values for some DRC rules varies according to
     foundry (eg. VT{H/L}_{P/N}.S.2/VT{H/L}_{P/N}.D.2). Added corresponding ST
     rules.  New native thick transistors, RPO, OD33, OD25 nodes. New "forbidden"
     and "combination" rules to handle presence of forbidden nodes for particular
     foundry or combinations of nodes in the same die.

IMP: (04/14/05, SMR) JELIB output now includes full path to references libraries
     only if they are not in the same directory as the main output file (for CVS
     merging).

IMP: (04/14/05, GVG) New 3D axis strategy provided by Java3D team.

IMP: (04/12/05, SMR) IRSIM doesn't crash when reloaded (Bug #247).

IMP: (04/12/05, SMR) "Rename Cell" now defaults to current cell (Bug #250).

BUG: (04/12/05, SMR) IRSIM results are different than other IRSIM implementations
     (Bug #248).
FIX: In Sim.java, include transistors only once.

IMP: (04/11/05, SMR) GDS input and output now handles pin layers correctly.

IMP: (04/11/05, SMR) Added checking in NodeInst.newInstance().

BUG: (04/11/05, SMR) JELIB I/O doesn't handle null pointers.
FIX: New attribute type "X" for null objects.

BUG: (04/11/05, GVG) Wrong scale for schematic capacitors in IRSIM (Bug #249)
FIX: Dividing value by 1e-15 to convert it into Femto units.

IMP: (04/11/05, DN) Global-Partition schematic primitive is handled by
     NetworkTool.  Added method "Netlist.getNetwork(Nodable, Global) to check
     globals of subcells.

IMP: (04/08/05, GVG) Title in default technology frame title in TechnologyTab was
     changed. This required a change in manual.

BUG: (04/07/05, SMR) Technology editing layer bit selection works now (Bug #243).
FIX: In Highligher.findAllInArea(), do not add 0.4 units of slop to selection.

BUG: (04/07/05, SMR) Editing text "in-place" now draws a large enough editing
     area (Bug #236).
FIX: In GetInfoText.EditInPlaceListener.figureSize(), use the logical bounds of
     the glyph.

IMP: (04/07/05, SMR) Explorer window no longer opens to current library when jobs
     change (Bug #244).

BUG: (04/07/05, GVG) GDS export was crashing if non-layout layers were found in
     cell such as art nodes
FIX: Skipping those layers

BUG: (04/07/05, GVG) No writing resistance if value is smaller than minimum in
     parasitics extraction
FIX: Writes 0 instead

BUG: (04/06/05, GVG) Parasitic tool was wrongly ignoring active layers in
     HierarchyEnumator call
FIX: Use correct netlist

BUG: (04/06/05, SMR) IRSIM crashes (Bug #242).
FIX: In Sim.connectTransistors(), use "baseType()" when extracting node type.

IMP: (04/06/05, JKG) Added IRSIM option to use delayed X propogation.
     Implemented delayed X propogation in code.

BUG: (04/05/05, GVG) Coordinates cut off in status bar on Mac (Bug #229)
FIX: Add insets according to platform.

IMP: (04/04/05, DN) Method "TextDescriptor.setParam" removed because
    TextDescriptor is intended to become immutable.

BUG: (04/04/05, DN) When a circular library dependency forbids a new
     instance to be created, it corrupts the database (Bug #237)
FIX: On failure Cell.addNode returns -1 now, which prevents
     NodeInst.lowLevelLink from linking.

************************* Version 8.02j: *********************************

IMP: (04/02/05, SMR) Added "outlined patterned" drawing to PixelDrawing.java.

BUG: (04/01/05, RK) regressions: I removed Compaction regression from run.sh
     because that regression always fails

IMP: (04/01/05, RK) NCC: added regression test for multiple hierarchy scan

BUG: (04/01/05, RK) NCC: CompareList must always have something from both designs

BUG: (03/31/05, GVG) Class exception while dragging cells from ExplorerTree into
     EditWindow on Mac (Bug #235)
FIX: DataFlavor constructor changed. Now using DataFlavor(MyClass.class, String)

BUG: (03/31/05, GVG) Exception in Explorer while dragging on whitespace on Mac OS
     X (Bug #232)
FIX: add image to DragSource.startDrag (only for Mac)

IMP: (03/31/05, GVG) Improvements in lights, transparency/Z buffer handling after
     discussion with Java3D team.

BUG: (03/31/05, GVG) Cell expansion with several sublevels was not working.
FIX: Using rotateOutAboutTrueCenter instead of rotateOut

BUG: (03/31/05, GVG) Exception in output.JELIB if var == null and we are testing
     var.isParam();
FIX: var != null added

IMP: (03/30/05, SMR) Duplicating or copying arcs that share names keeps the
     sharing (Bug #190).

IMP: (03/30/05, GVG) Ability to change color in 3D background.

FIX: (03/30/05, JKG) fix situation where attribute on instance with same name of
     parameter on contents view would incorrectly not be marked as a parameter.

FIX: (03/30/05, JKG) TextUtils.formatDouble() made thread safe

IMP: (03/30/05, JKG) Added checking for conflicting logical effort parameters in
     designs

IMP: (03/30/05, SMR) Placing a large cell instance in an empty window zooms the
     window to fit (Bug #214).

BUG: (03/30/05, SMR) Shift-Right-click to zoom will zoom out if the area is too
     small (Bug #27).
FIX: In ClickZoomWireListener.mouseReleased(), use smarter determination of a
     point-click.

BUG: (03/30/05, SMR) "Duplicate Cell" does not default to the current cell
     (Bug #228).
FIX: In "CellBrowser.performAction()", call updateCellList() in the duplicate
     case.

BUG: (03/30/05, GVG) if tech is set to 4 or less metal layers, TechPalette still
     draws them.
FIX: getNodesGrouped() check notUsed nodes and arc and remove them from original
     matrix.

BUG: (03/29/05, SMR) GDS input doesn't handle orientation of instance arrays
     (AREF)
FIX: Use same method as single instances (SREF).

BUG (03/29/05, RK) NCC: Obtain VarContext from Current Window.

IMP: (03/29/05, RK) NCC: Superficial changes to names, etc.

IMP: (03/29/05, GVG) Icons in technology palette are arranged per layer Z
     position from bottom of the wafer.  "Pure/Misc/Cell" menus are on the top
     and transistors on the bottom. Metal contacts are sorted by lower metal.

IMP: (03/29/05, GVG) Tabs on Mac are aligned on the left (Bug# 226)

BUG: (03/29/05, SMR) Saving new JELIB files doesn't mark the library as "from
     disk", causing subsequent saves to prompt for a file name (Bug #227).
FIX: In output.JELIB.writeTheLibrary(), set "from disk" after saving library.

IMP: (03/29/05, SMR) Explorer tree starts expanded to current library (Bug #223).

IMP: (03/29/05, SMR) User Manual dialog has search built-in (Bug #225).

IMP: (03/29/05, SMR) Added "length" to Arc Properties dialog (Bug #224).

IMP: (03/29/05, GVG) Tabs on Mac are aligned on the left (Bug# 226)

IMP: (03/29/05, GVG) Improvements in resistance/capacitance calculation in
     Parasitic Tool.  Two extra check boxes added: (a) include gate in resistance
     calculation, (b) include gnd network parasitic netlist.

IMP: (03/25/05, SMR) Added HPGL output.

IMP: (03/24/05, SMR) Unconnected nodes that are on the same network as a selected
     node now highlight (Bug #222).

IMP: (03/27/05, GVG) Improvements in 3D directional lights. New defaults: 
     (1 1 -1) (-1 1 -1)

IMP: (03/23/05, SMR) More improvements to IRSIM; refactored "Stimuli" and broke
     out subclasses.

BUG: (03/23/04, GVG) ExportCommand crashed if cell is null (no Bugzilla #)
FIX: return was added to the code

IMP: (03/22/05, SMR) Improvements to IRSIM command files (wildcards, vectors, 
     individual stimuli removal)

IMP: (03/21/05, GVG) First version of resistance calculation

IMP: (03/21/05, GVG) Parasitic values moved to ParasiticTab (out of SpiceTab)

IMP: (03/21/05, RK) NCC: Improve the error message that's printed when one Wire
     matches several wires by Export names.

IMP: (03/18/05, GVG) Changes in ParasiticsTool to handle IRSIM deck generation. 
     It generates so far information for transistors and capacitances.

BUG: (03/17/05, GVG) In DRC introduced while adding new min area strategy.
FIX: merge strategy stored in another place

IMP: (03/18/05, RK) NCC: hierarchical with size checking compares pairs of Cells
     only if each is instantiated exactly once.  Regressions updated to test this
     new functionality.

IMP: (03/16/05, RK) NCC: disambiguate based on MOS lengths in addition to widths

IMP: (03/16/05, RK) NCC qLite regression: remove spurious sizes from
     /data/qLite/modified.

IMP: (03/16/05, GVG) IRSIM will ignore non-fet transistors in schematic (not
     supported by IRSIM sim)

BUG: (03/16/05, GVG) Exception in GetInfo for non FET transistors in schematic. 
     Function getTransistorSize() can't be called.
FIX: get the area value by querying the corresponding attribute in the node

IMP: (03/16/05, GVG) PolyBase.getArea() returns positive value. TransistorSize
     also calculates active length for parasitic calculation.

IMP: (03/15/05, SMR) Added "Global Partition" primitive to the Schematics
     technology.

IMP: (03/14/05, RK) Publish regression/docs/regressions.sxw into archivist

IMP: (03/14/05, SMR) IRSIM and waveform improvements:
     Added "debug", "report", and working "t" commands
     Emitting resistors and capacitors
     Takes circuit information directly from memory without temp files
     Buttons next to "main" and "extension" cursors to center them

IMP: (03/14/05, GVG) First version of movie feature.

IMP: (03/14/05, RK) Modify qLite regression to test NCC black box support.

IMP: (03/14/05, RK) NCC: Add support for black boxes.

IMP: (03/14/05, RK) NCC: Add schematic bipolar transistors.

IMP: (03/11/05, GVG) Ability to turn on/off axes

IMP: (03/11/05, GVG) Cleaning up 3D tab in preferences if j3d is not available. 
     Some 3D options won't be available since they don't have sense if plugin is
     not available. This simplifies code maintenance.

IMP: (03/11/05, RK) Reorganized qLite regression data

IMP: (03/10/05, GVG) Adding ability to turn off/on bounding box associated to
     cells in 3D (Robert)

BUG: (03/10/05, SMR) Deleting circuitry doesn't remove all highlighting
     (Bug #219).
FIX: In CircuitChanges.DeleteSelected.doIt(), clear highlighting when done.

IMP: (03/10/05, SMR) Added PostScript line thickness control to "Print"
     preferences.

************************* Version 8.02i: *********************************

IMP: (03/09/05, GVG) Sweep algorithm in DRC min area checking

IMP: (03/09/05, GVG) New strategy for collision during key navigation (3D)

BUG: (03/08/05, GVG) Wrong transistor names in TechPalette (Bug #218)
FIX: Switch i by j during palette information is collected in MoCMOS.java

BUG: (03/08/05, SMR) "Change" does not preserve arc names (Bug #210).
FIX: In "Change.replaceAllArcs()", use old arc name when creating new one.

IMP: (03/08/05, SMR) "Cross-Library Copy" now remembers the last libraries
     selected (Bug #212).

IMP: (03/05/05, GVG) Axes in 3D View including rotation according to keybehavior
     and color.

IMP: (03/04/05, RK) Added qLite and sport to NCC regression suite

IMP: (03/04/05, SMR) Initial implementation of IRSIM simulator.

IMP: (03/04/05, GVG) First version of fly-through demo for 3D view. Ability to
     save/read demos using serialization. "J3D" as new file type for demo files.

BUG: (03/04/05, DN) Library write crashes (Bug #216)
FIX: In "output.ELIB" "output.JELIB" "output.ReadableDump" write name
     of external library in case it has not file name yet.

BUG: (03/04/05, DN) Network tool didn't renumber after change of name in global
     primitive.
FIX: In "NetworkTool.newVariable" "NetworkTool.killVariable" put
     "setNetworksDirty".

IMP: (03/02/05, GVG) Adding observable-observer pattern to notify changes in
     light color and direction

BUG: (03/02/05, SMR) Transparent color changes are not restored from saved
     preferences (Bug #213)
FIX: In "Prefs.java", must recache technology colors after importing.

IMP: (03/02/05, GVG) Colors used for cells and highlighted nodes in 3D view are
     available as special colors in ColorsTab Transparency is available in
     highlighted nodes (0.5f is the factor).

BUG: (03/01/05, GVG) Arcs in TechPalette got zero area bounding box after
     tail/head changes (Bug 211)
FIX: In ArcInst.makeDummyInstance, calculate bounding box with angle=0

IMP: (02/24/05, GVG) New 3D Menu in menubar if 3D plugin is found. It will
     contain list of 3D demos.

BUG: (02/23/05, SMR) GDS output does not handle polygons with duplicate points.
FIX: In GDS.outputBoundary(), remove duplicate points before writing.

BUG (02/21/05, GVG) ArrayStoreException in NodeInst.replace due to wrong
     allocation of array memory (Bug #206)

IMP (02/21/05, GVG) New version of 3D tab in preferences. It would be a 3D view
     where transparency and colors can be seen if 3D plugin is available. Access
     to 3D transparency factors in preference now.

IMP (02/17/05, GVG) First version of 3D Demo Tool. Few extra classes in j3d
     plugin.  Features: setup of original view angle, two spline interpolators, 
     dialog box to control motion, using node variables to control camera
     viewpoint.

BUG: (02/17/05, SMR) "Properties" windows grab focus inappropriately (Bug #208).
FIX: In EDialog.focusOnTextField()" do not reques focus.

BUG: (02/17/05, DN) Version related methods of Cell causes
     ConcurrentModificationException (Bug #209)
FIX: Synchronize these methods by "lib.cells"

************************* Version 8.02h: *********************************

IMP: (02/14/05, SMR) Added "Windows / Saved Views".

BUG: (02/14/05, SMR) R-tree not correct for arcinsts.
FIX: In ArcInst.lowLevelLink() add the arc to the R-Tree after geometry is
     correct.

BUG: (02/11/05, SMR) Libraries do not read in properly (Bug #203).
FIX: In input.ELIB.realizeArcs(), must compute bounds after bits are set, so
     bounds computation moved from ArcInst.lowLevelPopulate() to
     ArcInst.lowLevelLink().

BUG: (02/11/05, SMR) Zero-length arcs lose their angle information when read from
     ELIB.
FIX: In input.ELIB.realizeArcs(), take angle from the "userbits".

BUG: (02/11/05, SMR) "Properties" dialogs now stay on top in Windows SDI
     environment (Bug #202).
FIX: In EditWindow.paint(), call "requestFocusInWindow()" instead of
     "requestFocus()".

BUG: (02/11/05, SMR) Cross-library copy may not copy all subcells (Bug #200).
FIX: In CircuitChanges.copyRecursively(), when recursing to a related view, 
     supress more related views for the current cell only.

BUG: (02/11/05, SMR) Copying cells doesn't get arcs right.
FIX: In Cell.copyNodeProto(), make sure the end coordinates match the PortInsts.

BUG: (02/11/05, SMR) Verilog templates ignore parameters that have default
     values.
FIX: In Verilog.writeTemplate(), look to prototype if variable is not in
     instance.

BUG: (02/11/05, SMR) Verilog templates include square brackets in output
     (Bug #201).
FIX: In Verilog.writeTemplate(), request that instance names be "bus converted".

IMP: (02/11/05, SMR) "Measure" mode in waveform window now crosses panels.

IMP: (02/10/05, SMR) Can now import/export preferences (Bug #196).

BUG: (02/10/05, SMR) Ascending from a "down hierarchy in place" may display wrong
     (Bug #199).
FIX: In EditWindow.upHierarchy() and downHierarchy() must call
     PixelDrawing.clearSubCellCache().

BUG: (02/10/05, SMR) Descending into a rotated cell displays global coordinates
     wrong (Bug #198).
FIX: In EditWindow.showCoordinates() compute transformations properly.

IMP: (02/10/05, GVG) New coverage tab under Tool section in preferences. Second
     version of new layer coverage tool

IMP: (02/10/05, GVG) Rollback of "Made all pure-layer nodes have ports that run
     to their edges" changes in MoCMOS.

IMP: (02/10/05, RK) I changed the layout generator for inv so it uses a different
     floorplan with a 10 lambda wide output bus for strengths x>25.

IMP: (02/10/05, RK) The layout generators for inv2iKp and inv2iKn now use a
     different floorplan with a 10 lambda wide output bus.

IMP: (02/09/05, SMR) Signal names in the explorer tree are now sorted, but with
     subcells listed first. Also allowed "Window / Toggle Grid" to work in
     waveform window.  Also waveform window "Measure" mode displays better.

BUG: (02/09/05, SMR) Waveform signals that are saved with a cell are not
     displayed properly.
FIX: Fixed WaveformWindow.SaveSignalOrder class and
     Simulation.showSimulationData().

BUG: (02/09/05, SMR) Highlighting of splines does not always work right.
FIX: Changes to Highlight.showHighlight().

BUG: (02/08/05, SMR) Crossprobing doesn't work when examining lower levels of
     hierarchy (Bug #173).
FIX: In WaveformWindow.showSelectedNetworksInSchematic(), allow conversion
     between "@" and "_".

BUG: (02/08/05, SMR) Mimic stitch doesn't handle layer changing stitches
     (Bug #194).
FIX: In MimicStitch.mimicOneArc(), allow a null arc prototype (if no single arc
     can be used).

IMP: (02/09/05, GVG) First version of new layer coverage tool

IMP: (02/08/05, RK) Make gate layout generator use VarContext from current window

BUG: (02/08/05, SMR) Moving nodes may cause arcs to become disconnected
     (Bug #195).
FIX: In Layout.java, make consistent use of head/tail arc ends.

IMP: (02/08/05, SMR) Made all pure-layer nodes have ports that run to their edges
     Technologies affected: MoCMOS, BiCMOS, Bipolar, CMOS, MoCMOSOld, MoCMOSSub, 
     nMOS.

IMP: (02/07/05, SMR) Added "Show Pure Layer Nodes" command to "Edit / Cleanup"
     menu.

************************* Version 8.02g: *********************************

IMP: Sweep algorithm by default in ERC, geometry on network and coverage implants
     and list layer coverage.

BUG: (02/07/05, SMR) GDS output crashes (Bug #193).
FIX: In GDS.java, fixed new outputDouble() implementation.

IMP: (02/07/05, DN) Changed implementation of ArcInst and Connection: 
     Connection's fields moved to Connection, immutable class EPoint is used for
     Locations.

BUG: (02/06/05, SMR) Zooming in too far crashes.
FIX: In GenMath.clipSegment(), do integer scaling using longs.

IMP: (02/04/05, SMR) Directional arcs can now have arrow heads on either end. 
     (Bug #150)  Modified Arc Properties dialog to control directional, negated, 
     and end extension.  Modified commands in Edit / Arc menu.  Modified internal
     way of storing these properties.

IMP: (02/03/05, SMR) Improvements in node extraction.  Added
     PolyMerge.subtractLayers().

IMP: (02/04/05, GVG) Reorganizing tech palette including Bug#31
     Added "n"/"p" to well, active and transistors. Added "Mos" to transistors. 
     Added "Act" to actives. On Y axis, 3-node row (arc, pin, contact) sorted per
     Layer.  Done for all layout technologies.

BUG: (02/04/05, DN) Duplicate or rename cells spoils "getInstancesOf" (Bug #192).
FIX: In NodeInst.check add checking of NodeUsage to catch corruption in time.
     In NodeInst.rename use Cell.removeNodeName instead of Cell.removeNode to
     avoid corruption.

BUG: (02/04/05, DN) User writes corrupted library when invariants are broken
     (Bug #191).
FIX: In ToolMenu suggest user "ForceQuit" with save in "panic" directory.
     In "Cell.checkInvariants" report only first assert violation message to be
     less annoying.

IMP: (02/03/05, GVG) Removing extra call in ERC for subMerge trees.

IMP: (02/03/05, GVG) Optimizing usage of memory in sweep algorithm (using ERC as
     test case).

IMP: (02/03/05, GVG) Change dialog: node names in dialog sorted.

IMP: (02/02/05, GVG) Changes in LayerCoverageJob to allow calls from regression
     test suite.  Got rid of LayerCoverageJob.listGeometryOnNetworksNoJob and
     extended LayerCoverageJob.listGeometryOnNetworks.  Added Extraction package
     in regression test suite (1 script for now).

************************* Version 8.02f: *********************************

BUG: (02/02/05, SMR) Verilog output writes indexed signal names wrong (Bug #189).
FIX: In Verilog.getSafeNetName() distinguish busses from plain signals and handle
     them properly.

BUG: (02/02/05, SMR) Verilog output writes indexed signal names wrong (Bug #188).
FIX: In Verilog.getSafeNetName() allow square brackets if they enclose a singly
     indexed number.

IMP: (02/02/05, SMR) Spice output now sorts signal names in subcircuit headers
     (Bug #186).

IMP: (02/02/05, SMR) Waveform window now sorts signal names in the explorer part
     on the left (Bug #187).

IMP: (02/02/05, SMR) Status bar now shows both local coordinates and
     "hierarchical" coordinates (relative to an upper-level when the "Down
     Hierarchy" command has been used) (Bug #162).

IMP: (02/02/05, GVG) Second version of sweep algorithm for merging areas. 
     GeometryHandler transformed into a abstract class.

BUG: (02/01/05, GVG) Covering implants not working with PolyQTree structure after
     code re-organization. Job was not started and it was not detecting correctly
     original geometries.

BUG: (02/01/05, SMR) Artwork solid arcs are drawn in outline form when made
     thick.
FIX: In "Artwork.java", change the solid arc to have type FILLED.

BUG: (02/01/05, SMR) Very tiny schematics may crash PostScript output.
FIX: In PostScript.psText(), quit if text descriptor is null.

BUG: (02/01/05, SMR) Numbers are displayed with too many digits (Bug #183)
FIX: In "TextUtils.makeUnits()", call "formatDouble" with 1 parameter to force 3
     digits precision.

IMP: (02/01/05, SMR) Highlighting a port on an "example icon" shows the
     equivalent export in the cell (Bug #142).

IMP: (01/31/05, GVG) First version of sweep algorithm connected to ERC Well

IMP: (01/31/05, SMR) Waveform window draws grid dimmer and in the background. 
     Horizontal grid lines are adjusted to 10%, 30%, 50%, 70%, and 90% of actual
     values.  Panning commands (Ctrl-2-4-6-8) now work in waveform window.

IMP: (01/31/05, DN) Simplifications of Undo API.

BUG: (01/31/05, DN) Incorrect calculation of size of Outline primitives in
     "NodeInst.redoGeometric()"
FIX: Calculate MBB both in parent and in instance coordinates.

IMP: (01/31/05, RK) Removed the compile time limit on the number of transistors
     that may be combined into a single series stack.

IMP: (01/30/05, DN) DatabaseChangeListener API changed to prepare for
     transactional database.

IMP: (01/29/05, DN) JELIB is the default library format.

BUG: (01/29/05, DN) Deleting exports invalidates database invariants (Bug #181).
FIX: In "Export.kill()" disconnect all PortInsts of this Export before deletion.

IMP: (01/29/05, SMR) Shift-right in waveform now zooms (Bug #177).

************************* Version 8.02e: *********************************

IMP: (01/28/05, GVG) Adding exhaustive checking option in DRC (mostly for
     regression purposes)

IMP: (01/27/05, GVG) Side effects of ordered database in DRC. Speed improvements
     to avoid checking two node instances multiple time. Some statistics:
     qFourP2:qFourP1top:qFourP1top: v8.01=22 min, v8.02d=37min, v8.02e=8min.

IMP: (01/27/05, JKG) Added option under GDS preferences to have brackets in
     export names converted to underscores.

IMP: (01/26/05, GVG) TSMC90nm: thick active contacts including thick active
     arcs

IMP: (01/26/05, SMR) Removed the command "Windows / Special Zoom / Zoom Box"
     because it duplicates the shift-right drag function and, more importantly,
     doesn't work.

BUG: (01/26/05, SMR) Deleting nodes leaves their highlighting on the screen.
FIX: In Highlight.isValid() must convert PortInst objects to their NodeInsts.

IMP: (01/26/05, SMR) Serpentine transistors have their sizes recomputed with
     their bounds.

BUG: (01/26/05, DN) Arcs may be created with ends on unlinked PortInsts.
FIX: Check PortInst.isLinked when creating arcs.

BUG: (01/26/05, DN) Corrupted ELIBs may be written (Bug #176).
FIX: Check database invariants before writing libraries.
     Validate PortProtos when reading ELIBs.

BUG: (01/26/05, DN) ELIB reader unnecessarily scales layout cells (Bug #176).
FIX: Limit scaling to icon subcells in schematic cells.

BUG: (01/26/05, DN) Group delete causes exception (Bug #175).
FIX: "kill" methods will return with message if object is already killed.

BUG: (01/26/05, DN) The Font Association String[] var is incorrectly prepared.
FIX: In Output.createFontAssociation, <= instead of < .

BUG: (01/25/05, GVG) PolyBase.isInside not working properly for non-convex
     mahnattan polygons.  Angle-based algorithm tends to cancel out angles for
     concave corners.
FIX: (for now) for wiring check if point is along polygon edges. More stable
     solution is to change algorithm for an intersection-based one.

BUG: (01/25/05, SMR) Spice output allows names that start with a digit (but Spice
     doesn't) (Bug #169).
FIX: In Spice.getSafeNetName(), insert an "_" before names that start with a
     digit.

BUG: (01/25/05, SMR) Auto-routing does not connect to pure-layer nodes with
     nonmanhattan shape.
FIX: In Technology.getShapeOfNode(), set a port when outline is present and
     electrical layers requested.

BUG: (01/24/05, JKG) HierarchyEnumerator.getNetworkInParent() did not handle
     globals correctly, because they are not explicitly exported.
FIX: check for globals

BUG: (01/24/05, JKG) Additional windows (with menu bars) was causing duplicate
     key bindings.
FIX: boolean check for initialization to occur only once.

BUG: (01/24/05, SMR) Importing libraries doesn't mark them to be saved.
FIX: In "Input.importLibrary()", set the library to have major changes.

************************* Version 8.02d: *********************************

BUG: (01/24/05, JKG) The Font Association String[] var was being incorrectly
     written out in the ELIB writer, as the "additionalVar" in
     ELIB.writeVariables().
FIX: A fix has been implemented that checks for version 8.02c of the libraries
     and ignores the variable. Additionally, the ELIB writer has been fixed.

BUG: (01/24/05, SMR) CIF input places cell instances incorrectly.
FIX: In CIF.nodesCall(), must compute instance position to account for
     cell-centers. In CIF.makeCall(), must make a copy of the matrix.

IMP: (01/22/05, SMR) Finished coding PolyBase.contains().

************************* Version 8.02c: *********************************

BUG: (01/21/05, SMR) Spice crossprobing doesn't work right (Bug #170).
FIX: In WaveformWindow.java, do not convert "@" to "_" unless name match fails.

IMP: (01/21/05, SMR) Combined the Component menu into the Explorer panel,
     Also added the "Layer Visibility" dialog there (Bug #35, #67)

BUG: (01/21/05, SMR) Exports don't display when editing "down hierarchy in place"
     (Bug #164)
FIX: In PixelDrawing.java, must keep track of top-level window and draw exports
     properly.

BUG: (01/21/05, SMR) Scroll bars don't work right when editing "down hierarchy in
     place" (Bug #164)
FIX: In EditWindow.setScrollPositionUnsafe(), bottomScrollChanged(), and
     rightScrollChanged() must account for the in-place editing when dealing with
     the offset values.

BUG: (01/21/05, SMR) Auto-stitching doesn't connect pins.
FIX: In Technology.getShapeOfNode(), only exclude pin geometry if not doing
     electrical layers.

IMP: (01/20/05, GVG) Extra flag in DRC tab to stop checking after first error
     per node is found.

IMP: (01/20/05, GVG) Setting default colors for Artwork Arcs and Text Properties
     (in TextDescriptor.DescriptorPref)(Bug #152)

BUG: (01/20/05, DN) Can't rename cell groups (Bug #167).
FIX: CircuitChanges.RenameCellGroup.doIt stores cells from group in
     array before renaming.

IMP: (01/19/05, SMR) Cleaned up use of "getUserNetlist".

IMP: (01/18/05, SMR) Improved GDS floating point output.  Code from Tom Valine
     <tomv@transmeta.com>.

IMP: (01/18/05, SMR) Removed "Update" button from "Attributes" dialog, have
     only "Done". All actions happen instantantly (Bug #78).

IMP: (01/18/05, SMR) "Props." button in "Arc Preferences" dialog by name
     field lets name info be edited (Bug #149).

BUG: (01/18/05, DN) "ElectricObject.isLinked()" can return true for objects of
     deleted cell.
FIX: Reimplement "isLinked()" so that it became the same as former
     "isActuallyLinked()".

IMP: (01/17/05, DN) Deterministic output of ELIB and ReadableDump:
     Only referenced objects and variable keys are written;
     Userbits of objects contain only bits used in Java Electric;
     Only variable flags used in Java Electric are written;
     VTDISPLAYNAMEVALINH and VTDISPLAYNAMEVALINHALL bits in TextDescriptor are
     replaced by VTDISPLAYNAMEVALUE;

IMP: (01/14/05, RK) NCC: I eliminated the annoying "false sharing" behavior
     during hierarchical NCC. This allows NCC regressions to pass once again.

IMP: (01/14/05, SMR) Added special properties dialog for nodes with outline
     information (shown when doing a "Properties" command on such a node).

BUG: (01/14/04, DN) Thunder and lightning when highlighted networks are not ready
     (Bug #155).
FIX: In "Highlighter.getHighlightedNetworks" use "acquireUserNetlist" instead of
     "getUserNetlist".  Text message is printed when getUserNetlist is called in
     GUI thread.

************************* Version 8.02b: *********************************

BUG: (01/14/04, GVG) Removing extra quotes in Launcher.java otherwise double
     click or java -jar electric.jar doesn't work. (Bug #160).

BUG: (01/13/05, DN) Giving same name for two nodes in a cells spoils invariants
     (#Bug 159).
FIX: NodeInst.getDuplicate() returns duplicate (returned always 0).

BUG: (01/13/05, GVG) DRC and ordered database changes. After the changes, it was
     noticed that checkDist was not invariant because it reported only the first
     error found. This affects regression result.
FIX: checkDist will check all cases. Disadv: DRC gets slower but accurate.

IMP: (01/13/05, JKG) Spice generated node names are now determinant.

IMP: (01/13/05, JKG) CDL: "convert brackets" option now works properly;
     empty subcircuits are not netlisted.

IMP: (01/13/05, JKG) CIF generated names are now NAME instead of NAME_lay_.

IMP: (01/13/05, JKG) Added Export command to export 'exports only' in Skill.

IMP: (01/13/05, JKG) Added option on Skill preferences tab to truncate cell
     names to match names in GDS files.

IMP: (01/13/05, JKG) Topology: "getSafeNetName" now properly applied to
     non-aggregating netlisters

IMP: (01/12/05, SMR) First implementation of node extractor.  Added to
     "network tab" in "Preferences" dialog

BUG: (01/13/05, DN) Rename arc/nodes and undo can spoil database invariants
     (Bug #157).
FIX: In "NodeInst.lowLevelSetNameKey" and ArcInst.lowLevelSetNameKey remove
     "isUsernamed()".

BUG: (01/13/05, DN) Remove export crashes.
FIX: In "Cell.removeExport()".

BUG: (01/13/05, DN) Ordering Tools by name changed order of Listeners calls.
FIX: Order tools by definition order.

BUG: (01/12/05, DN) JELIB contains only used exports of external cells.
FIX: Output all exports of external cells.

IMP: (01/12/05, DN) TextDescriptor saves in preferences colors of
     default Node/Arc/Export/Annotation/Instance/Cell descriptors.

************************* Version 8.02a: *********************************

IMP: (01/11/05, SMR) "Arc Properties" dialog now has "More/Less" button and, in
     expanded mode, shows a list of attributes on the arc (Bug #149).

IMP: (01/11/05, DN) All database objects are comparable and the are ordered in
     database.

IMP: (01/10/05, SMR) Better detection of the selected export when going up
     hierarchy (Bug #138).

BUG: (01/10/05, GVG) DRC and min area, still problems with well areas which are
     not part of any network
FIX: Forcing substrate to ignore network information in Quick.java

BUG: (01/10/05, SMR) Some old Electric versions crash ("5.3b22").
FIX: Version.java no longer throws a NumberFormatException...just prints an error
     message.

BUG: (01/10/05, SMR) New windows don't appear with the cell filling it (Bug
     #140).
FIX: In WindowFrame.createEditWindow(), set the EditWindow size before filling
     the screen.

IMP: (01/10/05, SMR) Added a global text scale that applies to all text.
     Settable as a parameter (in the Text tab) and with the "Edit / Text"
     commands "Increase All Text Size" and "Decrease All Text Size".

BUG: (01/10/05, SMR) Viewing the explorer tree "hierarchically" does not work
     right.
FIX: Re-implemented WindowFrame.wantToRedoLibraryTree() and use it when changing
     the explorer view style.

BUG: (01/10/05, SMR) Editing text in-place doesn't properly calculate the number
     of lines of text (Bug #141).
FIX: In GetInfoText.figureSize(), have "split()" use a second parameter of -1 to
     include all trailing fields.

IMP: (01/09/05,GVG) YES_NO dialog for deleting cells in Explorer instead of
     YES_NO_CANCEL type

IMP: (01/09/05, DN) Settors are removed from TextDescriptor class. Database
     TextDescriptors are almost readonly (except low-level methods).
     MutableTextDescriptor class is used for TextDescriptors out of database, it
     has both gettors and settors.  Variable API is extended by TextDescriptor
     API (both gettors and settors).  ElectricObject.getTextDescriptor(varName)
     and ElectricObject.setTextDescriptor(varName, td) can be used for uniform
     access to text descriptors in database. varName can be also one of:
       NodeInst.NODE_PROTO_TD, NodeInst.NODE_NAME_TD, ArcInst.ARC_NAME_TD,
       Export.EXPORT_NAME_TD 

IMP: (01/08/05, GVG) Catching expection due to bad filename while generating
     ImageIO during export.

IMP: (01/08/05, GVG) Avoid exception if new name is null due to errors in
     Cell.rename.

IMP: (01/05/05, DN) View, Libraries, Cells, Exports, Tools, Technologies,
     PrimitveNodes, PrimitiveArcs, Variables are comparable by name and ordered
     in database.

IMP: (1/3/5, SMR) Added silicon compiler and VHDL compiler.
     Initial translation without any improvements.
     Added commands "Tool / Silicon Compiler / Convert Current Cell to Layout",
     "View / Make VHDL View"
     "View / Compile VHDL to Netlist View"
     "View / Generate VHDL View"

BUG: Must quote system properties when relaunching.
FIX: In Launcher.invokeElectric()", quote results of System.getProperty().

BUG: (12/23/04, GVG): Exception creating a bufferImage if width or heigth was
     zero (text) (Bug #139)
FIX: return null in these cases
 
IMP: (12/23/04, GVG): Fixing side effects in TechPalette after Bug#103

IMP: (12/23/04, GVG): TSMC90: Adding rules OD2.W.1, OD2.S.1 and OD2.EX.3 even
     though they are met by construction (triggered by Bug #137)

IMP: (12/23/04, GVG): 3D View: warning if scene graph will be big (Bug #28)

************************* END OF Version 8.01, GNU RELEASE *********************************
************************* Version 8.01: Released 12/22/04 *********************************

IMP: (12/22/04, GVG): Change should leave object(s) selected (Bug #129)

IMP: (12/22/04, GVG): New scale for 3D panning.

IMP: (12/22/04, GVG): New names for VTH/VTL/OD18 pure nodes to be consisten with rest of names.

IMP: (12/22/04, GVG): DRC Schematic, improving error messages if objects touch (triggered by Bug #126)

BUG: (12/22/04, SMR) Busses connecting at a Wire Con are flagged as DRC errors (Bug #126).
FIX: In drc.Schematic.checkPolygonVicinity(), consider WireCon to connect arcs.

IMP: (12/21/04, SMR) When going down hierarchy, only ask for entry in arrayed node if waveform is present.

IMP: (12/21/04, SMR) Added Help/Load Built-in Libraries/MOSIS CMOS Pads to get the pads library.

BUG: (12/20/04, SMR) Offset text on rotated nodes is not drawn right.
FIX: In Geometric.addDisplayableVariables(), handle style rotation and style offset.
     In ElectricObject.getPolyList(), handle style offset.
     In ElectricObject.addDisplayableVariables(), handle style rotation.
     In PolyBase.rotateType(), handle transposed rotation better.
     In Technology.getShapeOfNode(), use untransformed bounds of node for text location.

BUG: (12/20/04, GVG) Extra polyehedra to describe gate channel were wrong if transistors were rotated (Bug #124)
FIX: Extra geometries are created after polygons are rotated.

IMP: (12/20/04, GVG) Ability to open libraries without providing extension. Extension will be added based on
     DEFAULTELIB variable. (Bug #95)

IMP: (12/20/04, GVG) Adding error logger to ELIB/ELIB1 if readNodeInst/readArcInst returns true
     otherwise users might skip the error.

BUG: (12/20/04, SMR) "Dragging must enclose objects" doesn't work right (Bug #131).
FIX: In Highlighter.checkOutObject()" must consider only essential part of node or arc.

BUG: (12/20/04, SMR) Multi-object Properties dialog cannot edit selection if
     only Exports are listed (Bug #130).
FIX: In GetInfoMulti.loadMultiInfo() enable removal buttons if there are exports, too.

BUG: (12/20/04, SMR) Automatically generated icons fail "cell cleanup" (Bug #128).
FIX: In CircuitChanges.cleanupCell(), ignore Universal Pins as well as Invisible Pins
     when considering whether zero-size is an error.

IMP: (12/19/04, SMR) Cleaned up code to be consistent with documentation
     (added "Add Ports from Library" in Export menu).

IMP: (12/20/04, GVG) List of primitive nodes in Change dialog and tech palette are sorted alphabetically (Bug #132)
In case of sorted list of nodes, use Technology.Technology.getCurrent()

IMP: (12/17/04, RK) NCC: remove useless options. update documentation

************************* Version 8.01aw: *********************************

IMP: (12/17/04, GVG) 3D View: panning implemented (Bug #24). ZoomAndPanListener.panX and panY replaced by one function
and new one was added to WindowContent to deal with different window types.

IMP: (12/17/04, SMR) Cleaned up code (removed irrelevant commented-out sections),
     converted wildcard imports.

BUG: (12/17/04, SMR) Edit in-place does not grow as new text is typed (Bug #125).
FIX: In GetInfoText.EditInPlaceListener, fill in keyReleased() and have it resize the text area.

IMP: (12/17/04, DN) Fixed compilation warnings on Java-1.5.

BUG: (12/17/04, GVG) 3D view: problems with zoom in/zoom out (Bug #23)
FIX: Change factor calculation and now we are just setting a new transformation scale.

IMP: (12/17/04, DN) Fixed compilation warnings on Java-1.5.

IMP: (12/16/04, GVG) Minor changes due to manul preparation.

BUG: (12/16/04, SMR) Going "Down Hierarchy" after a "Down Hierarchy In Place" remains
     in "in place" mode (Bug #107).
FIX: In EditWindow.downHierarchy(), turn off "in place" mode if not going down in place.

IMP: (12/16/04, GVG) New transistor sizes of OD18 and Native to comply with missing DRC rules

BUG: (12/16/04, SMR) PostScript export of waveform windows crashes (Bug #119).
FIX: In PostScript.java, check for null EditWindow pointer.

IMP: (12/15/04, SMR) Minor changes to GUI to help with documentation: About dialog, New Arc Preferences,
     outline edit, verilog of and/or gates, multipage schematics, command-line help, Export menu,
     pulldown reporting.

BUG: (12/15/04, SMR) "Antenna" preferences crash if current technology has no metal.
FIX: Check for empty list.

IMP: (12/15/04, RK) NCC: Add Net Equivalence mapping regression. The regression uncovered many bugs.

BUG: (12/15/04, GVG) DRC and new thick active layers: wrong bit detection for thick active layers that make DRC to fail
FIX: negate condition in Quick.checkDist() (Bug #117)

IMP: (12/15/04, GVG) MoCMOS: wrong min size of thick active pure nodes (2.0 instead of 4.0, rule 24.1)

IMP: (12/15/04, GVG) TSMC90: new stipple patterns for OD18 (Bug #118)

BUG: (12/15/04, GVG) DRC Select checking: still problems with transformation (Bug #114)
FIX: "No enough surround" code refactored and placed outside of initial recursive iteration.

IMP: (12/14/04, GVG) New colors/patterns for VTH/VTL/Native transistors in TSMC90 (Bug #113)

IMP: (12/14/04, GVG) DRC: first modifications for VTH/VTL/Native transistors.

BUG: (12/14/04, SMR) Duplicating a PMOS schematic transistor creates one named "nmos@xx" (Bug #115)
FIX: In Clipboard.copyListToCell(), create nodes with the proper "tech specific" value.

BUG: (12/14/04, SMR) Spice netlister does not use "vdd" or "gnd" when power and ground nodes are present (Bug #112).
FIX: In Spice.getPowerName and getGroundName(), favor "vdd" and "gnd" if the names exist.

BUG: (12/14/04, SMR) When the background color is white, dragging a rectangle is not visible (Bug #110).
FIX: In EditWindow.showDragBox(), use the proper highlight color.

BUG: (12/14/04, DN) Non-string variables with language code bits can corrupt disk library (Bug #100).
FIX: Clear language code bits from non-string variables in ELIB and JELIB writers.

************************* Version 8.01av: *********************************

IMP: (12/14/04, DN) Renamed transistor port names in TSMC90. JELIB reader handles renamed ports. (Bug #83)

BUG: (12/13/04, SMR) Spice cards do not get emitted to the deck (Bug #93).
FIX: In Spice.replacePortsAndVars(), allow unconnected nodes.

BUG: (12/13/04, SMR) Selection of header files in the Spice Preferences dialog excludes all files (Bug #91).
FIX: In FileType.java, change the extension string of ANY from {""} to {}.

BUG: (12/13/04, SMR) Small values get turned into zeros (Bug #90).
FIX: In TextUtils.makeUnits(), call "formatDouble()" with a second argument of 0.

IMP: (12/13/04, DN) Revision of JELIB format. JELIB writer will change
     format when the Electric version becomes "8.01aw". JELIB reader will
     read files after "8.01aw" in a new format.

BUG: (12/10/04, GVG) No reporting min errors for negative notches (Bug #85)
FIX: Put code back (decomissioned long time ago) and amended.

IMP: (12/10/04, GVG) ERC profiling results: (1) getShapeArc() touched, (2) getShapeNode touched

IMP: (12/9/04, GVG) New thick transistors in MoCMOS technology.

IMP: (12/9/04, GVG) Transistor names in TSMC90 consistent (Bug #83)

BUG: (12/10/04, SMR) Not all parent cells are listed when "Up Hierarchy" is done (Bug #88).
FIX: In EditWindow.upHierarchy() use HashSet, not TreeSet.

IMP: (12/10/04, SMR) Added drag-and-drop from both the Explorer Tree (for cell instances)
     and from the palette (for technology primitives).

BUG: (12/10/04, SMR) Selecting a bus pin does not grab all nets on that pin (Bug #77).
FIX: In Highlighter.getHighlightedNetworks(), look at all arcs connected to a pin.

BUG: (12/10/04, SMR) Locking cells may crash when changes are made (Bug #84).
FIX: Moved all calls to CircuitChanges.cantEdit to be inside of jobs.

BUG: (12/9/04, SMR) Waveform window does not always show the full hierarchy of signal names (Bug #82).
FIX: In WaveformWindow.getSignalsForExplorer(), ensure that all levels of the signal name hierarchy are created.

BUG: (12/9/04, SMR) Spice netlister may mix-up ground signal names (Bug #81).
FIX: Change Spice.getGroundName to return null.

IMP: (12/9/04, SMR) "Layer Visibility" dialog also lets you "highlight" layers.

BUG: (12/9/04, SMR) Resizing a window doesn't always redraw its contents.
FIX: In EditWindow.java, queue resizing, just like panning and zooming.

************************* Version 8.01au: *********************************

BUG: (12/9/04, SMR) Going "Up Hierarchy" may display the cell twice (Bug #74).
FIX: In EditWindow.upHierarchy(), do not request full display if adjusting view.

BUG: (12/9/04, GVG) DRC bug related to active contacts touching transistors (function activeOnTransistorRecurse):
     wrong detection of poly ports (Bug #72).
FIX: search based on names instead of networks otherwise active ports connected to poly via other contacts get ignored

IMP: (12/9/04, GVG) ERC profiling results: (1) less getWellLayerType calls (2) no checkForAbort in visitNodeInst

BUG: (12/9/04, DN) Thousands of ArrayIndexOutOfBoundsException drawing Highlights (Bug #79).
FIX: Addition check isActuallyLinked() in Netlist class.y

BUG: (12/9/04, DN) Network tool crashes if cell contains cell from it's own cellgroup (Bug #75).
FIX: NodeInst.isIconOfParent() uses NodeUsage.isIconOfParent() to.

IMP: (12/8/04, GVG) DRC good dates work with min area and coverage bits (Bug #17)

IMP: (12/8/04, GVG) Save Library in ExplorerTree to avoid the setup as current library previous to the saving action.

IMP: (12/8/04, GVG) Layer visibilty stored in technology preferences (Bug #76)

BUG: (12/8/04, RK) NCC: When guessing which layout or schematic cell to compare against, always select the most recent version.

BUG: (12/8/04, GVG) DRC: polysilicon-select checking not working properly hierarchically (Bug# 66 and #15).
FIX: work on transformations.

IMP: (12/7/04, RK) NCC regression: added small test case to exercise transistor thresholds, oxide thickness, etc

IMP: (12/7/04, RK) NCC: Handle transistor thresholds, oxide thickness, etc

IMP: (12/7/04, SMR) Descending into an arrayed node now prompts for the specific node to enter (Bug #53).

************************* Version 8.01at: *********************************

IMP: (12/7/04, SMR) Spice files don't get read back properly.

IMP: (12/7/04, GVG) DRC: more caching functionality (tested in debug mode and now making it public)

IMP: (12/7/04, SMR) Assertion in Library.removeReferencedLib() is now just a warning (Bug #58).

IMP: (12/7/04, GVG) DRC: another place where generic arcs are found in layout.
     Same modification as the one inserted on 12/3/04

IMP: (12/7/04, SMR) Screen sizes are computed better on multi-display systems (Bug #48)

BUG: (12/7/04, SMR) Auto-stitcher may remove useful pins (Bug #59).
FIX: In AutoStitch.comparePoly(), only delete pins if they have no connections or exports.

IMP: (12/6/04, GVG) ERC: optimizing code (1)DRC check only available by request (not fully decomissioned yet
     until 100% sure about consequences) (2) caching information for arcs in HierarchyEnumerator Visitor.

IMP: (12/6/04, SMR) Screen sizes are computed better on multi-display systems (Bug #48).

BUG: (12/6/04, SMR) Conversion from layout to schematic is broken (Bug #56).
FIX: Fixed "ViewChanges.java" to work right.

BUG: (12/6/04, SMR) PostScript output is empty.
FIX: Make scaling factors "i" and "j" double in PostScript.start().

BUG: (12/6/04, SMR) Unexpanded cell outlines may get cut off on the right and bottom.
FIX: In PixelDrawing.expandedCellCached()" make caches wider and taller by 1.

IMP: (12/6/04, GVG) Export PNG files. Valid for EditWindow, Waveform and 3D View.

IMP: (12/6/04, DN) "TextUtils.getFileNameWithoutExtension()" returns legal
     library name with chars '\n|: {};' replaced by '-'.
     "LibraryFiles.readExternalLibraryFromFileName()" uses this name
     for library creation.

IMP: (12/5/04, SMR) Sped up drawing of highlights by doing proper clipping in Highlight.java. (Bug #51)

IMP: (12/3/04, SMR) Made Artwork Circles work properly, including problems with constraints (Layout.modFlex()),
     selection, better highlighting.

IMP: (12/3/04, SMR) Redid Layer Visibility once more; can select range of layers.

IMP: (12/3/04, GVG) TSMC90: New default size in pure p/n select nodes (Bug #54)

BUG: (12/3/04, RK) NCC: more intuitive Cell selection for cell groups having multiple layout cells (Bug #45)

IMP: (12/3/04, GVG) DRC: generating warnings if generic arcs are found in layout cells

BUG: (12/3/04, GVG) TSMC90: Active ports got wrong active arcs attached (Bug #52)
FIX: Switched to N type

BUG: (12/3/04, DN) In ELIB input technology and scale calculation is undeterministic (Bug #20).
FIX: LibraryFiles.computeTech() ensures that subcells have computed technology.

IMP: (12/3/04, DN) Technology.whatTechnology returns Artwork for text files.     

IMP: (12/3/04, DN) Launcher enables assertions.

BUG: (12/2/04, SMR) Layer Visibility dialog doesn't work right on Macintosh.
FIX: Change event handling to work on Mac.

IMP: (12/2/04, SMR) Waveform window "measure" mode now snaps to waveform points.

BUG: (12/2/04, GVG) Multi cuts conditions not proporly checked for TSM90 tech and viaXs
IMP: isMultiCutCase() depends on technologies. By default, if more than 1 cut then is multiCut node.
For TSM90, only when 3 neighbors (Bug #21). Bug #49 as well.

IMP: (12/2/04, SMR) Converting from schematics to layout ("Make Alternate Layout View")
     does not re-create existing cells. (Bug #38).

IMP: (12/2/04, SMR) Going up hierarchy follows exports.

************************* Version 8.01as: *********************************

BUG: (12/2/04, SMR) JELIB input may crash. (Bug #46)
FIX: In "JELIB.instantiateCellContent()" handle null "lineReader".

IMP: (12/1/04, SMR) Status bar coordinates are wider and right-aligned (Bug #33)

IMP: (12/2/04, SMR) PostScript output improved (fills paper better, writes all ports). (Bug #25)

BUG: (12/2/04, SMR) Extracting instances doesn't preserve export characteristics. (Bug #44)
FIX: In CircuitChanges.extractOneNode(), copy all export information.

IMP: (12/2/04, SMR) HSpice output reader can now handle wide signal format (9601). (Bug #39)

FIX: (12/1/04, JKG) MoCMOS Gate Layout Generator regression fails in 8.01ar (Bug#40)

BUG: (12/1/04, SMR) Multi-object Properties does not adjust sizes right when mirroring is involved. (Bug #32)
FIX: In GetInfoMulti.MultiChange.doIt(), account for mirroring when computing new size.

IMP: (12/1/04, SMR) "Pure" menu entry no longer offers contact or via layers.

IMP: (12/1/04, SMR) "Layer Visibility" dialog now shows layers sorted by height (Bug #26, 33)
     and lets you set all layers above or below a point to be visible/invisible.

************************* Version 8.01ar: *********************************

IMP: (11/30/04, GVG) New stipple patterns for m7/m8 in TSMC90 (Bug #22)

BUG: (11/30/04, GVG) Wrong sizeoff in X m7m8 and m8m9 contacts. Values amended (Bug #19)

IMP: (11/30/04, GVG) 3D View: printing capability from FileMenu->Print (new API in WindowContext to be more generic).

BUG: (11/30/04, SMR) Encapsulated PostScript is wrong.
FIX: Halve the number of "%" characters (they were duplicated for C formatting).

IMP: (11/30/04, SMR) "Confirm delete" in "Delete Cell" dialo, and "Make new window" in "New Cell" dialog
     are remembered between dialogs.

IMP: (11/29/04, SMR) Double-clicking on vertical axis of waveform window gives dialog for setting extents.

BUG: (11/29/04, RK) NCC wasn't stopping upon finding first error for Cell Groups with more than one comparison.

IMP: (11/29/04, GVG) 3D View: (a)Fill Window functionality available in 3D View. (b) First attempt to program
     ZoomOut/ZoomIn. (c) If cells are expanded, its nodes will be shown. (d) Bug fix in extra polyhedra connecting poly gates.

BUG: (11/29/04, RK) Fix NCC crash when designs have no Parts or no Wires and a Hash Code partitioning mismatch is reported. Re: Bugzilla bug #16

IMP: (11/29/04, SMR) Improved name incrementing so that lists are all incremented
     (for example, "A,B" used to become "A,B_1" but now becomes "A_1,B_1").

IMP: (11/28/04, SMR) Added primitive node/arc invisibility when all of their layers
     are invisible, so that they are not selectable.

IMP: (11/25/04, SMR) Added DXF input.

IMP: (11/25/04, SMR) Added "grid" button to analog waveform window.

IMP: (11/25/04, SMR) Renaming a group shows up in the explorer tree.

IMP: (11/25/04, SMR) New Arc Preference: Duplicate/Array/Paste auto-increments arc names.

IMP: (11/25/04, GVG) 3D View: automatic resizing in Z axis in any open 3D view if scale changes.
     New location of scale factor in 3D dialog.

BUG: (11/25/04, GVG) DRC badBoxArea not returning when error found and then wrong good date was stored (Bug #13)
FIX: return inserted

IMP: (11/24/04, SMR) Widened coordinate area in status bar to account for Macintosh font size.

IMP: (11/24/04, SMR) Added hook to clear the cache of expanded cell contents, used by layer visibility.

IMP: (11/24/04, SMR) Spice netlister no longer forces power and ground to be named "vdd" and "gnd".

BUG: (11/24/04, SMR) When an arc connects from a port to itself, deleting the port crashes.
FIX: In "NodeInst.removePortInst()" make sure the number of connections is valid.

BUG: (11/23/04, SMR) Node Instance names are not drawn right if the instance is rotated/mirrored and its
     contents are not centered.
FIX: In ElectricObject.computeTextPoly() transform name text about the true node center.

IMP: (11/23/04, SMR) Implemented "multi-page schematics".  Commands in the Cell menu control it.
     All pages are actually in a single cell, spaced far apart.

IMP: (11/23/04, SMR) Duplicating a cell that is on the screen multiple times only changes one display.

IMP: (11/23/04, SMR) Duplicating a cell and giving it a name that already exists prompts for confirmation.

************************* Version 8.01aq: *********************************

BUG: (11/23/04, SMR) Panning an expanded cell makes its exports go away.
FIX: In PixelDrawing.drawNode()" always write exports.

BUG: (11/22/04, SMR) "Make Alternate Layout View" produces Schematic cells.
FIX: In "ViewChanges.makeLayoutCells()", use layout when creating new cells.

BUG: (11/22/04, SMR) GDS output crashes when given a schematic.
FIX: Disallow non-layout views from being written in GDS.

BUG: (11/22/04, GVG) ERC shouldn't complain for not finding N/P well contacts if there are no P/N well
     regions in cell
FIX: While checking well areas, remember if P/N regions exist.

IMP: (11/22/04, GVG) Ports for pure primitive nodes will grown in size as the nodes.

BUG: (11/22/04, GVG) Extending search area in DRC for notch checking otherwise it doesn't find points along edges.
FIX: In Quick.lookForCrossPolygons(), bounding box has been extended.

IMP: (11/22/04, SMR) Display improved: "Peek" is faster; Panning the display is faster
     Display no longer inaccurate during/after panning; Down-hierarchy in-place faster.

BUG: (11/22/04, SMR) R-Trees may fail if too many objects are on top of each other.
FIX: In Geometric.RTNode.addToRTNode(), make sure the two seed nodes (oldN and newN) are different.

IMP: (11/21/04, GVG) 3D modifications: (a) Extra polygons connecting poly and poly gates in transistors
     so gate oxide looks more real. (b) Adding active region beneath poly gate (electrical layers from
     getShapeOfNode don't provide such polygons).

IMP: (11/21/04, GVG) Orbit behavior replaced by 3 separate ones in 3D view. Better zoom and translation

************************* Version 8.01ap: *********************************

IMP: (11/18/04, SMR) Added security to TopLevel.finished().

IMP: (11/18/04, GVG) Technology name in new Arc/Node tabs in preferences

IMP: (11/18/04, GVG) Allow to keep min sizes stored in preferences (not applying Technoloogy.setLayerMinWidth().
Send a warning with debugging option.

IMP: (11/18/04, GVG) DRC will ignore goodDRCDates if library was created with old JElectric version.

BUG: (11/18/04, GVG) Not removing goodDRCDate from cells that didn't pass DRC.
FIX: Collect the information and do it in SaveJob

BUG: (11/18/04, GVG) ChangeCell.contains() not detecting repeated elements.
FIX: Put back original code

BUG: (11/18/04, SMR) Cross-library copy doesn't sort cell names properly.
FIX: In "CrossLibCopy.showCells()", use "nameSameNumeric".

BUG: (11/18/04, DN) Port moved always reported for ports of transistors rotated to 45 degree.
FIX: ArcInst.stillInPort() tolerates distance to nearest grid point "0.01*sqrt(0.5)".

IMP: (11/18/04, DN) Menu entry "File|CheckAndRepairLibraries" is splitted to two:
    "File|CheckLibraries|Check" and "File|CheckLibraries|Repair".

BUG: (11/18/04, DN) CheckAndRepair may change database, but it isn't executed in the change thread.
FIX: Class CircuitChanges.CheckAndRepairJob.

BUG: (11/18/04, DN) Input.readLibrary calls "preventLoss" dialog from change thread.
FIX: Move it FileMenu to execute in GUI thread.

IMP: (11/18/04, DN) CheckAndRepair put messages to ErrorLogger.

IMP: (11/17/04, SMR) Mimic stitch is faster, and interactive mode lets you zoom/pan window.

BUG: (11/16/04, SMR) Cross-library copy does not update cell references properly.
FIX: In Cell.copyNodeProto() ignore existing cross-library references.

BUG: (11/16/04, RK) NCC: NCC crashes if A and B are in the same Cell group and A instantiates B.

IMP: (11/16/04, GVG) DRC: dates stored disabled (OUT)

BUG: (11/16/04, GVG) Rounding issue in Quick.lookForCrossPolygons()
FIX: round bounding box before looking for points. This fixes JonG's DRC notch error reported on 11/09/05 (90nm tech)

BUG: (11/16/04, GVG) MOSRules.getMaxSurround()didn't consider information about wide rules
FIX: condition added. Plus 100 is the new wide value for TSMC180nm

BUG: (11/16/04, DN) XSize and YSize of serpentine transistors are not properly calcualted.
FIX: getShapeOfNode and getShapeOfPort use getAnchorCenter instead of getTrueCenter
     In NodeInst use getShapeOfNode to calculate sizes of primitive with TRACE.

BUG: (11/16/04, SMR) Hierarchical display of wires is sometimes off by 1 pixel.
FIX: In EditWindow.databaseToScreen() use rounding for better accuracy.

IMP: (11/15/04, GVG) Network tool connected to 3D View

IMP: (11/15/04, GVG) Ability to save ErrorLogger for debugging purposes.

************************* Version 8.01ao: *********************************

IMP: (11/15/04, GVG) Prevent NullException in clearSetBit

BUG: (11/15/04, GVG) Rolling back changes to fix "BUG: (11/9/04, GVG) DRC and notch errors".

BUG: (11/15/04, GVG) Transistor poly layer was assigned to silicide block node (errors in TSMC180 and 90 techs).
FIX: Switched to silicide layer

BUG: (11/15/04, DN) GetInfoArc may cause error if ArcInst has not network on it.
FIX: In GetInfoArc check getNetworkName == null.

BUG: (11/15/04, DN) Arcs in ELIB from Electric C may not fit into port insts.
FIX: In ELIB and JELIB readers use poly.polyDistance(pnt) < 0.02 instead of poly.isInside(pnt).

BUG: (11/15/04, DN) Size of rotated primitives with polygon trace are not
    calculated, when ELIB is loaded.
FIX: Move scaleOutlineInformation(ni) before ni.lowLevelPopulate().

BUG: Deleting an export may delete the node.
FIX: Do not consider exports to be attached to nodes when deleting.

BUG: (11/14/04, RK) MoCMOS Gate generators were producing CIF resolution errors

IMP: (11/14/04, RK) Improve NCC size mismatch error messages

IMP: (11/14/04, SMR) Added LEF and DEF input.

BUG: (11/14/04, SMR) Verilog netlister breaks wide names.
FIX: In "Output.writeWidthLimited()", be more forgiving about splitting wide lines.

BUG: (11/13/04, RK) Reduce storage utilization of net equivalence feature

************************* Version 8.01an: *********************************

IMP: (11/12/04, GVG) LayerCoverageJob class moved to new misc directory to decouple code
otherwise its not easy to generate regressions.

IMP: (11/12/04, GVG) List Geometry on Network: fast algorithm in PolyQTree working now

FIX (11/12/04, JKG) Parasitic extraction of capacitance in the Spice netlister
    now works properly.

IMP (11/12/04, JKG) Added units to parasitic section of Spice Options Tab,
    added new option "Gate Length Subtraction".

IMP: (11/12/04, SMR) Resizing a node lets you make it smaller without jumping corners.

IMP (11/12/04, JKG) Added command Tool->Network->List Total Wire Lengths on All Networks

IMP (11/12/04, JKG) Added command Tool->Logical Effort->Back Annotate Wire Lengths

IMP: (11/12/04, SMR) Solid opaque layers no longer obscure text.

BUG: (11/12/04, SMR) Deleting an export may delete the node.
FIX: Do not consider exports to be attached to nodes when deleting.

IMP: (11/12/04, SMR) Long network names are truncated in the "Arc Properties" dialog.

BUG: (11/11/04, GVG) List Geometry on Network: fast algorithm in PolyQTree not working correctly while splitting the tree. 
Fix: put back the slow code

IMP: (11/11/04, RK) Undebugged implementation of NCC net equivalence reporting

BUG: (11/11/04, SMR) Exports on expanded cell instances are not always drawn.
FIX: In PixelDrawing.drawNode(), draw exports when instances are cached.

************************* Version 8.01am: *********************************

BUG: (11/11/04, SMR) Arraying crashes.
FIX: Array.setNewName() ignores temporary names; Name constructor uses TextUtils.atoi instead of Integer.parseInt.

BUG: (11/11/04, SMR) Mirroring is broken.
FIX: In "Layout.java", fixed computation of new mirroring values.

IMP: (11/10/04, SMR) Added compaction.

IMP: (11/10/04, SMR) Added initial regression tests for I/O.

IMP: (11/10/04, SMR) Added Job.flushBatch() to reset constraints in the middle of a job.

BUG: (11/11/04, GVG) MinArea DRC didn't detect errors in subcells if nodes were not part of exports
FIX: Collect those nodes and check at the end.

BUG: (11/11/04, RK) NCC crashes when a Cell has an Export and global with the same name.

BUG: (11/11/04, DN) Exception in JELIB reader when referenced library not found.
FIX: Check of null pointer in input.JELIB.realizeCellsRecursively .

BUG: (11/11/04, DN) TextUtils.nameSameNumeric may loop infinitely after my previous change.
FIX: Reimplement TextUtils.nameSameNumeric. It is case-sensitive. "nameSameNumeric(s1,s2) == 0" IFF "s1.equals(s2)".

IMP: (11/10/04, GVG) Scaling factor in 3D view.

IMP: (11/10/04, GVG) Removing one toggle in DRC tab

IMP: (11/10/04, DN) Sorting of objects in JELIB output for regression purposes.
     1) Order of Views : In "nameSameNumeric" order.
     2) Order of CellNames:
	Compare protoName in "nameSameNumeric" order;
	if equal compare views;
	if equal compare versions - implicit (without number) version first,
	   explicit (with number) versions in reverse order then; 
     3) Order of libraries, tools., technologies, primitiveNodes/Ports/Arcs - usual "String.compareTo"
     4) Order of Exports - "nameSameNumeric"
     5) Order of NodeInsts, ArcInsts
        Compare "nameSameNumeric"
	if equal compare indexes in Cell lists;
     6) Order of CellGroups
        "nameSameNumeric" on group names.

IMP: (11/10/04, DN) View is comparable. TextUtils.nameSameNumeric and TextUtils.atoi work with Unicode digits.

IMP: (11/10/04, DN) Better diagnostic in JELIB reader when point doesn't fit a port.

BUG: (11/10/04, RK) Make gate generator generate gates for every instance of a Cell (For Justin)

IMP: (11/9/04, GVG) Two new toggles in DRC tab to ignore hierarchical/poly-select conditions.

IMP: (11/9/04, GVG) LayoutLib.openLibForRead works with JELIB format. Terminate program if -batch option in EvalJavaBsh
                                                        
BUG: (11/9/04, GVG) DRC Min Area and select, disconnected nodes not considered.
FIX: Special treatment in visitNodeInst by using PrimitiveNode.containsSubstrateLayer()

BUG: (11/9/04, GVG) DRC and notch errors for arcs in same network. Modifications done under
maytouch/sameLayer inside checkDist were not correct (done back in Aug'04)
FIX: if (net1==net2) -> return false regardless notch distance

IMP: (11/9/04, SMR) Redid cross-library copy so that it is safe from looping.

IMP: (11/9/04, SMR) Closing a library ensures that it is saved to disk.

BUG: (11/9/04, SMR) Mimic stitching crashes.
FIX: Replaced array of cached Polygons with a more robust HashMap.

IMP: (11/9/04, GVG) Metal1 back from 1.4 -> 1.2

BUG: (11/9/04, DN) Can't read mixture of JELIB and ELIB files.
FIX: In JELIB reader use "realizeCellsRecursively" instead of "instantiateCellContents".

IMP: (11/9/04, DN) When library is read in batch mode it sets its meaning preferences.

IMP: (11/9/04, DN) Forbidden characters ':' and '|' in cell names.

BUG: (11/8/04, SMR) Upper-level text is not shown when editing "down in-place".
FIX: In "PixelDrawing.drawText()" compute clipping bounds properly.

IMP: (11/8/04, GVG) Default sizes for new arcs/nodes in TSMC90 now correctly stored and retrieved from preferences
(moved MoCMOS.init() to Technology.init())

IMP: (11/8/04, GVG) Avoid to run DRC on Artwork or in case technology doesn't have rules associated

************************* Version 8.01al: *********************************

BUG: (11/8/04, RK) Fill Generator script must now select technology

BUG: (11/8/04, GVG) Metal 1 pin didn't get correct offset after resizing (1.2 -> 1.4 done on 11/06/04)
FIX: Metal 1 min width rule: 1.2 -> 1.4 to keep code consistent

IMP: (11/8/04, GVG) Correct aligment of m2/m3, m4/m5, m6/m7, and m8/m9 for TSMC90

BUG: (11/8/04, SMR) Reloading waveform window fails if there are a different number of sweeps.
FIX: Reload sweeps list correctly.

IMP: (11/8/04, SMR) When interactively resizing a node, holding Control limits
     resize to a single axis.  Holding Shift switches to center-based sizing.

IMP: (11/8/04, SMR) Disallow moving the cell-center when other objects are moving.

BUG: (11/8/04, SMR) Cell names are not sorted properly (the views are not considered).
     Names do not line-up properly in cross-library copy dialog.
FIX: In TextUtils.CellsByName, use "noLibDescribe()" instead of "getName()".
     No longer need TextUtils.CellsByFullName.

IMP: (11/7/04, SMR) Added copy/paste topology (for routers).

IMP: (11/7/04, SMR) Cleaned-up outline-edit mode.

IMP: (11/5/04, SMR) Added EDIF input.

IMP: (11/6/04, GVG) New width for metal1 arcs. New well rectangular contact to avoid min area/width problems.
     New primitive nodes are available from Tech Palette via menu.

IMP: (11/5/04, GVG) Min area only for top cell because its hierarchically done.
BUG: (11/5/04, GVG) Fixing error introduced in 8.01ai and PolyBase.halfCropBox/PolyBase.cropBox.

BUG: (11/5/04, GVG) 3D bug for generic polyhedra (wrong indices for normal)

BUG: (11/5/04, RK) NCC crashed if all the Cells being compared had no Exports

************************* Version 8.01ak: *********************************

IMP: (11/5/04, DN) Version and CellName classes are mada Comparable.

BUG: (11/5/04, DN) If Undo occurs after first Copy command, the Clibboard cell becomes unlinked.
FIX: In User.init() call Clipboard.clear() to create the Clipboard cell.

BUG: (11/5/04, DN) When Undoing at start of Electric, a crash happens.
FIX: In Undo.undoABatch test batch.startHighlightsOffset on null.

IMP: (11/3/04, RK) Improve usability of Gate Layout Generator

IMP: (11/3/04, RK) Changes for NCC and Gate Layout Generator regressions

************************* Version 8.01aj: *********************************

IMP: (11/4/04, GVG) PolyBase: not applying transformation if matrix is identity

BUG: (11/4/04, GVG) Rouding points before merging in DRC min area calculation otherwise merged area
     won't be a simple polygon.
FIX: poly.roundPoints();

BUG: (11/4/04, GVG) DRC and PolySelect rule, ignoring case when remaining area after second substract was empty.
FIX: call Area.isEmpty()

IMP: (11/4/04, SMR) GDS output produces better cell names.

IMP: (11/4/04, SMR) "Click" sounds are only played if there is a sound card.

IMP: (11/3/04, SMR) CIF resolution errors now select the object.

IMP: (11/3/04, SMR) Removed unused listeners: ClickAndDragListener and WiringListener.

IMP: (11/3/04, GVG) Fix in network evaluation during hierarchical min area checking

IMP: (11/3/04, SMR) Printing resolution is now higher and can be set in the Preferences panel.

IMP: (11/3/04, GVG) Another algorithm for DRC TSMC90 PP/NP.R.1 rule

IMP: (11/3/04, GVG) Default technology in preferences. It will be used for setting palette. Manual updated.

BUG: (11/2/04, RK) Repair bugs from partial conversion of gate layout generators to tsmc90

IMP; (11/2/04, GVG) CO.S.1, VIAx.S.1 and VIAn.S.1 rules for vias (meta1 and actives cuts)

************************* Version 8.01ai: *********************************

BUG: (11/2/04, DN) Library.findNodeProto should find the newest
     version of the cell, when no version number is specified.
FIX: Add test to "Library.findNodeProto.

BUG: (11/2/04, DN) When view of a cell is changed from layout to
     schematic, its technology (and TechPallette) remains layout.
FIX: Clear technology in ViewChanges.ChangeCellView

BUG: (11/2/04, DN) When parsing routines will meet with non-Latin
     unicode digits, they may return strange numbers.
FIX: Use TextUtils.isDigit and TextUtils.isLetterOrDigit.

IMP: (11/2/04, DN) TextUtils.nameSameNumeric is made case-insensitive.

BUG: (11/2/04, GVG) Rounding errors in PolyBase.halfCropBox
FIX: Same wrapper operations as in PolyBase.cropBox.

IMP: (11/1/04, SMR) Added "click" sounds when wiring.

BUG: (11/1/04, SMR) Mirroring in Y does not work.
FIX: In NodeInst.lowLevelModify()", fixed "sX" that should have been "sY".

BUG: (11/1/04, SMR) Export text offset is wrong.
FIX: In Export.getNamePoly(), apply text offset before transformation of node;
     In ElectricObject.computeTextPoly(), use Export.getNamePoly();
     In TextInfoPanel, show true offsets.

IMP: (11/1/04, DN) Coordinates and sizes of ArcInst and NodeInst are
    rounded to DBMath.GRID when loaded from libraries. Comparison
    functions from DBMath consider neighbour grid points as equal.

IMP: (11/1/04, DN) Cells in JELIB are sorted by (name,view,version)
      for easier text comparison of JELIB files.

BUG: (11/1/04, DN) Arc ends are swapped when loading from ReadableDump.
FIX: (11/1/04, DN) In input.ReadableDump.realizeArcs.

BUG: (11/1/04, DN) Export characteristic is not loaded from ReadableDump.
FIX: Restore "userBits" after "lowLevelPopulate" in input.ReadableDump.realizeExports.

BUG: (11/1/04, DN) Variables names with ":" and "[" are corrupted in RedableDump.
FIX: Add "^" before ":" in output.ReadableDump.printName. Change
     "indexOf" to "lastIndexOf" in input.ReadableDump.keyboardGetVar

BUG: (11/1/04, DN) Name of NodeInsts and ArcInsts are not stored to ReadableDump
FIX: Add printName(...) to output.ReadableDumpwriteVars.

BUG: (11/1/04, DN) ProtoTextDescriptor of NodeInsts is not properly
     stored to ReadableDump.
FIX: In output.ReadableDump.writeTheLibrary.

BUG: (11/1/04, DN) Library variables are not loaded from JELIB.
FIX: In input.JELIB load variables.

BUG: (11/1/04, DN) Offset information in TextDescriptors are not
     always properly restored from JELIB files.
FIX: In TextDescriptor do rounding more carefully. In input.JELIB set
     both coordinates simultaneously.

BUG: (11/1/04, DN) Mirror state of NodeInsts with zero size may be lost.
FIX: Distinguish between -0 and +0 in NodeInst.isMirrored methods.

************************* Version 8.01ah: *********************************

IMP: (10/29/04, RK) Add hook for running Layout generator for MOCMOS or tsmc90

BUG: (10/29/04, RK) NCC Flat top cell must be prepared for null VarContext

IMP (10/29/04, GVG) Batch option. Ability to run JElectric on batch mode (-batch).

IMP (10/29/04, JKG) Open file dialog opens ELIB and JELIBS, removed ELIBS
    from import/export, Added command under File to save all libraries as a
    different format (ELIB or JELIB).

BUG: (10/29/04, DN) Network tool when there layout instances in schematic cell.
FIX: In NetSchem.internalConnection netCell added to reference subcell.

************************* Version 8.01ag: *********************************

BUG: (10/29/04, DN) Network tool and user tool doesn't feel rename of Exports and Cells.
FIX: Add parameter "oldVersion" to "renameObject" methods of these tools.

BUG: (10/29/04, DN) Ncc regression fails, because Network tool doesn't ignore
  resistors properly.
FIX: Netlist.getNetlist(Nodable) returns sublist with "shortResistors" from parent
     netlist instead of user preferences. Removed "getUserNetlist" calls from Hierarchy
     enumerator.

IMP: (10/28/04, SMR) Double-clicking on a sweep signal toggles its inclusion/exclusion.

IMP: (10/28/04, GVG) Bug fix in hierarchical checking for minArea

IMP: (10/28/04, SMR) Renaming a cell such that it is the same as an existing one makes it a new version.

************************* Version 8.01af: *********************************

IMP: (10/28/04, SMR) Added SUE input.

BUG: (10/28/04, SMR) Rotated text is not read back from JELIB files.
FIX: Rotation amounts are now set properly.

IMP: (10/28/04, SMR) When a cell is renamed and it appears to fall into an existing cell group,
     the user is asked if it should also be re-grouped.

IMP: (10/28/04, SMR) In-place text editing can now handle multi-line parameters.

BUG: (10/27/04, SMR) Variables on cell instances are not offset properly.
FIX: Use untransformed node bounds when computing text location.

BUG: (10/28/04, DN) IgnoreResitors option connects incorrectly.
FIX: In NetSchem.internalConnections replace "drawn" by "drawnOffsets[drawn]"

IMP: (10/27/04, GVG) New scheme in TechPalette, Schematic. Extra text in well contacts.

BUG: (10/27/04, SMR) Pasting primitives does not adjust sizes right (shifts their positions instead).
FIX: In "Clipboard.pasteNodeToNode()" fixed this.

BUG: (10/27/04, SMR) Sweeps in Spice are time-aligned with each other, which is wrong.
FIX: Each sweep can now have its own time values.

************************* Version 8.01ae: *********************************

FIX: (10/27/04, JKG) Added code in LibraryFiles.readExternalLibraryFromFilename to handle
     references to other library formats.

IMP: (10/27/04, JKG) Added File->Export->ELIB (version 7) All libraries command.

BUG: (10/27/04, GVG) Miscellaneous: another attempt to remove out of bound exception and fix the group naming
     (it was removing last character due to <= condition) Removing TSMC90 PP/NP.S.7 rule in DRC.

BUG: (10/26/04, SMR) Moving a cell to a different cell group fails if there are multiple versions.
FIX: In "Cell.setCellGroup()", move all versions at once.

IMP: (10/26/04, GVG) TSMC90nm and detecting overlap between select regions. Better detection of min area for select
     regions. In case of Area errors, ErrorHighlight is valid if pp != null || geom != null otherwise area errors are not
     removed by databaseEndChangeBatch.

BUG: (10/26/04, GVG) Again patching Cell.getName() to avoid StringIndexOutOfBoundsException.

BUG: (10/26/04, GVG) Coverage implant: wrong detection of substrate primitive nodes
FIX: NodeInst.isPrimtiveSubstrateNode added

************************* Version 8.01ad: *********************************

BUG: (10/25/04, GVG) JELIB$GroupsByName.compare, Cell$CellGroup.getName crashed if cell names don't have same length
FIX: Fix put on Oct 22 was not good enough

IMP: (10/25/04, GVG) Adding PP.A.A in TSMC90 (Area rule for P+ regions).

BUG: (10/25/04, DN) Network tool didn't recompute icon after removal of export.
FIX: "NetCell.exportsChanged" corrected.

BUG: (10/25/04, DN) Memory leakage in JELIB reader.
FIX: Assign null tp "input.JELIB.allCells" at the end of reading.

BUG: (10/25/04, DN) "CrossLibCopy" dialog may crash when no cell celected.
FIX: "Library.findNodeProto" tests if argument is null.

BUG: (10/25/04, DN) Network errors after moving a cell into another group.
FIX: Add method "modifyCellGroup" to interface "database.changes.Change".

IMP: (10/25/04, DN) Explorer context menu allows only newest versions of schematic cells to be
     main schematics.

IMP: (10/25/04, SMR) Added "BiCMOS" technology.

BUG: (10/24/04, SMR) JELIB files fail if there is a library with the same name as a technology.
FIX: In JELIB, node instances now distinguish between primitive and cell instance by using "N" and "I".

IMP: (10/24/04, SMR) Added "EFIDO" (digital filter) technology.

IMP: (10/24/04, SMR) Added "GDS" input.

BUG: (10/24/04, SMR) Changing an icon size does not affect the "example" instance in the schematic.
FIX: In "database.constraint.Layout.lookDown()", do not ignore example icons.

IMP: (10/23/04, GVG) Cleaning TechPalette and putting in default position last PrimitiveNode selected

************************* Version 8.01ac: *********************************

BUG: (10/22/04, GVG) Out of bound in Cell.getName() as cell names don't have same length
FIX: Skip cases where names don't have same length

IMP: (10/22/04, GVG) Proper set of ErrorLog for Schematic DRC.

IMP: (10/22/04, GVG) Cross-shaped contacts are default in TechPalette. For PrimitiveNode, default node
     (e.g. cross-shaped contact or standard transistor) would be created unless you click on arrow.
     Sizing of cross-shaped contacts based on cross section.

IMP: (10/22/04, DN) Network calculation is always performed in change thread.
     GUI thread can either "getUserNetlist" and wait until it is ready, or
     "acquireUserNetlist" and obtain "null" if it is not ready.

IMP: (10/22/04, SMR) Improved speed of arraying and re-exporting by improving speed of
     finding a unique name in a cell.

IMP: (10/21/04, SMR) Array no longer sets names when they are only temporary.

************************* Version 8.01ab: *********************************

BUG: (10/21/04, GVG) DRC and cropping. After removing rounding in calcBound, cropping function
     was not working properly in DRC.
FIX: DBMath.isGreaterThan instead of "<=".

IMP: (10/21/04, SMR) JELIB reader checks that cells with the same name are in the same group.

IMP: (10/21/04, SMR) Made cell groups have sensible names so that it is easier to rearrange them.

IMP: (10/21/04, SMR) Closed bugs in JELIB format: handles "(" in variable names;
     handles newline in strings.

IMP: (10/21/04, SMR) Deleting a library (or re-reading it) checks to make sure that
     none of the former library has cells that are in use elsewhere.

IMP: (10/21/04, SMR) Selecting a signal in the schematic shows all equivalents in the waveform window.

IMP: (10/21/04, GVG) Cross-shaped contacts in TSMC90 including multiple cuts.

IMP: (10/21/04, SMR) Added "CIF" input.

IMP: (10/20/04, DN) Deprectated those variables on Technology, Tool,
     View, PrimitiveNode/Arc/Part objects which are not meaningful preferences.

IMP: (10/20/04, SMR) Now preserving the "main schematic" for a cell group.
     Also saving and restoring it through "jelib" files.
     Explorer tree has command for setting "main schematic".

************************* Version 8.01aa: *********************************

IMP: (10/20/04, GVG) Moving rounding operation from PolyBase.calcBound to ELIB.getArcEnd.
     Modifications in build.xml (new options: -Dplugin3D -DGNU -Dsource)

BUG: (10/19/04, GVG) Library Read errors give null exception.
FIX: Test if highlighter != null in ErrorLogger

IMP: (10/19/04, GVG) StringBuffer instead of String for loops (findBugs source).

************************* Version 8.01z: *********************************

BUG: (10/19/04, SMR) JELIB input creates extra exports in icons.
FIX: When JELIB input creates an export, disallow creation of associated icon export.

BUG: (10/19/04, SMR) Cannot place cell instances.
FIX: In "PaletteFrame.java", allow all NodeProto placements, not just PrimitiveNode.

************************* Version 8.01y: *********************************

BUG: (10/18/04, GVG) Rounding error in DRC min width checking
FIX: DBMath.isGreater() function added to consolidate comparison and rounding operations

IMP: (10/18/04, GVG) Parasitic tab skeleton in Preferences. Corresponding html/png files were added for manual.
     All tools-related figures were redone.

IMP: (10/18/04, GVG) New look&feel of WellCheck dialog (documentation changed).
     3DView: Ability to turn on/off antialiasing without closing 3D window.
     Changes in diffuse, specular and ambient colors. Parasitic: arc cropping added.
     Code optimization in DBMath.round and DBMath.pointInRect. Code cleaning in Constraint.Layout.
     Job.checkExamine() disabled.

IMP: (10/18/04, SMR) Specifying libraries on the command line handles both ELIB and JELIB format.

BUG: (10/18/04, SMR) JELIB input damages quoted strings.
FIX: Fixed input module (so JELIB files are fine, reader was bad).

************************* Version 8.01x: *********************************

IMP: (10/15/04, SMR) Spice plotting allows partial files.

IMP: (10/15/04, SMR) Waveform window handles "Fill Window" properly.

IMP: (10/15/04, SMR) Waveform window can highlight individual sweeps.

BUG: (10/14/04, SMR) Spice output gets confuses when a single-wire export connects to one member of a bus export.
FIX: In "Topology.doGetNetworks()" sort networks by bus width as they are accumulated, not later.
     Changed Spice output to favor export names (isNetworksUseExportedNames).

IMP: (10/13/04, SMR) Added maze routing.

IMP: (10/12/04, SMR) A holdover from "C Electric" is the "temporary object".  It is unsafe and wastes memory.
     Its use has been replaced with HashMaps, and it has been removed from Geometric, ArcProto, and Cell.

IMP: (10/12/04, SMR) Added unrouting.

IMP: (10/11/04, SMR) Added river routing.

BUG: (10/11/04, DN) Networks of isolated ports have no names.
FIX: Add names "node.port".

IMP: (10/10/04, SMR) Added Messages Window font selection.

IMP: (10/9/04, SMR) Added technology conversion ("View / Make Alternate Layout View").

IMP: (10/7/04, SMR) Added Explorer-pane context menu item on cell groups to rename the entire group.

BUG: (10/6/04, SMR) Arc negation is lost during many operations (copy/paste, cross-library copy, insert jog in arc).
FIX: Must reset this information.

IMP: (10/6/04, SMR) Added "EDIF" output.

IMP: (10/5/04, GVG) 3DView: Ability to turn on/off antialiasing without closing 3D window. Changes in diffuse, specular
     and ambient colors. Parasitic: arc cropping added.

IMP: (10/4/04, GVG) First basic coding for parasitic extraction (Package tool/parasitic added).

IMP: (10/2/04, SMR) Added "LEF" and "DXF" output.

IMP: (10/2/04, SMR) Added "MOSSIM" netlisting.

IMP: (10/2/04, SMR) Added "L" output.

IMP: (10/1/04, GVG) badSubBox: Cell parameter out. PolyBase.calcBound: out rounding.

IMP: (10/1/04, SMR) Added "ESIM/RSIM/RNL/COSMOS" netlisting.

IMP: (10/1/04, SMR) Added "FastHenry" netlisting, Preferences panel, and arc properties.

IMP: (9/30/04, GVG) ArcProto preferences moved to ERC package so no circular dependencies (de-coupling action).
Profiling DRC: Arrays.fill instead of iterator.

IMP: (9/29/04, SMR) Added "Skill" netlisting and a "Skill" panel in Preferences.

IMP: (9/28/04, GVG) 3D view: object highlight and connection with 2D view in both directions.
Click.wav to resources folder.

IMP: (9/28/04, SMR) Added "Tegas" netlisting.

IMP: (9/27/04, GVG) ERC profiling: removal of 3 fields in WellArea/WellCon (15% reduction in WellArea, 20% in WellCon).
Poly classs splitted: new PolyBase classs should be used if only geometrical information is required. Poly class contains
text attributes that are not required in some cases (ERC, DRC, LayerCoverage, etc). Developers should know when to switch
from heavy class Poly to light class PolyBase.

IMP: (9/25/04, GVG) Adding ambiental light to 3D view. Antialiasing option added and
manual was updated.

BUG: (9/24/04, GVG) Geometries on Network: arcs were not transformed up to the top cell and adding export detection.

IMP: (9/24/04, SMR) Added Silos netlisting.

BUG: (9/24/04, SMR) Cell names are sorted incorrectly.
FIX: In TextUtils.nameSameNumeric(), make sure numbers are evaluated in base 10.

BUG: (9/24/04, DN) Reading libraries from script and from menu is different.
FIX: Change control of circular library dependences in Cell.addNode

FIX: (9/23/04, GVG) Minor fixes for 3D view: Avoid exception if highlighter is null (3D view), new depth value for
active cut, drawing physical layers

IMP: (9/23/04, GVG) Improvements in scheduled aborts in ERC.

IMP: (9/23/04, SMR) PostScript output includes cell frames.

FIX: (9/23/04, GVG) ERC fix to properly detect polygons with multiple loops inside.
     This error could be seen in qfour2:pads180nm_100um:pad_part_flwout{lay}.

IMP: (9/23/04, GVG) Tuning of ERC sequence of steps. Results: ERC on pad2core:fillpads_all{lay} runs in 5 mins
compared to more than 1hr (42793 areas and 38350 contact regions checked)

************************* Version 8.01w: *********************************

IMP: (9/23/04, SMR) PostScript output improved.

IMP: (9/22/04, SMR) Waveform window has button to show vertex points.

IMP: (9/22/04, SMR) Added "bipolar" and "pcb" technologies.

IMP: (9/22/04, SMR) Added ability to show sweeps and intervals to waveform window.

IMP: (9/21/04, SMR) Added "Make Schematic" to convert layout to schematics.

IMP: (9/22/04, GVG) Refactoring NodeInst/ArcInst makeInstance/newInstance methods.
     From now on, short/long definitions are available

IMP: (9/22/04, GVG) CrossLib dialog and scrollbars. Added syncronizer to keep 3 scrollbars aligned.

IMP (9/21/04, RK) Performance tuning flat NCC algorithm. I replaced StratFrontier with LeafEquivRecord which is much more efficient.
     Flat NCC of top cell of qFourP2 without size checking has dropped from 16 minutes to 2.8 minutes.
     With size checking has dropped from 22 minutes to 8 minutes.

************************* Version 8.01v: *********************************

FIX (9/21/04, JKG+GVG) Fix for checking export type on ERC well network.
     Don't check if well networks are not connected together; NCC will check that

IMP: (9/21/04, SMR) Added "Down Hierarchy In Place".

BUG: (9/21/04, SMR) Verilog netlister doesn't handle doubly-indexed busses where the first index is non-numeric.
FIX: In Topology.doGetNetworks() must find any numeric index to determine ascending/descending order.

IMP: (9/20/04, SMR) HSpice output reader now handles noise signals properly.

IMP: (9/20/04, SMR) Made messages window use fixed-width font.

************************* Version 8.01u: *********************************

BUG: (9/20/04, GVG) DRC and minimum area checking: no merging correctly poly and transistor-poly areas
     while checking areas. FIX: Consider this case as exception and the first polysilicon layer found will be used.

IMP: (9/20/04, GVG) Ability to abort ERC and DRC jobs

BUG: (9/20/04, GVG) ERC not properly detecting well contacts not connected to ground/power.
FIX: Iterate over Export in JNetwork and check if isGround() or isPower(). Even if contacts are not
     explicitly connected, it won't complain if network has export gnd/power

IMP: (9/19/04, SMR) Serpentine transistors now know port information.

BUG: (9/19/04, SMR) Verilog output still gets busses wrong.
FIX: In Verilog.writeCellTopology(), must find proper signal in aggregate list.

************************* Version 8.01t: *********************************

IMP: (9/19/04, RK) Implement Variable Value caching and simple expression evaluation in VarContext.
     These two bypass 80% of the bean shell calls

IMP: (9/19/04, RK) Allow the user to enable more detailed progress reports.

BUG: (9/19/04, RK) For AnnC. Hierarchical NCC from two windows didn't compare the two root cells.

IMP: (9/18/04, SMR) HSpice waveform reader checks binary data for EOF.

BUG: (9/18/04, SMR) Verilog output still gets descending busses wrong.
FIX: In Verilog.writeCellTopology(), must take original bus size into account.

************************* Version 8.01s: *********************************

FIX: (9/18/04, JKG) Fixed waveform window cross-probing and cross-highlighting
     of exported networks

FIX: (9/18/04, SMR) Fix for verilog netlisting of busses

IMP: (9/17/04, GVG) New active size for new technology. All transistors affected.

************************* Version 8.01r: *********************************

FIX: (9/17/04, GVG) DRC fix related to Well regions not connected and serpentine transistors.

IMP: (9/17/04, GVG) Improvements to speed up incremental DRC.

IMP: (9/17/04, JKG) new command "Tool -> Logical Effort -> Clear LE Sizes in all Libraries"

************************* Version 8.01q: *********************************

IMP: (9/17/04, SMR) Dialogs remember their last size; "change" dialog grows sensibly.

FIX: (9/16/04, JKG) Can now set Serpentine transistor length from GetInfoNode dialog

BUG: (9/16/04, SMR) Arcs that run from a node to itself are not constrained right.
FIX: Disallow such arcs from moving more than once.

BUG: (9/16/04, SMR) Verilog output gets descending busses wrong.
FIX: In Verilog.writeCellTopology(), must load descending busses backwards.

IMP: (9/16/04, SMR) Serpentine transistor width is better supported.

BUG: (9/16/04, SMR) "Change" dialog cannot switch libraries.
FIX: Allow automatic library switching only when new objects are selected.

************************* Version 8.01p: *********************************

BUG: (9/16/04, JKG) Fix to change dialog: library pull-down menu was useless.

BUG: (9/16/04, JKG) Hack to get transistor width/length of serpentine transistors.
     Length is always 2.

BUG: (9/16/04, JKG) Fixed LE algorithm with caching

BUG: (9/16/04, GVG) Wrong transformation sequence introduced when cells are mirrored.

BUG: (9/16/04, GVG) Fix in geometry on network: wrong network selected

IMP: (9/15/04, GVG) Check box in DRC Tab to disable area checking.

IMP: (9/15/04, GVG) Improvement in List Geometry on Network

IMP: (9/15/04, GVG) Adding option to disconnect DRC area checking. Manual
     updated on 9/16/04

************************* Version 8.01o: *********************************

BUG: (9/15/04, JKG) Fixed changing transistor sizes/mirror etc from GetInfo dialog

IMP: (9/15/04, JKG) Add Tool -> Logical Effort -> Clear LE Sizes on node
     to delete LE sizes on a node.

IMP: (9/15/04, SMR) "Change" dialog always goes to currently selected cell, even
     if it is in a different library.

IMP: (9/15/04, SMR) Reading HSpice output now handles "x" in names better.

IMP: (9/15/04, SMR) When changes are disallowed, "Cancel" option is offered.

BUG: (9/15/04, SMR) Export names STILL don't array in the right order.
FIX: ExportChanges.reExportPorts must take a map to the original Exports, not a List.

BUG: (9/15/04, SMR) Copying and pasting cell text doesn't work.
FIX: Clipboard updated to handle Highlights instead of Geometrics.

IMP: (9/15/04, SMR) "Text Properties" dialog on cell instance names doesn't allow changes.

IMP: (9/15/04, JKG) Added "File->Force Quit (and Save) " to kill Electric

IMP: (9/14/04, SMR) Can now print waveform windows.

IMP: (9/14/04, SMR) Added "Eagle", "Pads", and "ECAD" netlist output.

************************* Version 8.01n: *********************************

BUG (9/14/04, RK) NCC assertion fails when designs being compared share a cell.

BUG: (9/14/04, RK) NCC doesn't print Cell version number.

BUG: (9/13/04, SMR) Spice output gets indexed names wrong.
FIX: In tool.io.output.Spice, do not use aggregated names (an interface option in tool.io.output.Topology).

IMP: (9/13/04, GVG) DRC will highligh Geometric instead of Poly whenenver is possible

BUG: (9/13/04, SMR) Extracting cells doesn't handle mirroring right.
FIX: In CircuitChanges.extractOneNode(), adjust for mirroring.

IMP: (9/13/04, SMR) Made default explorer panel wider.

IMP: (9/13/04, SMR) Improved the color mixing model to use vector addition and normalization.

IMP: (9/13/04, SMR) Improved placement of icon ports when new schematic exports are created.

BUG: (9/10/04, GVG) CrossLibCopy: not comparing attributes and wrong comparison for Exports
FIX: Extra code in Cell, NodeInst, PortInst, PortProto and Variable.

IMP: (9/10/04, GVG) New look@feel in CrossLibCopy dialog. Center column will display date comparison.
     Two extra toggles were created to handle quiet mode and "date and content" comparison. Buttons "List Diff" and "Examine
     Quietly" were removed

BUG: (9/10/04, GVG) Technology bits not being copied in TechPalette for transistors in Schematics.
     Side effect: wrong name assigned. FIX: NodeInst.newInstance passes also techBits.

BUG: (9/10/04, GVG) Zero-width arcs didn't get correct angle while copying them.
FIX: ArcInst.newInstance passes def value for angles in case port points coincide

IMP: ErrorLog handles warning messages. Red dot icon when it is an error and yellow one when its just a warning

IMP: (9/10/04, SMR) In-line text editing starts the text selected.

IMP: (9/10/04, SMR) Creation of multiple cell-center nodes is disallowed.

BUG: (9/10/04, SMR) When instances in a cell are locked, moving more than one object
     erroneously invokes the locked-warning dialog.
FIX: In CircuitChanges.ManyMove.doIt() only check nodes that moved, not all in the cell.

IMP (9/10/04, RK) Allow user to control number of items printed in the error diagnostics.

IMP (9/10/04, RK) Reworked the NCC commands. The operation is now selected by the NCC preferences pane while the number of windows is selected by the menu.

BUG: (9/10/04, SMR) Arraying arcs doesn't copy their constraining properties.
FIX: Array code calls "copyPropertiesFrom()".

IMP: (9/10/04, SMR) Added David Harris's ROM generator.

IMP: (9/9/04, GVG) DRC Adding warning messages when zero width arcs are detected (covered or non-covered by other layers).

BUG: (9/9/04, RK) NCC Memory usage optimization. On small test case: LoCo fourMemories NCC uses 1/3 of the memory. Hierarchical comparison of LoCo is now 3x faster with these optimizations.

BUG: (9/9/04, SMR) Area-erase doesn't work in schematics.
FIX: Better choice of nodes to delete.

IMP: (9/9/04, SMR) HSpice output reader now handles binary files with bytes swapped.

BUG: (9/9/04, JKG) CIF output of "Boxes" could have center coords off minimum CIF grid, causing
     Boxes to shift when CIF was read back in.
FIX: If "Boxes" have center off-grid, they are written out as Polygons.

IMP: (9/9/04, GVG) Main: not attempt to read set of libraries if set is empty. Side effect: avoid unnecessary endBatch call

IMP: (9/9/04, GVG) ErrorLogger: For a given sortKey, sort messages lexicographically

IMP: (9/9/04, GVG) Clipboard: No DRC on hidden libraries.

BUG: (9/9/04, RK) NCC: bug fix for Tarik, Fix Hierarchical NCC from 2 windows

************************* Version 8.01m: *********************************

BUG: (9/9/04), GVG) ERC: Wrong detection of polygons with holes and therefore it complained about "areas too close"
FIX: Extra loop in GeometryHandler.getObjects() to retrieve polygons with holes and then later process them.

BUG: (9/9/04), GVG) ERC: Wrong transformation applied to subMerge areas and therefore ERC wrongly calculated areas with no contacts
FIX: ni.TranslateOut(trans) instead of ni.translateOut() + concatenate

IMP: (9/9/04, GVG) DRC: Better message for cases where exclusion areas don't apply

IMP: (9/9/04, GVG) ERC: Better used of Hierarchical enumerator (functionality moved to visitNodeInst

IMP: (9/3/04, RK) Allow Hierarchical NCC from 2 windows

IMP: (9/8/04, SMR) Waveform window lets you cross-probe at lower levels of hierarchy.

IMP: (9/8/04, SMR) Can now add signals multiple times to the waveform window.

IMP: (9/8/04, JKG) Added cancel button to Change CellGroup dialog

BUG: (9/8/04, JKG) Window focus problems in MDI mode
FIX: moved show() calls out of Job threads and into AWT Event thread.

FIX: (9/8/04, JKG) Fixes to logical effort algorithms: mfactors on uncached
     alg, cap values on both algs, made compatible with diffn/diffp of old style gates

FIX: (9/8/04, JKG) CellGroup changes now in Undo system; explorer tree
     redraws on change; cell group dialog sorts groups list

IMP: (9/7/04, SMR) Now save the current cell in the Preferences.

BUG: (9/7/04, SMR) Cell extraction may create duplicate temporary names.
FIX: In CircuitChanges.extractOneNode(), do not use existing name: use either null
     or a unique name.

************************* Version 8.01l: *********************************

IMP: (9/3/04, SMR) Added ".jelib" reader and writer.

BUG: (9/3/04, SMR) Rotating or mirroring may distort layout.
FIX: The constraint system in Layout.java records two types of changes to
     a node: a size or a position change.  Size changes were somehow considered
     less important.  There was inconsistent use of this information, causing trouble.
     By removing the distinction, the code works correctly.

IMP: (9/2/04, SMR) Small text is now drawn "greek" and is selectable.

BUG: (9/2/04, SMR) Port text is not the right size.
FIX: In PixelDrawing.showCellPorts(), use size from the actual Export.

IMP: (9/2/04, GVG) Better handling of collections of simple polygons and rings for
enclosure area checking.

BUG: (9/2/04, GVG) Clipboard crashes if list in copyListToCell contains Exports
FIX: Temporary fix to avoid the exception, non-Geometric objects are ignored.

IMP: (9/2/04, SMR) Removed printer choice from "Printing" tab of "Preferences".

BUG: (9/1/04, GVG) Artwork arcs don't have network associated then modification in StatusBar crashes
FIX: Get Network information only when network is not null.

BUG: (9/1/04, SMR) Changes to the number-of-degrees of a circle don't update the node bounds.
FIX: Added ElectricObject.checkPossibleVariableEffects()" and an override in NodeInst.

BUG: (9/1/04, SMR) Thick lines may cause crashes.
FIX: In PixelDrawing.drawThickPoint(), test X and Y indices properly.

BUG: (9/1/04, SMR) Printing crashes if no printers are defined.
FIX: Check for valid default printer in "IOTool.getCachePrinterName()".

BUG: (8/31/04, SMR) Changing the case of an export (in Export/Rename) doesn't work.
FIX: In Export.rename(), allow case-changes without thinking that it is an existing export.

BUG: (8/31/04, SMR) Waveform window crashes when "Down Hierarchy" or "Up Hierachy" commands are used.
FIX: Ignore these commands: they don't apply to the waveform window.

IMP: (8/31/04, JKG) "Optimize Gates for Equal Delay With Caching" new menu item,
    eventually old command will be removed.  In Tool->Logical Effort

IMP: (8/31/04, JKG) "Repeat Last Command" in Edit menu.

IMP: (8/30/04, GVG) New transistors in TSMC90. Changes in TechPalette to select them.

IMP: (8/30/04, RK) Transistor size checking.

BUG: (8/30/04, SMR) Crashes when the last waveform panel is deleted.
FIX: Only select a panel if there are any.

BUG: (8/30/04, SMR) "Cross-library copy" doesn't copy subcells if they are not in the original library.
FIX: In "CircuitChanges.copyRecursively()" do not skip cells that are in the wrong library.

BUG: (8/30/04, SMR) "Array" places exports out of order if nodes are named out of order.
FIX: In "Array.java" sort the export names.

IMP: (08/30/04, GVG) Refactoring DRC code. Decoupling Technology from DRC

IMP: (08/26/04, GVG) Hierarchical minimum area and enclosed area available in DRC.

BUG: (8/26/04, DN) Network tool keeps global nets after deleting global and power symbols.
FIX: Don't traverse self icon when gathering globals.

************************* Version 8.01k: *********************************

IMP: (8/29/04, SMR) Added "rcmos" technology (round rules).

BUG: (8/27/04, SMR) Newly placed cell-centers are made "easy to select".
FIX: "cell center" and "essential bounds" made hard-to-select in PaletteFrame.PlaceNewNode.doIt().

IMP: (8/25/04, SMR) In-line text editing works for multi-line text.

BUG: (8/25/04, JKG) Automatic reinheritance of default parameters inside getVar() was a
    bad idea. Call ElectricObject.getParameter() or ElectricObject.getParameters() if you
    want the returned variables to include default parameter variables.

IMP: (8/25/04, JKG) Added File Menu -> Page Setup... command

BUG: (8/25//04, GVG) MoCMOS wrong min spacing for active in different implants (Same problem in C-Electric)
FIX: 4 instead of 3

IMP: for a given pair, DRC only reports errors once.

IMP: (8/25/04, SMR) "Array" dialog allows negative array amounts to create
     arrays in the other direction.

BUG: (8/24/04, SMR) Verilog output sometimes writes 2 connections for a transistor instead of 3.
FIX: Do not remove ports that are electrically connected.

BUG: (8/24/04, SMR) Verilog output scrambles bus signals, failing to aggregate them properly.
FIX: In "tool.io.output.Topology.doGetNetworks()" assigned export names properly.

IMP: (8/24/04, SMR) Verilog output now prepends library name to all module names.

************************* Version 8.01j: *********************************

BUG: (8/24/04, GVG) MoCMOS via4 spacing rule was found as wide rule. NOTE: Also found in C-Electric
FIX: Transformed into standard spacing rule

BUG: (8/23/04, GVG) DRC and wide rules in MoCMOS not properly translated to new data structure
     (Metal2-Metal3 wide distance setup calling wrong constructor)
FIX: Adding missing argument (WIDELIMIT)

IMP: (8/22/04, JKG) Added mouse-over highlighter. To disable if necessary, set
     ClickZoomWireListener.useMouseOverHighlighter to false.
     Controlled with "Selection" and "Color" tabs of Preferences.

BUG: (8/22/04, JKG) From Justin: double clicking in library explorer
     changes cell in another window
FIX: Current window frame was not strictly deterministic
     with respect to window focus. Instead of setting the current window
     frame, request focus, which will in turn set the current window frame.

IMP: (8/22/04, JKG) Created ActivityLogger to log user's activities. Also
     added EventProcesser to catch Swing exceptions. Hopefully all user
     actions and exceptions can be logged and analyzed later.

FIX: (8/22/04, JKG) fixes to some GUI classes to try to make them Swing-thread safer

BUG: (8/22/04, GVG) ERC reporting wrong floating well contacts (Justin reported).
FIX: Non-connected contacts get netNum = -1 in Java

BUG: (8/22/04, SMR) "Cleanup Pins" doesn't get two inline pins in a row.
FIX: Made inline pin cleanup iterative to keep finding more.

IMP: (8/22/04, SMR) Added context menu in Messages Window to cut/copy/paste its contents.

IMP: (8/22/04, SMR) Added "View / Make Skeleton View".

IMP: (8/21/04, SMR) "Array" now places objects in proper name order.

IMP: (8/21/04, SMR) "Change" dialog centers the selected item better.
     (implemented EDialog.centerSelection).

IMP: (8/21/04, SMR) Text can now be colored.

BUG: (8/21/04, SMR) Re-exporting creates duplicate exports.
FIX: In "tool.user.menus.ExportChanges.reExportNodes()" check for existing exports.

IMP: (8/21/04, SMR) "Change" dialog is now modeless.

BUG: (8/20/04, SMR) Text anchor does not rotate properly when nodes are mirrored.
FIX: Fixed database.geometry.Poly.rotateType().

BUG: (8/20/04, SMR) Node "Properties" dialog doesn't update size properly when mirrored.
FIX: Fixed to remember proper original size.

************************* Version 8.01i: *********************************

IMP: (8/19/04, JKG) new command line options: -mdi (force MDI mode) and
    -sdi (force SDI mode). -m no longer works.

BUG: (8/19/04, GVG)In DRC, wrong condition for wide wire rule (<= instead of <)
FIX: Change <= by <

IMP: -version and -help as command options

FIX: (8/19/04, GVG): Rounding error while creating a new Poly (width/height were not rounded). It was observed in new tech only.
IMP: (8/19/04, GVG): More area rules (DO.A.1)
MAN: (8/19/04, GVG): -m out? if yes, check documentation.

************************* Version 8.01h: *********************************

FIX/IMP: (8/19/04, RK) NCC check's assertions: exportsConnectedByParent. It turns out that assertion checking is needed to avoid a bug in netlist construction.

BUG: (8/18/04, SMR) DRC crashes when run on icons.
FIX: Use Schematic DRC for Icons, not layout DRC.

BUG: (8/18/04, SMR) Artwork arcs are fixed-angle by default.
FIX: In "technology.technologies.Artwork", made all arcs not-fixed-angle.

BUG: (8/18/04, SMR) Reading ELIB files with cell-centers that are not at the origin places geometry badly.
FIX: In "tool.io.input.ELIB.realizeNode()" must offset the anchor values by (xoff,yoff).

BUG: (8/18/04, SMR) "Show Ports On Node" and "Show Exports" display incorrectly when zoomed in.
FIX: Determines visible ports before arranging them on the display.

BUG: (8/18/04, SMR) "Size" on nodes doesn't work right for mirrored nodes; should not be center-based.
FIX: Size now works from farthest corner (unless Control is held).

FIX/IMP: (8/18/04, JKG) copy/paste fixes: default paste by center point,
    can move anchor point, shows delta from copy to paste. Right click menu added when pasting.

IMP (8/18/04, GVG): Extra sizing rules for metals (another level) and area

************************* Version 8.01g: *********************************

FIX: (8/17/04, RK) exportsConnectedByParent works on "implicit" expots created for global signals

IMP: (8/17/04, GVG) More rules for new technology. Important changes in DRC code so previous version was tagged as version-8-01g just in case

FIX (8/15/04, JKG) Closing a library now actually closes all Cells in library as well.

IMP (8/15/04, JKG) Added library palette to Components palette.

************************* Version 8.01f: *********************************

FIX: (8/13/04, JKG) Round doubles before truncating to int in ELIB writer, fixes
    instances moving because of doubles precision errors.

FIX: (8/13/04, JKG) Various fixes to Highlighter introduced in last version

IMP (8/13/04, JKG) Show networks now works hierarchically for layout (keep hitting ctrl-k)

IMP: (8/13/04, RK) "Better" NCC error reporting for Hash Code parition failures

IMP: (8/13/04, RK) NCC reports Part and Wire counts

IMP: (8/13/04, RK) NCC summarizes Export, topology, and size mismatches separately for each Cell and then for all Cells

IMP: (8/13/04, RK) NCC prints execution time per Cell and for the entire command

FIX: (8/13/04, RK) When NCCing hierarchically and continuing after errors, flatten subcircuits with Export name mismatches.

************************* Version 8.01e: *********************************

IMP: (8/12/04, JKG) Added preference in General Tab as to how Electric chooses the working dir.

IMP: (8/11/04, JKG) Highlighter now selects from a stack of objects based on last object selected.

FIX: (8/9/04, GVG): DRC: Missing transformation in hierarchical DRC so neighbor cells were not checked.

IMP: (8/9/04, GVG): GDS values in TSMC90 tech.

IMP: (8/9/04, JKG) Added color chooser to GetInfoArc

FIX: (8/9/04, JKG) Fixed X/Y size mirroring bug in GetInfoNode dialog

IMP: (8/6/04, JKG) De-staticized Highlight. Split into Highlighter, and Highlight object.
    Each WindowContent has it's own Highlighter.

FIX: (8/6/04, GVG) Flexible arcs were not streched when contact ports were resized. Fix: adjustMatrix considers now X and Y scales.

IMP: (8/4/04, GVG) Subset of DRC rules for TSMC90 tech. Some functions used in MoCMOS were promoted to Technology class for reusage.

FIX: (8/4/04, GVG) In FileMenu:CloseLibrary: Doesn't close library if there are still some references in other cells.
FIX: (8/4/04, GVG) In DRC, polygon is not checked against itself while analyzing minimun distances

************************* Version 8.01b: *********************************

IMP: (8/03/04, JKG) GetInfoNode now shows transistor width/length instead of x/y size
        for transistor nodes

FIX: (8/2/04, RK) NCC wasn't checking that same named Exports are on the equivalent nets.

IMP (8/2/04, RK) Added NCC annotation: "notSubcircuit".

IMP: (7/29/04, JKG) Added "Re-export Selected, include wired ports", and
        "Re-export Highlighted Area, inc. wired ports" menu commands.

IMP: (7/25/04, JKG) Added "Re-export Selected" menu item.

IMP (7/23/04, RK) If Export names don't match then suggest a possible mapping

************************* Version 8.01a: ************************

IMP: (7/22/04, JKG) Numerical display now always formats to show postfix. Units Preferences
     disabled, as they no longer make sense. Use TextUtils.parseUserInput to read in numbers.

FIX: (7/22/04, JKG) Many many small fixes in copy/moving/arraying/editing/displaying.

IMP: (7/21/04, JKG) Wiring Tool revamped, all cases checked

IMP: (7/22/04, GVG) New interface for geometrical operation. Error thrown if Java3D is not found. Some improvements in ERC.

IMP: (7/20/04, RK) Add Regular Expressions to FindText Dialog. Allow user selection of objects to be searched. Report finds and changes in Messages Window. Persist dialog settings.  Allow temporary arc and node inst names to be searched.

BUG: (7/20/04, RK) Fix button (it did nothing). Exports weren't being searched.

BUG: (7/19/04, GVG) XSize and YSize in Mult-Object Properties window not correctly calculated. Offset was missing.
FIX: Offset added if objects are instance of NodeInst.

IMP: (7/18/04, JKG) Implement clipping for arcs and text in PixelDrawing. Speeds up redraw when zoomed in.

BUG: (7/16/04, GVG) PolyQTree doesn't properly merge polygons that are touching each other.
FIX: Extra code for those cases.

BUG: (7/18/04, JKG) New cell version command: old version had bad cell group

IMP: (7/16/04, GVG) Better thickness and distances for layers in 3D: technology MoCMOS

************************* END OF Version 8.00, GNU RELEASE *********************************
************************* Version 8.00: Released 7/16/04 *************************

BUG: (7/16/04, RK) Series merging needs to count both Pins and Parts

IMP: (7/15/04, RK) Added Size Checking. It doesn't work yet so disable it in the options dialog.
     Embellished the NCC Options Dialog. Added some documentation to the NCC page.
     Removed Hierarchical from NCC menu because it hasn't been adequately tested.

BUG: (7/15/04, SMR) Cross-library moving may loop infinitely.
FIX: In "database.constraint.Layout.oldPortPosition()", must use local copy of "pp" which is "bottomPP".

IMP: (7/15/04, SMR) Can now delete any type of cell (text, 3D, etc.) and it works.

IMP: (7/14/04, SMR) Added command to show samples library.

IMP: (7/14/04, SMR) Fixed "Describe This Cell" results to line up properly, get state bits right.

BUG: (7/14/05, SMR) Multi-technology libraries get confused about cell technologies.
FIX: In "tool.io.input.ELIB.computeLambda()" and "tool.io.input.ReadableDump.computeLambda()",
     call "cell.setTechnology(cellTech)" to save result.

BUG: (7/13/04, RK) Don't let a user start NCC on an Icon Cell

IMP: (7/13/04, RK) Install NCC into main menus.

IMP: (7/12/04, RK) Roll in all changes to NCC from July break. NCC of all Cells in LoCo. Reorganize file hierarchy.

IMP: (7/12/04, GVG) List Geometry on Network functionality.

IMP: (7/12/04, SMR) Made window adjustment handle multiscreen configurations.

IMP: (7/12/04, SMR) Made requests for the highlighted object ignore text, lines, areas,
     and other non-object highlights.

BUG: (7/12/04, SMR) HSpice output not read properly.
FIX: When reading the .pa0 file, must really read it, and not the .tr0 file.

BUG: (7/12/04, SMR) Multi-object "Properties" dialog lists arc widths incorrectly.
FIX: Include arc width offset.

IMP: (7/12/04, SMR) Node "Properties" dialog now switches X and Y size when the node is rotated.

BUG: (7/12,04, SMR) Schematic Off-page connectors are too small.
FIX: In Schematics.java, made the initial size right.

IMP: (7/12/04, GVG) 3D View available now from Window -> 3D Display menu.

IMP: (7/8/04, SMR) Implemented auto-growth of schematic gates that take any number of inputs.

IMP: (7/7/04, SMR) Implemented reading of SmartSpice output.

IMP: (7/6/04, SMR) Implemented drag-and-drop to rearrange signals/panels in the waveform window.

IMP: (7/6/04, SMR) Implemented Edit / Selection commands for placing signals in the waveform window.

IMP: (7/5/04, SMR) Implemented opening and closing of bus contents in waveform window.

IMP: (7/5/04, SMR) Implemented saving of waveforms with cells.

IMP: (7/5/04, SMR) Digital waveforms now reflect level values in edit window.

BUG: (7/4/04, DN) Network wasn't highlighted when click on icon's port.
FIX: Use 0-th nodable of the icon in "Highlight.showHighlight".

BUG: (7/4/04, DN) "TestUtils.URLExists" sometimes returns true on unexisting URL on Java1.5".
FIX: Explicitly call "connect" in "TestUtils.URLExists".

IMP: (7/2/04. GVG) Reorganizing gif files under resources folders.
3D view working with reflection now.

BUG: (7/1/04, SMR) "Insert Jog In Arc" works wrong for arcs that are not on grid.
FIX: Now keeps inserted jog inside of the arc.

IMP: (7/1/04, SMR) Created "com.sun.electric.plugins" package for extras.

IMP: (7/1/04, SMR) Maxwell now includes net names.

IMP: (6/30/04, SMR) Added "refresh" button to waveform window to re-read simulation data.

IMP: (6/30/04, SMR) Maxwell output writes contact cuts, scales to microns.

IMP: (6/30/04, SMR) AND, OR, and XOR gates now scale properly.

IMP: (6/29/04, SMR) New waveform windows start with the panel selected.

IMP: (6/29/04, SMR) Added "Panning Distance" to "General" preferences tab; removed from Windows menu.

IMP: (6/29/04, SMR) Moved "Make Click Sounds" from "General" preferences tab to "New Arcs" tab.

IMP: (6/29/04, SMR) Fixed ERC Antenna Check crash.

IMP: (6/29/04, SMR) Fixed ERC Well Check to handle new polygon merge results without crashing.

IMP: (6/29/04, SMR) Fixed CDL writing so that the .cdltemplate file is written correctly.

IMP: (6/29/04, SMR) Fixed bug in Schematic DRC that gave errors for icons with no body.

IMP: (6/29/04, SMR) Moved IRSIM output from tool/simulation to tool/io/output; fixed it to save to disk.

IMP: (6/27/04, SMR) Impelemented incremental DRC.

IMP: (6/25/04, SMR) Waveform window improvements:
     Each panel is numbered, have a pulldown of panels, can hide/show panels;
     Fixed bogus time values, such as 1.999ns;
     Time cursors are dashed-lines;
     Right-click on signal in signal-names panel changes its color

IMP: (6/24/04, SMR) Waveform window improvements:
     Double-click on signal in explorer tree to add it to current panel;
     Adding the same signal to a panel doesn't add it twice: changes its color;
     Tooltips on all buttons.

IMP: (6/25/04, SMR) Implemented "Help / User's Manual" and began to convert C manual.

IMP: (6/25/04, GVG) First version working of 3D View.

IMP: (6/25/04, RK) Added NCC Local processing step to find user-understandable differences

IMP: (6/23/04, SMR) Preferences panel opens the tree to the proper place (and uses single-click to open them).

IMP: (6/23/04, SMR) Implemented drag-and-drop for signal names into the waveform viewer.

IMP: (6/22/04, RK) Added NCC attribute: exportsConnectedByParent

IMP: (6/21/04, SMR) Implemented Spice2 / GNUCap output reader.

IMP: (6/21/04, GVG) Adapting code for 3D View. New commands in Build.xml and some layers got non-zero thickness.

IMP: (6/21/04, SMR) Implemented "Edit / Selection / Push Selection", "Pop Selection".

IMP: (6/20/04, SMR) Implemented simple waveform window cross-probing.

IMP: (6/20/04, SMR) Added command to export "version 6" ELIB files.

BUG: (6/20/04, SMR) Cell centers are seen higher up the hierarchy.
FIX: In "PixelDrawing.expandedCellCached()" call "drawCell()" with "false" as the last argument.

IMP: (6/18/04, SMR) Implemented "Plot Spice for this Cell" and "Plot Verilog for this Cell".

BUG: (6/18/04, RK) Fixed various problems with NCC export checking

IMP: (6/18/04, SMR) Changed binary file format to include cell anchor points.

BUG: (6/18/04, SMR) Spice output uses wrong .global names.
FIX: In "io.output.Spice.start()" convert power and ground to proper names.

IMP: (6/17/04, SMR) Merged 3 options dialogs into 1 "Preferences" dialog.  Created tool.user.dialogs.options package.

IMP: (6/17/04, SMR) Moved per-cell frame selection into "Cell Properties" instead of "Frame" tab of "Edit Options".

IMP: (6/17/04, RK) Remove "Universal Arcs" from layout generators because Java-Electric NCC doesn't need them.

IMP: (6/17/04, RK) Add Export checking to NCC.

IMP: (6/17/04, RK) Remove various Transistor types. Change Transistor to allow stacking of arbitrary number of series transistors.

IMP: (6/17/04, GVG) Change LayerManager in StatusBar to GridLayout to avoid "flickering" in messages.
     Add TextUtils.formatDouble(<double>, 2) to coordinates. Refresh of window titles when current cell changes.

IMP: (6/17/04, GVG) Window title string composed in WindowFrame.
     MDI mode read from command arguments (valid only for window). Preparing code for 3DView

IMP: (6/16/04, SMR) Made DRC be non-static.

BUG: (6/16/04, SMR) DRC fails on active-to-transistor rules.
FIX: Better cropping in Quick.cropActiveArc().

IMP: (6/15/04, SMR) Changed all "dialog.show()" calls to "dialog.setVisible(true)" because of deprecation in 1.5.

IMP: (6/15/04, SMR) Implemented "Window / Center / Selection" and "Window / Center / Cursor".

IMP: (6/15/04, SMR) Implemented cell locking.

IMP: (6/15/04, SMR) Implemented graphing of cell structure.

IMP: (6/15/04, SMR) "Change current library" and "Change" dialogs accept double-click to terminate.

IMP: (6/14/04, SMR) Implemented SPICE writing in lambda units.

IMP: (6/14/04, GVG) More stable version of crosslibcopy with compare functions. Refactoring for getProtoName, getLibName, setLibName, getProtoNamekey

IMP: (6/13/04, SMR) Implemented ability to preserve design rules in preferences.

IMP: (6/12/04, SMR) Readable dump input can handle cross-library references.

IMP: (6/12/04, SMR) Implemented smart text placement (Edit Options, "Text" tab).

IMP: (6/12/04, SMR) Implemented automatic "blobs" where multiple arcs connect to a schematic port.

IMP: (6/12/04, SMR) Implemented "Look Inside Highlighted".

BUG: (6/12/04, SMR) When arcs jog, the R-Tree is damaged.
FIX: In "database.constraint.Layout.java", do not apply constraints to arcs that have been jogged.

BUG: (6/12/04, GVG) SelectedItem in right library pulldown list not correctly set.
FIX: In CrossLibCopy.java: same index as in left assigned (both should correspond to current)

IMP: (6/11/04, SMR) Implemented "Artwork Appearance" dialog for editing Artwork primitives.

IMP: (6/11/04, GVG) Message in WriteLib if no write access. Unified version of coverage implant, merge polygons and
layer coverage calculation. New idea for icon of current library selected in ExplorerTree.

IMP: (6/11/04, RK) Move fill generation to a script. Add Essential-Bounds to tiled fill cells.

IMP: (6/10/04, SMR) Changed the Job.doIt() method to return a success indicator.

BUG: (6/10/04, DN) Unnamed bus connected to array node may detect wrong width.
FIX: In "NetSchem.java".

IMP: (6/10/04, DN) Checking of generic pins and arcs in layout cells moved from Network tool to Geometry output.

BUG: (6/9/04, SMR) "Array" does not array node and arc names.
FIX: In "tool/user/dialogs/Array.java" have node and arc names copied.

IMP: (6/8/04, SMR) Improved "PixelDrawing.java" to align stipple patterns correctly.

IMP: (6/8/04, SMR) Implemented Windows / Messages Window menu with "Save Messages" and "Clear".

IMP: (6/8/04, SMR) Implemented Tools / Routing command "Mimic-Selected".

IMP: (6/8/04, SMR) Implemented Tools / Routing commands "Enable Mimic Stitching" and "Enable Auto Stitching".

IMP: (6/8/04, SMR) Implemented Tools / Spice submenu "Set Spice Model".

IMP: (6/8/04, SMR) Implemented Tools / Verilog submenu "Set Verilog Wire" with commands "Wire", "Trireg" and "Default".

IMP: (6/7/04, SMR) Implemented "View" commands "Edit Multi-Page Schematic View" and "Make Multi-Page Schematic View".

IMP: (6/7/04, SMR) Implemented "Make Grid Just Visible"

IMP: (6/7/04, SMR) Implemented "Match Other Window".

IMP: (6/7/04, SMR) Implemented "Color" tab of "Edit Options" as well as the color commands
     "Black Background Colors", "White Background Colors", and "Restore Default Colors".

IMP: (6/7/04, SMR) Implemented Spice command "Add Multiplier".

IMP: (6/7/04, GVG) Ctrl P for printing. Corrections to M factor code in Spice.java

IMP: (6/6/04, SMR) Implemented "Layer" tab of "Edit Options" dialog.

IMP: (6/6/04, SMR) Implemented "Arrows Filled" option in "Technology" tab of "Edit Options" dialog.

IMP: (6/6/04, SMR) Implemented "Panning Distance" settings.

IMP: (6/6/04, SMR) Implemented "Transistor Strength" setting.

IMP: (6/6/04, SMR) Implemented "List Tools".

IMP: (6/6/04, SMR) Implemented "Get Unrouted Wire".

IMP: (6/6/04, SMR) Reorganized EditWindow so that it is the object used externally,
     not EditWindow.CircuitPart.

IMP: (6/5/04, SMR) Implemented 3D tab of "Edit Options" dialog.

IMP: (6/5/04, SMR) Implemented "Insert jog in arc".

IMP: (6/4/04, GVG) First version of M factor in Spice output.

IMP: (6/4/04, RK) Change fill cell generator so that all reserved
     space may be allocated between ground only or between power only.

IMP: (6/4/04, RK) Change fill cell generator to place bottom left fill
     cell at (0,0) when building tiled fill cells.

BUG: (6/4/04, RK) Change LayoutLib.newArcInst to create only fixed-angle arcs

BUG: (6/4/04, RK) Fix compile errors reported by Eclipse in WaveformWindow.java

BUG: (6/4/04, RK) Fix obsolete comments in JNetwork

IMP: (6/4/04, SMR) Outline listener uses right button to create points, not "a".

IMP: (6/4/04, SMR) Implemented Measure-Distance mode.

IMP: (6/4/04, SMR) Implemented Edit / Selection / "Enclosed Objects"

IMP: (6/4/04, SMR) Implemented Edit / Info / "See All Parameters on Node", "Hide All Parameters on Node", "Default Parameter Visibility"

IMP: (6/4/04, SMR) Implemented readable dump output.

BUG: (6/04/04, GVG) If empty lines are inserted as vars, null and outbound exceptions are thrown om Poly.java and
     GetInfoText.java respectively.
FIX: Skip access if object array[i] is null.

IMP: (6/3/04, SMR) Searching objects in a cell is now an Iterator.

IMP: (6/3/04, SMR) Implemented "Show Power and Ground"

IMP: (6/3/04, SMR) Implemented "Validate Power and Ground"

IMP: (6/3/04, SMR) Can use "++" and "--" to tell where to increment or decrement array indices.

IMP: (6/2/04, GVG) First version of layer coverage.

IMP: (6/1/04, GVG) Open and Save functions in tool bar. Extra functions to verify if Save icon is enabled or disable.

IMP: (6/2/04, SMR) Implemented Annular ring.

IMP: (6/2/04, SMR) "Array" dialog gives a choice of going by row or by column

IMP: (6/2/04, SMR) Implemented ERC antenna check

IMP: (6/2/04, SMR) Implemented Edit / Move / "Align to Grid"

IMP: (6/1/04, SMR) Implemented Edit / Text / "Change Text Size..."

IMP: (6/1/04, SMR) Implemented Edit / Selection / "Deselect All Arcs".

IMP: (6/1/04, SMR) Implemented Edit / Selection / "Select Object..." which can select nodes, arcs, exports, or networks.

IMP: (5/31/04, SMR) Implemented cell instance extraction and packaging.

IMP: (5/31/04, SMR) Implemented MOSIS CMOS scalable transistors.

IMP: (5/30/04, SMR) Implemented Tool / Network / "Show Network", "List Networks", "List Connections on Network",
     "List Exports on Network", and "List Exports below Network".

IMP: (5/28/04, SMR) Implemented View / "Change Cell's View".

IMP: (5/28/04, SMR) Implemented Edit / "Erase Geometry".

IMP: (5/28/04, SMR) Implemented Help / "Describe Current Technology".

IMP: (5/28/04, SMR) Implemented Edit / Size commands: "All Selected Nodes" and "All Selected Arcs".

IMP: (5/28/04, SMR) Implemented Export commands: "Delete Export", "Rename Export", "Move Export".

IMP: (5/28/04, SMR) Implemented Arc commands "Toggle Ends Extension", "Reverse", "Toggle Head-Skip", "Toggle Tail-Skip"

IMP: (5/28/04, GVG) Testing qTree in ERC Check Well (new function doesn't overwrite current one).

IMP: (5/28/04, GVG) Added execution flag to Job class. Second version of qTree for polygon merging

IMP: (5/28/04, RK) Added fill cells: fill456_pwr and fill456w_pwr. Merge Jonathan's gate generator code into mine. Add user interface checks.

IMP: (5/27/04, RK) Added _pwr gates to layout generators. Added fill56_pwr and fill56w_pwr to fill cell generator.

IMP: (5/27/04, SMR) Implemented "Change Current Library", "List Libraries", "Mark All Libraries for Saving", "Rename Library"

IMP: (5/27/04, SMR) Implemented bus ripping.

IMP: (5/26/04, SMR) Implemented schematic frames.

IMP: (5/26/04, SMR) Implemented Spice cell model overrides in the Spice tab of the Tool Options dialog.

IMP: (5/25/04, RK) Add fill123, fill123w, and fill34.

IMP: (5/25/04, GVG) First draft for qTree to replace PolyMerge.

IMP: (5/25/04, RK) Modify "Justin" command so it scans LoCo schematics and generates layout for all
     gates it knows how to.

IMP: (5/25/04, GVG) Disable doAction button in CellBrowser when no cells are available.
     getSelectedCell returns null if index is -1. Rename functionaly enabled in CellBrowser.

IMP: (5/25/04, GVG) Coverage implants: more robust functions. Option added under Tool->Generation->Coverage Implants Generator

IMP: (5/24/04, SMR) Renamed "grab" to "anchor" everywhere.

IMP: (5/24/04, JKG) Improved Pad Generator

IMP: (5/24/04, SMR) Added node alignment commands "Edit / Move / Align..."

BUG: (5/24/04, SMR) During long library input, concurrency exception is thrown.
FIX: Synchronized maintenance of cell lists in Library.java.

IMP: (5/24/04, SMR) Added "Edit / Move / Spread..."

IMP: (5/24/04, SMR) Added "Edit / Move / Move Objects By..."

IMP: (5/23/04, SMR) Implemented "Text" panel of "Edit Options".

IMP: (5/23/04, SMR) Implemented ability to disable file-selection dialogs for netlist output.

IMP: (5/23/04, SMR) Implemented saving of primitive node sizes.

IMP: (5/21/04, SMR) Added EDialog class as super to all dialogs to remember position.

IMP: (5/21/04, SMR) Added Layer.getPureLayerNode() to obtain the pure-layer node associated with a Layer.

IMP: (5/21/04, GVG) Coverage Implants functionality in MenuCommands added.

FIX: (5/20/04, JKG) LE.subdrive() fixed. Various EvalJavaBsh code clean-up. Now uses reflection only.

IMP: (5/20/04, JKG) New dialogs.

IMP: (5/19/04, SMR) Text-edit windows now work.

BUG: (5/18/04, SMR) Should show ports on expanded cells that aren't wired or further exported.
FIX: Fixed in "PixelDrawing.java"

BUG: (5/18/04, SMR) Redisplay sometimes misses parts of the image.
FIX: In "EditWindow.CircuitPart.paint()" must always draw something.

IMP: (5/17/04, SMR) Added Flip-flop creation and support.

BUG: (5/17/04, SMR) When a cell is displayed, its bounds are set to include text.
FIX: In "EditWindow.fillScreen()" do not adjust the cell bounds stored in the cell.

BUG: (5/17/04, SMR) When a library is read back in, existing windows remain to its former contents.
FIX: In "Input.java" clear windows that reference replaced libraries.

BUG: (5/17/04, SMR) When an arc changes its "end extension", its bounds are not recomputed.
FIX: Recompute bounds in "ArcInst.java".

IMP: (5/17/04, JKG) Various dialog improvements.

IMP: (5/15/04, SMR) Added reflection interface to Bean Shell.

IMP: (5/14/04, SMR) Added the concept of "negated connections" instead of arcs.

IMP: (5/14/04, SMR) Added Schematics.getShapeOfPort() which is used for
     intelligent selection of locations on the left side of gates (AND, OR).

BUG: (5/14/04, SMR) Option reconciliation (when libraries with different options are read) broken.
FIX: Organized display into columns; used more meaningful names;
     Also fixed bug that did not display all relevant options.

IMP: (5/14/04, JKG) Tool Tips added. HTML based tips can be browsed by user.

IMP: (5/14/04, JKG) Commented out code to access other Interface modes except
     ClickZoomWire and OutlineEdit.

IMP: (5/14/04, JKG) Copy/Paste now uses mouse offset.  Paste arc to arc broken, fixed.
     Added "Duplicate" command.

BUG: (5/14/04, JKG) Key Bindings stored by menu name caused conflict.
FIX: Now stored by menu path.

BUG: (5/14/04, JKG) Menu shortcut key not updated in menu.  Fixed.

IMP: (5/13/04, SMR) Waveform display is available.

BUG: (5/11/04, SMR) Node "Get Info" dialog does not handle SizeOffset right, displays sizes too large.
FIX: Use SizeOffset.

BUG: (5/11/04, SMR) DRC displays too many digits.
FIX: Created "TextUtils.formatDouble()" and use it in DRC error reporting.

BUG: (5/10/04, JKG) DraggingMustEncloseEntire object did not allow object selection
FIX: in Highlight, areaMustEnclose is ignored if bounds size is (0,0) (single click)

IMP: (5/10/04, JKG) Fixed and improved Edit->Change.

IMP: (5/10/04, SMR) Put "IO Options" under "File" and "Tool Options" under "Tool".

BUG: (5/10/04, SMR) "IO Options" crashes if there are libraries read in.
FIX: In "Layer.getLayerPref()" make sure "factory" is not null.

IMP: (5/7/04, SMR) Generalized the contents of a WindowFrame.  Created the
     interface WindowContent and made both EditWindow and WaveformWindow
     an implementation of that.

FIX: (5/6/04, JKG) Delete Key Bindings and Reset Key Bindings didn't do anything; fixed.

IMP: (5/6/04, JKG) Added ability to ignore some or all key bindings, via MenuBar.

BUG: (5/6/04, JKG) Wiring using ClickZoomWire tool to middle of a wire deleted name on wire
FIX: Name now transferred to one of new arc segments

IMP: (5/6/04, JKG) Command button on MACs now converts clicks to "right" clicks

IMP: (5/6/04, SMR) Added the "File/Save All Libraries" command.

IMP: (5/5/04, SMR) The "Misc" palette entry now has Spice code and Verilog code/declarations.

IMP: (5/5/04, SMR) Converted file paths to URLs.

IMP: (5/5/04, SMR) Can now select default font in the "Text" tab of the
     "Edit Options" dialog.

IMP: (5/4/04, SMR) More improvements to waveform display.

IMP: (5/4/04, SMR) Added "Scale" tab in IO Options to set scale factors.

BUG: (5/4/04, SMR) Can create two exports with the same name.
FIX: Disabled this both in Export.newInstance() and in the dialog.
