			Java Electric change log ( MAIN branch )

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

************************* END OF Version 8.10, GNU RELEASE *************
************************* Version 8.10r: ******************************

IMP: (12/27/09, AM) In debug mode, put an annotation on *all* panels
     (not just legacy-code panels).  Simulation-code bug reports which
     lack a debug-mode screenshot will be summarily INVALIDated.

BUG: (12/26/09, DN) Version 8.08 library reads differently in later versions (Bug #2357).
FIX: In Environment.withSettingChanges remove old change test.

BUG: (12/26/09, DN) Extract Cell Instance in v8.10 very slow (Bug #2566).
FIX: In CellChangeJobs.PackageCell and CellChangeJobs.ExtractCellInstances Jobs expand cell
     instances in terminateOK phase.
     In CellChangeJobs.replaceExtractedArcs use another ArcInst factory method which doesn't check Export Polys.

IMP: (12/25/09, AM) Final documentation and cleanup of BTree code.
     Please try to include this in the GNU release.

IMP: (12/23/09, AM) Make "show undriven networks" hierarchical (does
     not seem to handle arrays of NodeInsts, though).

BUG: (12/22/09, GVG) exporting preferences to xml and re-importing causes some 
keybindings to disappear (Bug #2336)
FIX: MacOSX doesn't support Charset="utf-8". Creating OutputStreamWriter with default
on MacOSX (Snow Leopard)

************************* Version 8.10q: ******************************

IMP: (12/22/09, GVG) Review warning: "should connect to polysilicon-1 because that 
layer is in the node" (Bug #2521). Added extra code to consider the case of a poly2 contact
with extra poly1.

IMP: (12/22/09, GVG) The 'Change' dialog cannot handle selection of both arcs and
primitives (Bug #2565). Added extra message to deal with this case since the dialog is modeless.

IMP: (12/22/09, DN) Schematic DRC shows error when there is
    an export "vdd" which is not connected to global "vdd" (Bug #2538).

IMP: (12/22/09, GVG) Get ERC to consider new resistors in layout (Bug #2557)
Not checking if resistors are reported twice due to the 2 ports.

BUG: (12/21/09, DN) Version 8.08 library reads differently in later versions (Bug #2357).
FIX: In MoCMOS.newState fix new states with incorrect ruleSet or numMetals.

IMP: (12/21/09, GVG) Get ERC to consider new resistors in layout (Bug #2557)
It works now after Bug #2561 and extra checking to avoid reporting resistor
errors twice (they have two ports).

IMP: (12/21/09, GVG) Make mocmos/tsmc180/cmos90 p-substrate technologies (Bug #2561)
Adding ERC tests for cmos90 and tsmc180 examples.

BUG: (12/21/09, SMR) "Cleanup Pins" warns about zero-size pins (Bug #2549).
FIX: In CircuitChanges.cleanupCell() ignore zero-size pins and also
     ignore artwork primitives with zero area.

BUG: (12/21/09, SMR) Placement fails (Bug #2563).
FIX: In PlacementFrame.doPlacement(), made conditional port location code.

BUG: (12/21/09, SMR) Many simulation outputs do not read in (Bug #2564).
FIX: Fixed "readSimulationOutput()" method in Spice2, LTSpice, PSpice,
     SmartSpice, Verilog, Epic, Raw format, and ArchSim.

IMP: (12/21/09, GVG) Changes for Get ERC to consider new resistors in layout (Bug #2557)

IMP: (12/20,09, DN) NPE in network coming from autostitch (Bug #2562).
FIX: In AutoStitich.java return false if specified "ni" doesn't have network (is icon of parent).

IMP: (12/20,09, DN) Set java.tab-size=4 in Netbeans project.

IMP: (12/20,09, DN) Exclude MacOSXInterface, JMF, Java3D from default Netbeans project.

IMP: (12/19/09, DN) Remove hard-coded "spiceparts:Ammeter{ic}" from Network code (Bug #2558).
    Add "spiceparts:Ammeter{sch}" with dummy resistor to force NCC short-cut.

BUG: (12/17/09, GVG) Wrong function assigned to 40nm well resistors (Bug #2560)
FIX: Function types changed. Amended code for resolution (Bug #2540)

IMP: (12/16/09, GVG) Cache waveformview prefs from working threads (Bug #2556).

BUG: (12/16/09, GVG) FillGen with templates and mocmos (Bug #2555)
FIX: Extra code to deal with inconsistency in TSMC180 port names in transistors.

BUG: (12/15/09, DN) Version 8.08 library reads differently in later versions.
FIX: In MoCMOS.getSizeCorrector patch transistor size for library versions from 8.08h to 8.09c .

BUG: (12/15/09, GVG) NPE if you cancel Export waveform to CSV (Bug #2553)
FIX: Detect the cancel case (null file). Added an extra printing.

IMP: (12/15/09, GVG) Generalizing usage of capacitors in LE and ViewChanges.
Due to Bug #2529.

BUG: (12/15/09, AM) export waveform data as CSV (Bug #2482)
FIX: Fixed it.

IMP: (12/15/09, GVG) Correcting shortName in POLY2CAPAC (Bug #2529)

IMP: (12/15/09, GVG) Rename of groups adds name instead of replacing it (Bug #2547)
Now the condition for the dialog should be the correct one.

BUG: (12/15/09, AM) 12 second delay after loading tr0 file (Bug #2551)
FIX: AnalogSignal.getBounds() was doing a linear scan.  Don't do that.

************************* Version 8.10p: ******************************

IMP/MAN: (12/15/09, GVG) More changes for new capacitors and resistors in 
Schematics (Bug #2529). Hi-Res poly2 resistor function is now RESHIRESPOLY2

BUG: (12/15/09, GVG) NPE with Find Unused Libraries and spiceparts (Bug #2548)
FIX: Detecting cases which don't have valid URL to work with (spiceparts for example)

IMP: (12/14/09, GVG) Rename of groups adds name instead of replacing it (Bug #2547)
Added extra dialog to warn users about prefix action instead of replacement.

IMP: (12/14/09, GVG) XML reader should report better Function errors in
XML tech file (Bug #2543). Better detection of the case and sending an
error message instead of the exception.

BUG/MAN: (12/14/09, GVG) Inconsistency with DRC resolution (Bug #2540)
FIX: Make sure the tech resolution is a lambda value rather than a
scaled value.

BUG: (12/14/09, GVG) MoCMOS new capacitor and resistors (Bug #2509)
FIX: Issues with extension of ports and m1 surround. Hi-Res resistor
named Hi-Res-Poly2-Resistor for consistency.

BUG: (12/14/09, SMR) Control-shift-right dragging doesn't let you cut an
     arc (Bug #2545).
FIX: In CircuitChanges.deleteSelected() accept a highlighted area.

BUG: (12/14/09, SMR) Auto-stitch misses ports when all in a line (Bug #2535).
FIX: In GenMath.getQuadrants() allow zero-size boxes to be in a quadrant.

IMP: (12/14/09, GVG) First set of changes for New capacitors and resistors in
Schematics (Bug #2529).

IMP: (12/14/09, GVG) No longer direct access to first extension in a FileType.
Using function instead.

BUG: (12/14/09, GVG) Out of bounds exception while plotting waveform into PDF
     (Bug #2543)
FIX: Extra code to detect if given extension is a known one.

BUG: (12/14/09, GVG) NPE trying to print from Waveform viewer (Bug #2542)
FIX: Detects now non-EditWindow context and send error message.

IMP: (12/13/09, AM) Crude but usable support for plotting simulation
     data via GnuPlot (both on-screen and as PDF for publication).

IMP: (12/12/09, AM) BTree.summarize(min,max) and support therefore;
     still needs tested.  Can answer queries like "what is the
     minimum voltage in the time range [t0,t1]" with O(log|t1-t0|)
     operations, so a query on a simulation set with 200 million
     samples requires about a dozen operations rather than 200
     million operations.

IMP: (12/12/09, DN) A reference from Cell to Topology and NetCell is
     SoftReference.

IMP: (12/12/09, DN) Remove mutable computation of Technology.getShapeOfPort0().

BUG: (12/12/09, DN) Can no longer get polygons from dummy NodeInsts (Bug #
     In PortOriginal.traverse and in NodeInst.getCellTreeUnsafe().

IMP: (12/11/09, GVG) Updated capacitor info in LE.

BUG: (12/11/09, SMR) EDIF input makes too many arcs (Bug #2536).
FIX: Stopped EDIF from making duplicate arcs and
     Stopped AutoStitch from daisy-chaining busses.

BUG: (12/11/09, GVG) MoCMOS new capacitor and resistors (Bug #2509)
FIX: New names, new p non silicide poly resistor, min/spacing rules for hi-res
     layer.

IMP: (12/11/09, GVG) XML Tech reader should verify if layer in DRC rule exists
     (Bug #2534)

IMP/MAN: (12/11/09, GVG) Enable MoCMOS Subm rules with analog flag (Bug #2531)

IMP: (12/10/09, GVG) Group mocmos rules options (Bug #2532).
     Subm, scmos and deep options added to a group.

BUG: (12/10/09, GVG) MoCMOS new capacitor and resistors (Bug #2509)
FIX: Wrong scaling in some layers.

IMP: (12/10/09) First modifications for new capacitors and resistors in
     Schematics (Bug #2529)

BUG: (12/10/09, GVG) MoCMOS new capacitor and resistors (Bug #2509)
FIX: Some Functions were wrong. Added RESNACTIVE/RESPACTIVE

BUG: (12/10/09, SMR) Text problems (highlighting doesn't match, dotted line
     wrong, anchor wrong on rotated nodes) (Bug #2528).
FIX: Fixed ElectricObject.computeTextPoly(),
     Highlight.HighlightText.showInternalHighlight(), and PolyBase.rotateType().

************************* Version 8.10o: ******************************

BUG: (12/9/09, DN) Assertion in 
     Netlist.concurrentModificationException(Nodable,Global) (NCC regression)
     (Bug #2523)
FIX: In SchemNamesToLay.constructor order Layout Cells from top to down.

BUG: (12/9/09, DN) Assertion in NetSchem.getNetMapOffset(Nodable,Global) (NCC
     regression) (Bug #2523)
FIX: In NetSchem.getNetMapOffset(Nodable,Global) refine assertion.

BUG: (12/9/09, GVG) Verilog not detecting top cell properly (Bug #2527)
FIX: Look for last module read if no cell with the name of the file is found.

IMP: (12/9/09, GVG) MoCMOS new capacitor and resistors (Bug #2509)
     Added unsiliced poly resistor. Fixed resizing of poly capacitor.

BUG: (12/9/09, SMR) EDIF input doesn't convert all <> brackets, misses some
     renames (Bug #2526).
FIX: Fix all brackets, consider all renames.

BUG: (12/9/09, SMR) "Change" command crashes on "change nodes with arcs" (Bug
     #2525).
FIX: More robust calculation of contacts, eliminate unused arc choices.

IMP: (12/9/09, GVG) Change Dialog should not list PrimitivesNodes not in used
     (Bug #2524)

BUG: (12/9/09, SMR) Export PNG needs preferences (Bug #2474).
FIX: Added the defaultFont to EditWindow0 and passed that class to the relevant
     modules so that both defaultFont and TextGlobalScale became available.

BUG: (12/8/09, GVG) Edit Key Bindings dialog hangs if no shortcut is selected in
     the list (Bug #2353)
FIX: null as parent component in JOptionPane.showMessageDialog used.

BUG: (12/8/09, GVG) Missing refresh when cell is removed (Bug #2498)
FIX: Always do full Repaint.

IMP: (12/8/09, GVG) Part of export PNG and values not cached (Bug #2474).

BUG: (12/8/09, SMR) EDIF import places exports on instances incorrectly (Bug
     #2512).
FIX: Use proper port instead of first one.

IMP: (12/8/09, GVG) MoCMOS new capacitor and resistors (Bug #2509)
     Added active/poly/hi-res/well resistors. Only available in analog mode.

BUG: (12/8/09, SMR) Technology Preferences don't update right when "Analog" is
     chosen (Bug #2520).
FIX: In TechnologyTab.term() must update dialog fields.

BUG: (12/8/09, DN) Exception arrayout of bounds and crash (Bug #2519).
FIX: Override IconNodeInst.setD and IconNodeInst.setDInUndo and clear nodables
     there.

BUG: (12/8/09, DN) Frozen on NetSchem error (Bug #2518).
FIX: In NetSchem constructor make implementation from mainSchematics instead of
     Icon Cell.

IMP: (12/8/09, SMR) Improved vector display memory usage by using immutable
     database (Bug #2517).

IMP: (12/8/09, GVG) Multiple exceptions if PrimitiveNode is defined twice in XML
     tech file (Bug #2516)

IMP: (12/8/09, GVG) Tech XML reader doesn't check if layer doesn't exist (Bug
     #2515). Electric will print error message during the reading and ignore that
     unknown layer.

BUG: (12/8/09, DN) Netlist.getNetIndex(Nodable,PortProto,int) fails when
     IconNodeInst is passed as Nodable (Bug #2513).
FIX: In Netlist.getNetMapOffsetIndex(Noable,PortProto,int) remap portIndex by
     ep.portImplementation .

BUG: (12/8/09, GVG) NPE if extension is not found (Bug #2514)
FIX: Detect the case when the extension is not from FileType

IMP: (12/8/09, DN) In threadsafe mode Netlists are weak-referenced.

IMP: (12/8/09, DN) Replace Netlist.expectedModCount by Netlist.expectedSnapshot
     and expected.CellTree .

IMP: (12/8/09, DN) Field Cell.weakTopology is always non-null to simplify
     Cell.getTopology().

BUG: (12/7/09, DN) Library cannot be read (Bug #2510, #2511).
FIX: In NetSchem.getNetMapOffset don't redirect portIndex by portImplementation.

IMP: (12/6/09, DN) Move network.NetSchem.Proxy to
     topology.IconNodeInst.IconNodable.

IMP: (12/6/09, DN) Optimization of immutable algorithm of computing connected
     Exports in schematic cells. Self-test is always on.

BUG: (12/5/09, DN) Regressions fails in getShapeOfPort.
FIX: Use cellTree.techPool instead of cellBackup.techPool for getShapeOfPort.

IMP: (12/4/09, GVG) MoCMOS new capacitor and resistors (Bug #2509)
     Added capacitor and hi_res layer.

BUG: (12/4/09, DN) Can no longer get polygons from dummy NodeInsts (Bug #2507).
FIX: In NodeInst.getShapeOfPort() use getCellBackupUnsafe() instead of
     cell.backupUnsafe(). In PortOriginal.traverse don't get database if cell is
     null.

BUG: (12/3/09, DN) New ELIB files don't read back in. (Bug #2506).
FIX: In input.ELIB.convertPortProto return null when index is "-1".
     Add field output.ELIB.ElibConn2239ection.arcIndex and use it for output.

BUG: (12/3/09, SMR) Should detect errors outside of jobs (Bug #2505).
FIX: Fixed "Align to Grid" and others.

************************* Version 8.10n: ******************************

BUG: (12/3/09, GVG) Undo gets stuck after saving files (Bug #2503)
FIX: Added extra condition to statement which brings up the dialog. Removing
     write from done/undone lists.

BUG: (12/2/09, DN) ArrayIndexOutOfBoundsException in LayerDrawing.drawDiscRow
     during redraw (Bug #2504).
FIX: Clip properly in LayerDrawing.discRow .

IMP: (12/2/09, SMR) New Node Preference "Increment rightmost array index"
     allows export duplication to auto-increment from the left (if unchecked)
     (Bug #2501).

BUG: (12/2/09, SMR) Missing plugins cause hang (Bug #2501).
FIX: Cleaned-up warnings.

IMP: (12/1/09, DN) Self-test in "-debug" mode for immutable algorithm of
     computing connected Exports in schematic cells.

IMP: (12/1/09, DN) Self-test for immutable algorithm of computing connected
     Exports in layout cells.

BUG: (12/1/09, DN) Network could obtain incorrect name if the Cell contains
     nonelectric arcs.
FIX: In NetSchem.calcDrawnWidth move ai = it.next() before any "continue"
     statements.

IMP: (12/1/09, DN) Technology computes shape of ports in immutable way.

BUG: (11/30/09, GVG) No cleanUnusedNodesInLibrary for MoCMOS special nodes such
     as poly2 contact (Bug #2500)
FIX: CMOS90.cleanUnusedNodesInLibrary functionality moved to
     Technology.cleanUnusedNodesInLibrary

BUG: (11/30/09, SMR) MOSIS CMOS PLA generator fails (Bug #2499).
FIX: In PLA.java, must start a Job.

BUG: (11/30/09, SMR) Going Up-Hierarchy when editing down-in-place should not
     alter scale/pan (Bug #2497).
FIX: In EditWindow.upHierarchy() always keep focus when editing down-in-place.

IMP: (11/30/09, DN) Bus names of arcs and nodes are allowed only in icon and
     schematic cells. The prototype of arc with bus name must be
     Schematics.bus_arc . The prototype of node with bus name must be an Icon
     cell.

IMP: (11/30/09, DN) Remove diagnostics of case-insensitive match of Variables.

IMP: (11/30/09, DN) Move diagnostics of Networks with case-insensitive match into
     Schematics DRC. Remove field database.text.Name.canonicString.

IMP: (11/29/09, DN) CellTree contains EquivPorts which represents internal
     connections in Layout CellTree.

BUG: (11/27/09, DN) Incremental DRC used incorrect conditions when to invoke.
FIX: Move CellRevision.getNode()/getArc() to
     CellBackup.Memoization.getNodeById()/getArcById().

IMP: (11/27/09, DN) Move arcIndexByArcId from NetCell to CellBackup.Memoization.

BUG: (11/25/09, GVG) Error Logger: first time you use next error, you go to error
     number 2 (Bug #2496)
FIX: Correct initialization of current log number

BUG: (11/25/09, SMR) Digital waveforms show panel and signal name badly (Bug
     #2495).
FIX: In DragButton.java, combine the names instead of overlapping them.

IMP: (11/24/09, DN) Expand/unexpand command doesn't allocate Topologies of
     subcells.

BUG: (11/24/09, SMR) Waveform window draws extra garbage (Bug #2493).
FIX: In HorizRuler.renderRuler() clear the area first.

BUG: (11/24/09, SMR) Export names not shown when editing down-in-place (Bug
     #2438).
FIX: Patched all three display algorithms.

IMP: (11/24/09, DN) Release arrays NetCell.headConn and NetCell.tailConn when
     they are no more used.

IMP: (11/24/09, DN) Redisplay in LayerDrawing doesn't allocate Topologies of
     subcells.

BUG: (11/23/09, DN) ArrayIndexOutOfBoundsException when re-exporting highlighted
     ports (Bug #2491).
FIX: In Cell.updatePortInsts don't update PortInsts of parent Cell if its
     Topology is not allocated.

BUG: (11/23/09, DN) Routing regressions crashed attempting to save preferences.
FIX: In RoutingTest comment out ep.putPrefs .

IMP: (11/22/09, DN) NodeInst.getShapeOfPort doesn't allocate Topologies of
     subcells.

BUG: (11/20/09, DN) can't change export name (Bug #2490)
FIX: In Cell.unfreshCellTree redoGeometric only if Topology is alive.

BUG: (11/20/09, DN) UnsupportedOperationException in Quit with
     EmptyPreferencesFactory (Bug #2489)
FIX: In EmptyPreferencesFactory.flushSpi don't throw an exception.

BUG: (11/20/09, DN) UnsupportedOperationException on MacOSX with
     EmptyPreferencesFactory (Bug #2488)
FIX: Don't setRemoteType in SunAsyncMenu class initialization. Instead replace
     TYPE_LOCAL by TYPE_SSH in SunAsyncMenu.getExec and SunAsyncMenu.getCdToDir .

BUG: (11/19/09, DN) Bad diagnostics when ".bsh" script calls unavailable Java
     method. (Bug #2484).
FIX: In EvalJavaBsh.doSource apply doGetTarget not only to bsh.TargetError but to
     any bsh.EvalError .

BUG: (11/19/09, DN) Exception in fill gen/gate generation with
     EmptyPreferencesFactory (Bug #2485).
FIX: Use Cell.isTopologyModified() instead of Cell.isContentsModified() when
     changing nodes.

BUG: (11/19/09, GVG) NullPointerException importing GDS (Bug #2486).
FIX: GenMath.getAreaOfPoints() didn't consider some points are null from
     GDS.buildComplexNode for example.

BUG: (11/19/09, SMR) Auto-stitcher does too much (Bug #2363).
FIX: Made stitcher shrink pin ports to the size of connected extended arcs.

IMP: (11/18/09, DN) NodeInst are owned by Topology object.
     So GarbageCollector can discard them in unused Topologies.

BUG: (11/18/09, GVG/JKG) NullPointerException on wiring switching wiring targets
     (Bug #2480)
FIX: Rounding dbmouse in ClickZoomWireListener:switchWiringTarget. Extra DBMath
     in InteractiveRouter.getCornerLocation()

BUG: (11/18/09, GVG) Crash when typing "/" (Bug #2483)
FIX: Load next message if nothing has been shown yet.

BUG: (11/18/09, SMR) Crash when reading waveforms (Bug #2481).
FIX: Do not request current technology in TextUtils.atof().

************************* Version 8.10m: ******************************

IMP: (11/18/09, SMR) Arrow-key movement now goes by grid-aligned amount.

BUG: (11/17/09, DN) database exceptions, cannot save... (Bug #2479)
FIX: In CellTree.with() test for empty subTrees[i] .

IMP: (11/17/09, GVG) Avoid NPE in Pad generation in case of errors in input (Bug
     #2478)

BUG: (11/17/09, GVG) Electric postscript output not working (Bug #2477)
FIX: Replaced "Rectangle2D printBound"; for "ERectangle printBound" in the
     postscript prefs.

IMP: (11/17/09, GVG) 4 new layers in 40nm (Bug #2475)

IMP: (11/16/09, DN) CellTree is cached in Cell.tree .
     Remove cell bounds computation code from mutable database.

BUG: (11/16/09, GVG) User Prefs/Proj Prefs/Text exports: double file extensions
     (Bug #2473)
FIX: Considering case when two FileTypes have the same extensions

BUG: (11/16/09, SMR) Auto-stitch broken: adjacent ports from two instances do not
     stitch (Bug #2472)
FIX: AutoStitch.ZEROSIZEPINS = false

IMP: (11/16/09, DN) Don't check in Snapshot.with those invariants which were
     checked in CellTree.with .

IMP: (11/15/09, DN) Ensure that Cell.cellBounds are the same as
     CellTree.getBounds().

IMP: (11/15/09, DN) Don't need to supply cell bounds to Snapshot.

IMP: (11/15/09, DN) Move "packaging" upper due to netbeans project.

IMP: (11/15/09, AM) Make legacy code off-by-default.

BUG:(11/13/09, DN) NullPointerException in repaint when trying to highlight
     deleted port (Bug #2471).
FIX: In Highlight.HighlightEOBJ.showInternalHighlight return when eobj is not
     linked.

IMP: (11/13/09, GVG) Working on a new DSPF reader

IMP: (11/13/09, SMR) Arc Preferences now has control over "fat wiring mode" (Bug
     #2470).

BUG: (11/12/09, DN) AssertionError in getShapeOfPort (Bug #2468)
FIX: In Schematics.genShapeOfPort gen shape in grid units when lambda != 1.
     Not getting double polys in NodeInsts with outline.

IMP: (11/12/09, GVG) EditWindow0.globalScale cached during class creation.
     Caching placement prefs in Verilog input prefs.

IMP: (11/12/09, GVG) "\" character causing errors in VerilogReader (Bug #2465)
     Not removing "\" from cell instance name.

IMP: (11/12/09, DN) Technology.getShapeOfPort() computes shape of ports both in
     mutable and immutable way for self-check.

BUG: (11/11/09, GVG) "\" character causing errors in VerilogReader (Bug #2465)
FIX: Assertion removed. The "\" removed from the name.

IMP: (11/11/09, GVG) Run placement tool after Verilog reader (Bug #2467)
     New preference added.

BUG: (11/10/09, GVG) Verilog not including subcells found in other libraries (Bug
     #2466)
FIX: Using Library.findCellInLibraries() instead of lib.findNodeProto()

IMP: (11/10/09, DN) Export doesn't contain a strong reference to original
     PortInst.

IMP: (11/09/09, GVG) TechEditorWizard should produce some 3D values (Bug #2235)
     Implemented with Bug #2460

BUG: (11/09/09, GVG) Switching fro JELIB to DELIB generates wrong file extensions
     (Bug #2328)
FIX: Warns now about the correct filename. Points 1 and 3 not implemented.

BUG: (11/9/09, DN) Null pointer exception while pasting layout cells (Bug #2462).
FIX: In CellTree.with always continue cellUsages loop when cui == null.

BUG: (11/9/09, GVG) Incorrect verilog netlist for individual ports with bus tags
     (Bug #2461)
FIX: Fixed wrong export selection when the signal is descending.

IMP: (11/9/09, DN) Snapshot contains CellTree objects which can compute Cell
     bounds. For some time Cell bounds will be computed both by Snapshot and by
     EDatabase to self-check.

BUG: (11/6/09, GVG) Writing Verilog deck from Verilog view (Bug #1323)
FIX: Library_Cell format is just one option.

IMP: (11/6/09, GVG) Ability to specify min/spacing rules for other layers (Bug
     #2460)

IMP: (11/6/09, GVG) Improving syntax in TechEditorWizard file to include rules
     in @extra_layers

BUG: (11/5/09, GVG) VerilogReader can't parser /* comments (Bug #2459)
FIX: Added ability to read until end of the */ comment.

BUG: (11/5/09, GVG) Out of bounds exception in Verilog writing with invalid
     syntax (Bug #2458)
FIX: Added extra code to detect syntax errors in input/output lines

IMP: (11/4/09, GVG) Ability to generate light internal version (Bug #2457)

************************* Version 8.10l: ******************************

BUG: (11/4/09, SMR) HPGL output crashes (Bug #2455).
FIX: Created EditWindow0.EditWindowSmall to pass to Jobs, fixed visitor.

BUG: (11/4/09, SMR) PostScript output crashes (Bug #2455).
FIX: Created EditWindow0.EditWindowSmall to pass to Jobs.

IMP: (11/03/09, DN) Cell.computeBounds() doesn't use ArcInsts.

IMP: (11/03/09, DN) Compaction.compactNow starts uses job.startOMyResult to be
     scheduled in regressions before QuitJob.

IMP (11/02/09, GVG) Add Extra Layers in Palette (Bug #2454)

BUG: (11/02/09, GVG) NPE if extra layer information is incomplete (Bug #2453)
FIX: Detecting the cases. Code refactored.

IMP: (11/01/09, AM) PowerChannelResistorVoltageReadable: finish
     implementation.

IMP: (11/01/09, AM) com.sun.electric.tool.simulation.test needs its
     own JNI binaries because the class names changed.  I added an "e"
     (for Electric) to the end of these names and put them in
     /proj/async/cad/test/ and changed the loadLibrary() calls to
     point to them.

IMP: (10/30/09, GVG) TechEditWizard improvements: scrolls in some tabs,
     image and labels overlap in well/implant tab (Bug #2452)

BUG: (10/30/09, GVG) Wrong setup of metal layers in Metal tab (Bug @2451)
FIX: Wrong loop limit detected in TechEditWizardData.setNumMetalLayers.

BUG: (10/30/09, GVG) Inconsistencies in 3D values for Active-cut and n-active
     (Bug #2450)
FIX: 3D values for Active-cut and n-active in cmos90 fixed.

IMP: (10/29/09, AM) Signalyzer: implementation complete, tested, and
     working (on Marina, chip #19).

IMP: (10/29/09, AM) NetscanGeneric.hw_net_scan_ir(): pass along the
     length of the now-selected scan chain.

IMP: (10/29/09, AM) Make ExecProcessReader a Daemon thread.

IMP: (10/29/09, AM) Make ChainNode and
     SubchainNode.{getParentChain(),getBitIndex()} public

IMP: (10/29/09, AM) Support HSpice output in BTree code.

BUG: (10/28/09, GVG) Bizarre rotation with facet-center selected (Bug #2449)
FIX: Facet center ignored if selected. Arcs whose both NI nodes are in the list
     are also included.

BUG: (10/28/09, DN) Export not visible while editing in place (Bug #2438).
FIX: In VectorDrawing.render and LayerDrawing.drawCell pass proper
     expansion status to drawPortList.

BUG: (10/27/09, GVG) Inconsistent cell expansion after undo (Bug #1138)
FIX: Detecting if user previously expanded/unexpanded the cell node instance.

BUG: (10/26/09, GVG) NPE in SaveAs command (Bug #2447)
FIX: Detect the case when no current library is available.

BUG: (10/26/09, GVG) NPE in Array dialog (Bug #2446)
FIX: Detecting cases where no valid cell/window is available

BUG: (10/26/09, SMR) Moving Cell variables beyond the 4088 offset limit
     causes them to overflow and jump to a random location (Bug #1641).
FIX: In MutableTextDescriptor.setOff() now clip the scale factor.

BUG: (10/25/09, AM) New simulation data code needs to reinstate the
     distinction between interpolated points and sampled points (Bug
     #2346).
FIX: NewSignal.getPixelatedApproximation().

IMP: (10/25/09, AM) Change PCB examples in schematic.jelib to be
     layout views.

IMP: (10/25/09, AM) Fix some typos in the manual.

IMP: (10/24/09, AM) Do not write files to disk unless simulation data
     exceeds 50MB.

IMP: (10/24/09, AM) BTree: take advantage of CachingPageStorage API.

IMP: (10/24/09, AM) FileBasedPageStorage: defer creating the file
     until the first page is requested.

IMP: (10/24/09, AM) Rewrite CachingPageStorage, make it thread-safe.

IMP: (10/23/09, AM) Add partial implementation of Signalyzer driver.

IMP: (10/23/09, AM) Add compileTestCode target which will compile
     com.sun.electric.tool.simulation.test.  I have confirmed that
     this will fail (as desired) if the test code depends on any other
     part of electric.  We should call this build target from the
     regression tests every night.

IMP: (10/23/09, AM) Move com.sun.async.test to
     com.sun.electric.tool.simulation.test (as discussed with SMR,
     JKG)

BUG: (10/23/09, GVG) Fill generator exception when cell already exists (Bug
     #2444)
FIX: Printing warning instead of throwing assertion.

IMP: (10/23/09, JG) Added more invisible layer configs for metals 10, 11, 12 in
     40nm

IMP: (10/23/09, GVG) Ability to provide layer functions in extra layer definition
     (Bug #2445)

BUG: (10/23/09, SMR) Nodes in the component menu are drawn too small
     when there are larger nodes in the same class (Bug #2233).
FIX: Nodes in the component menu are now drawn to fill the menu square.

BUG: (10/23/09, SMR) Crash when changing cell parameters (Bug #2442)
FIX: Handle missing parameters and treat them as empty strings.

BUG: (10/23/09, SMR) When "Duplicate/Array/Paste copies exports" is set,
     deleting export text tries to delete it twice (Bug #2443).
FIX: In Clipboard.copyListToCell() copy the geometric list before modifying it.

BUG: (10/22/09, GVG) Crash when changing cell parameters (Bug #2442)
FIX: Temporary patch to avoid the exception. Not the solution yet.

************************* Version 8.10k: ******************************

BUG: (10/21/09, SMR) Verilog needs to separate instance names and network names
     (Bug #2430)
FIX: In Verilog.writeCellTopology() detect and modify instance names.

BUG: (10/20/09, GVG) System clipboard data unavailable after second copy/paste on
     MacOSX (Bug #2440)
FIX: Catching the exception on MacOSX. It is a known issue on that platform.

BUG: (10/20/09, GVG) NPE on Window -> Move to other display (Bug #2436)
FIX: Not finalizing old objects until new ones are created.

IMP: (10/19/09, GVG) Ability to add pins/arcs to extra layers defined in txt file
     used by TechEditorWizard (Bug #2435)

IMP: (10/19/09, GVG) Scale GDS on export option (Bug #2434)

BUG: (10/18/09, AM) BTree waveform code randomly transposes signals.
FIX: Heed the distinction between a signal's "index" and its "number".

BUG: (10/18/09, DN) NPE while moving objects in threadsafe mode (Bug #2431).
     Cell.getBounds() algorithm had a bug which appeared in threadsafe mode with
     its lazy RTree calculation. Previously RTree calculated always and these
     calculation hid this bug.
FIX: In Cell.getBounds() recalculate bounds of subcells in BOUNDS_CORRECT_GEOM
     and BOUNDS_RECOMPUTE cases.

BUG: (10/16/09, GVG) TechEditorWizard  doesn't write metal pin when numMetals=1
     (Bug #2433)
FIX: Pins not longer defined in same loop as the metal contacts. Extra code to
     detect arcs without pins associated (in an invalid tech for example).

BUG: (10/16/09, GVG) NPE if no pin associated to the arc is found (Bug #2432)
FIX: Case detected (probably due to invalid tech) and routing path is discarded

IMP: (10/16/09, GVG) Better caching of IllegalArgumentException in GDS IO (Bug
     #2423)

BUG: (10/16/09, DN) NPE while moving objects (Bug #2431).
FIX: Measures to prevent Electric from hang:
     1) Assertion Errors don't stop GUI thread;
     2) MessagesStream prints elsewhere when Job.getUserIntereface() == null;
     3) UserInterfaceMain.showSnapshot recovers database if undo fails;
     4) Cell.recover() assign cellBounds to computed bounds instead of assert;

BUG: (10/16/09, DN) NPE in CVS with threadsafe mode on (Bug #2429).
FIX: In Edit.MarkForEditJob.doIt call
     fieldVariableChanged("uneditMatchedStrings") earlier.

IMP: (10/13/09, GVG) Threadsafe (FULL_SCREEN_SAFE) mode back to default.
     Use -nothreadsafe to switch to previous mode.

IMP: (10/12/09, GVG) Export names not sorted multi-object properties dialog (Bug
     #2419).  Adding sorting of highlights before they added into the selection
     list.

BUG: (10/12/09, GVG) build.xml broken: not producing the right thing for GNU
     releases (Bug #2427)
FIX: In generalPurposeJar, rolling back to unjarSun and zipfilesets commented out

BUG: (10/12/09, GVG) NPE in Spice if no schematic associated to an icon is found
     (Bug #2428)
FIX: Detecting the case and assigning icon name as unique name.

BUG: (10/10/09, AM) Waveform viewer sometimes truncates data
     horizontally when using BTrees (Bug #2413)
FIX: Do not snap the least and greatest visible times (t0 and t1) to
     events before partitioning the space between them into equal
     sized chunks.

IMP: (10/10/09, AM) NewSignal: request approximations by supplying a
     desired number of events rather than an integer time denominator
     -- the latter did not offer any way of asking for events which
     are more than one time unit apart.

IMP: (10/10/09, AM) Implement BTree.{getOrdFromKey,getOrdFromKeyFloor}.

BUG: (10/10/09, AM) changes to grid do not take effect until next repaint (Bug
     #2409)
FIX: Invoke EditWindow.repaintAllContents() from GridAndAlignmentTab.

BUG: (10/10/09, AM) Re-deprecate Infrastructure.waitSeconds() (Bug #2386)
FIX: Use Thread.sleep() instead.

BUG: (10/10/09, AM) Make of ColorPrefType.HIGHLIGH* values in pulsing highlight
     (Bug #2401)
FIX: Convert HIGHLIGHT color to HSV, then use hue for pulsation.

BUG: (10/10/09, AM) Reading Logical Effort libraries produces many errors (Bug
     #2410)
FIX: Open each of the three libraries, change something, save it, and exit.

IMP: (10/10/09, AM) update the LESettings{ic,sch} in purpleGeneric180.jelib.

BUG: (10/9/09, DN) NPE while getting the default tech (Bug #2424).
FIX: In User.endBatch don't invoke render job on initial empty Environment.

************************* Version 8.10j: ******************************

IMP: (10/8/09, GVG) Undo of Write library doesn't remove the file (Bug #2329)

BUG: (10/8/09, DN) NPE while getting the default tech (Bug #2424).
FIX: Check that Environment.settingValues are of correct type.

IMP: (10/8/09, GVG) Better error explanation while reading XML tech (Bug #2425)

IMP: (10/8/09, GVG) Making extra_layers definition in TechEditorWizard available
     by default

BUG: (10/8/09, GVG) GDS and too large coordinates (Bug #2423)
FIX: Caching IllegalArgumentException in EPoint

BUG: (10/8/09, GVG) Exceptions in TechEditorWizard with incomplete tech txt files
     (Bug #2422)
FIX: Consider incomplete metal definition.

BUG: (10/8/09, DN) Threadsafe mode slow? (Bug #2420).
FIX: Disable database self-test in UserInterfaceMain.showSnapshot.

BUG: (10/8/09, DN) Threadsafe mode slow? (Bug #2420).
FIX: Disable database self-test in UserInterfaceMain.showSnapshot.

IMP: (10/7/09, GVG) Show cell results in new window not working for errors? (Bug
     #2421)

IMP: (10/7/09, AM) Ensure that the JVM exits with nonzero exit code if
    an exception is thrown in Batch mode (so Electric can be called
    from Makefiles).

IMP: (10/7/09, GVG) Back to DEFAULT_MODE = Mode.FULL_SCREEN_UNSAFE until
     "threadsafe mode slow?" (bug #2420) is further investigated.

IMP: (10/7/09, DN) cvspm.Edit.UneditResponder stores matched Strings in a list
     for later processing in Edit.MarkForEditJob.terminateOK (Bug #2417).

BUG: (10/7/09, DN) Threadsafe mode doesn't remember cells expanded (Bug #2416).
FIX: Move Cell.loadExpandStatus from Library readers to
     FileMenu.ReadLibrary.terminateOK.

BUG: (10/7/09, DN) DefGridXBoldFrequency is accessed from null (Bug #2415).
FIX: Create class AbstractDrawing.DrawingPreferences to pass preferences to
     RenderJob.

BUG: (10/7/09, DN) Inconsistent state of linkedlibs in DB after getting errors in
     SaveAs (Bug #2406).
FIX: In FileMenu.RenameAndSaveLibraryTask.renameAndSave() throw JobException on
     failure in thread-safe mode.

BUG: (10/7/09, DN) Marina scripts fail with "java.lang.AssertionError" (Bug
     #2414).
FIX: Change Output.OutputCellInfo from CLIENT_EXAMINE to SERVER_EXAMINE .
     In Make.UserInterfacDummy.terminateJob check for Job.isThreadSeafe().

IMP: (10/5/09, GVG) Toggle Grid and resolution warnings (Bug# 2404)

BUG: (10/1/09, GVG) Marina scripts fail with "Conflicting thread modes:
     BATCH and THREAD_SAFE" (Bug #2411)
FIX: New Mode.THREAD_SAFE is defined (bug #2293) before -batch condition.

IMP: (9/30/09, AM) Rename com.sun.electric.tool.btree to
     com.sun.electric.database.geometry.btree as instructed by SMR.

BUG: (9/29/09, SMR) Bold grid dot spacing cannot be changed (Bug #2405).
FIX: Made bold spacing use integers, not doubles.

BUG: (9/29/09, SMR) Implant coverage generator leaves notches (Bug #2408).
FIX: Better testing for areas within DRC limits.

BUG: (9/29/09, SMR) GDS import is imprecise (Bug #2402).
FIX: Rounded the "meter unit" read from the GDS file.

IMP: (9/29/09, GVG) Made "-threadsafe" (Mode.THREAD_SAFE) by default to test new
     mode and fixes for bug #2293

IMP: (9/29/09, DN) A simple scheduler for CLIENT_EXAMINE jobs in thread-safe
     mode.

IMP: (9/28/09, GVG) Extra code to detect case described in Bug #2151

BUG: (9/28/09, GVG) NPE in Export PS (Bug #2407)
FIX: Detect the 3D case and aborts the action. PS is only available from an
     EditWindow instance

IMP: (9/28/09, AM) Successfully loaded a 1.1GB simulation file using a
     400MB JVM heap (-Xmx=400m).  Loading time was 3.8 minutes, and
     once loaded panning/scrolling showed no perceptible delay.

IMP: (9/28/09, AM) Stream simulation data directly from the disk into
     the BTree rather than storing it in an intermediate byte[].  We
     can now officially load simulation files that are "bigger than
     memory".

IMP: (9/28/09, AM) Finish implementing BTree.getValFromOrd(), which
     lets us switch from a BTree<Integer,Pair<Double,Double>> to a
     BTree<Double,Double>.  Not much impact on time to load a file,
     but cuts memory use by ~33%.  Making the rasterization code use
     getValFromOrd() instead of doing a binary search made a huge
     difference in UI responsiveness, though.

BUG: (9/25/09, GVG) Can't save file in MacOSX after browsing in the save dialog
     box (Bug #2326)
FIX: Using URL instead of String to open the FileWriter

************************* Version 8.10i: ******************************

BUG: (9/24/09, SMR) Explorer tree "Search" dialog doesn't allow multiple
     cells to be selected and viewed (Bug #2322).
FIX: Now handle all selected cells.

IMP: (9/24/09, SMR) New Display Preference: "Show cell results in new window"
     causes commands that show a cell to do it in a new window.  The commands
     are: "Edit XXX View", "Make XXX View", do Placement, ROM generation, PLA
     generation, etc. (Bug #2388).

BUG: (09/24/09, GVG) Non-deterministic results in AutoFillTemplate test (Bug
     #2380)
FIX: Sorting ports before FillRouter.

BUG: (9/24/09, SMR) GDS Preferences doesn't show enough scale precision (Bug
     #2402).
FIX: In GDSTab.java, use more precision.

BUG: (09/24/09, GVG) Remove RDL layer from tsmcSun40GP tech (Bug #2403)
FIX: RDL definition in tsmcSun40GP.txt removed and xml tech file generated again.

IMP: (09/23/09, AM) Allow bold dots on non-integer lambda multiples.

IMP: (09/23/09, AM) Prefs.java: support "upgrading" a pref from
     Integer to Double.

BUG: (09/23/09, AM) Export names change size rapidly when mousing over
     highlighted objects (Bug #2382).
FIX: In pulsating Timer, use highlighter.showHighlights(,,true).

IMP: (09/22/09, JKG) if only export text is selected during copy,
     it adds in the node the export is on so it can be copied (if copyExports is
     on)

IMP: (09/22/09, JKG) Node extractor: improved active type selection, improved
     multi-cut contact extraction to prevent lots of single contacts.

IMP: (09/22/09, AM) build.xml: produce jdk1.5-compatible bytecodes.

BUG: (09/21/09, GVG) Non-deterministic results in AutoFillTemplate test (Bug
     #2380)
FIX: Sorting arcs based on length while selecting the best port to connect to.

IMP: (09/21/09, DN) Regression driver doesn't allocate mutable database.

IMP: (09/19/09, DN) If DRC.THREAD_SAFE_DRC=true, then DRC Jobs are SERVER_EXAMINE
     and can run in thread-safe mode.

IMP: (09/17/09, DN) Quick.doCheck() and Schematic.doCheck don't call termLogging.
     Instead caller terms Logging or do anything else.

BUG: (09/17/09, DN) Assertion in JobTree.updateJobs().
FIX: In UserInterfaceMain.java use SwingUtilities.invokeLater for updating Jobs.

************************* Version 8.10h: *******************************

BUG: (09/17/09, GVG) tmscSun40GP tech f-p-well node needs to be able to connect
     to p-well arc (Bug #2399)
FIX: arc added.

BUG: (9/17/09, SMR) Explorer tree Library Search function doesn't clear
     fields from last time (Bug #2322).
FIX: Fixed.

IMP: (9/16/09, DN) Lazy evaluation of RTree in thread-safe mode.

BUG: (9/16/09, SMR) Saving to a write-protected directory freezes the UI (Bug
     #2293).
FIX: In FileMenu.RenameAndSaveLibraryTask.renameAndSave() do not throw a
     JobException on error.

BUG: (9/16/09, SMR) Messages window doesn't handle standard text editing (Bug
     #2398).
FIX: Improved Edit commands so that cut/copy/paste/erase/select all work
     properly.

BUG: (9/16/09, SMR) Zero-size arcs are not area-selectable (Bug #2394).
FIX: In PolyBase.polyDistance() use DBMath.rectsIntersect() instead of
     Rectangle.intersects() because the later doesn't handle zero-size rects.

IMP: (9/16/09, DN) Command-line switch "-threadsafe" turns on thread-safe mode.

BUG: (9/16/09, GVG) IRSIM on layouts and exceptions (Bug #2397)
FIX: Prevent to run IRSIM on non-schematic cells.

BUG: (9/15/09, AM) IllegalStateException when attempting to load
     libraries in batch mode (Bug #2390).
FIX: Kludge in MessagesStream.print().

IMP: (9/15/09, AM) Implement BTree.getOrdinal() query and supporting
     data structures.

BUG: (9/15/09, AM) Fix erroneous UnboxedInt.compare().

BUG: (9/15/09, SMR) Delete key doesn't work (Bug #2395), and ctrl-numpad 0
     doesn't work (Bug #2396).
FIX: More special cases in KeyBindingManager.processKeyEvent().

BUG: (9/15/09, GVG) Missing "subtractAll" method in GeometryHandler (Bug #2384)
FIX: Fixed inconsistent refactoring of HashMap parameter to TreeMap in the
     subtractAll function.

BUG: (9/15/09, SMR) Highlighting crashes when over portless cell (Bug #2391).
FIX: Fixed Highlighter.checkOutObject().

IMP: (9/15/09, GVG) Improve error message in case XML ErrorLogger import fails
     (Bug #2393)

IMP: (9/15/09, GVG) Well resistors in 40nm (Bug #2392)

IMP: (9/15/09, SMR) Added two new error-reporting commands to
     "Edit / Selection" which do NOT popup a new window:
     "Show Next Error, same Window" and "Show Previous Error, same Window"
     These are bound to "[" and "]" (Bug #2388).

BUG: (9/15/09, SMR) No way to select two coincident exports (Bug #2385).
FIX: Holding "Control" now cycles through the ports that are equidistant
     from the cursor.

IMP: (9/14/09, JKG) Add "exportsToIgnore" NCC annotation (Bug #2387)

BUG: (9/14/09, AM) Merge com.sun.async.test.* into Electric code base
     (Bug #2347).  As discussed with SMR (in person), JKG (in person),
     GVG (on phone), and DN (on phone).
FIX: After appropriate massaging, check former contents of
     /proj/async/cad/cvs/test/ into electric/srcj/com/sun/async/test/.
     Please see the package.html for details.  I have also
     write-protected the old CVS repository so people don't accidentally
     check in anything new (any changes should go in here now).

IMP: (9/14/09, SMR) "Manipulate Exports" now lets you change the name and
     characteristic of an export (Bug #2383).

BUG: (9/14/09, AM) SwingUtilities.isEventThread() assertion failure.
FIX: Use SwingUitilities.invokeLater() in SunAsyncMenu gdsJob.startJob.

BUG: (9/14/09, SMR) Explorer tree Library Search function doesn't close
     properly and needs an "Edit All Cells" button (Bug #2322).
FIX: Fixed closure and added button.

BUG: (9/11/09, AM) We need to agree on what "batch" means and how to
     launch Electric in headless mode (Bug #2375).
FIX: JonG says: "I think batch mode implies 'no GUI', and nothing
     more.".  Updated documentation and Main.java.

BUG: (9/11/09, AM) Garbled export names (Bug #2382).
FIX: Distinguish between HighlightLine instances which correspond to
     errors and those which do not.

************************* Version 8.10g: *******************************

IMP (9/11/09, GVG): Ability to duplicate cells in another cell (for Bug #2023
     investigation)

BUG: (9/10/09, DN) Cannot run calibre DRC (Bug #2379).
FIX: Implement UserInterfaceExec.termLogging and Exec.ExecProcess.userInterface
     while discussing with Jon and Adam other solution.

BUG: (9/10/09, AM) EditWindow.java: stop pulsating timer when window
     is closed (Bug #2371)

IMP: (9/10/09, GVG) Change Dialog not picking the preferred contact (Bug #2378)

IMP: (9/10/09, AM) build.xml: more efficient way of building
     electric.jar without unjarring-and-rejarring stuff so much.

IMP: (9/9/09, AM) Added a fast path to the BTree code when insertions
     are in key-increasing order.  Net speedup when loading simulation
     data: 74%.  Combined with two previous modifications: 96%
     improvement (time required is 4% of time previously required).

IMP: (9/9/09, AM) Change PageStorage to a zero-copy API, at the
     expense of doing more byte[] allocation.  This made it feasible
     to increase the default page size from 1024 bytes to just under
     4096 bytes (because the System.arraycopy()'s are no longer
     killing us).  Net result: 73% improvement in time to build BTree.
     Combined with previous modification: 84% improvement (time
     required is 26% of time previously required).

IMP: (9/9/09, AM) Store simulation data as BTree<Pair<Double,Double>>
     instead of two BTree<Double>'s.  Result: 43% improvement in time
     to build BTree.

IMP: (9/9/09, AM) Remove com.sun.electric.tool.io.input.BTree (use
     c.s.e.t.btree.BTree instead)

************************* Version 8.10f: *******************************

BUG: (9/9/09, DN) Orientation JUnit test fails in JVM-1.6 64-bit.
FIX: In Orientation constructor use StringMath instead of Math.

BUG: (9/8/09, GVG) NPE while resetting all preferences in Preferences dialog (Bug
     #2376)
FIX: Detecting null cases in dialogs not used before the reset.

IMP: (9/8/09, DN) Move client queue from ClientJobManager to
     AbstractUserInterface.

IMP: (9/7/09, DN) Job.currentUI is handled similar to StreamClient .

BUG: (9/7/09, DN) Starting Jobs from Jobs fails.
FIX: In Job.startJob compute "startedByServer" correctly.

IMP: (9/7/09, DN) Preparations for thread-safe database.

IMP: (9/7/09, DN) Electric throws IllegalStateException when attempting to
     "plot spice listing" (Bug #2374).
FIX: Install UserInterfaceExec in Simulate.ReadSimulationOutput.run,
     EpicOutProcess.run, ScalarEpicOutProcess.run.

IMP: (9/7/09, AM) Remove JDBM, use com.sun.electric.tool.btree instead.

IMP: (9/7/09, AM) Check in first draft of com.sun.electric.tool.btree.

IMP: (9/6/09, DN) Rename MultiTaskJobLight to MultiTaskJob, remove old
     MultiTaskJob.

BUG: (9/3/09, JKG) bug 2351, logical effort had hard coded assumed values for
     gate widths and lengths of the X=1 inverter. Those changed for 40nm.
     They are now specifiable as logical effort settings

IMP: (9/3/09, GVG) Build.xml modified to unjar Jython and to include it into
     electric.jar (ant jar).  That is to run Scripting regression in batch mode
     (part of Bug #2358)

BUG: (9/3/09, DN) Command line "-batch -s script.bsh" executes script without any
     EditingPreferences (Bug #2373)
FIX: In Main.InitDatabase.doIt assign factory-default EditingPreferences.

BUG: (9/2/09, DN) DRCUpdate is not executed in MultiDRC regressins.
FIX: In "DRC.DRCUpdate()" use "startJobOnMyResult()" instead of "startJob()".

IMP: (9/2/09, DN) Better regression diagnostics.

IMP: (9/2/09, DN) Explicit UserInterface object for each thread.

IMP: (9/2/09, GVG) More changes to get Jython working in the regressions (Bug
     #2358)

IMP: (9/1/09, AM) Change name of ScalarSignal to NewSignal (it is no
     longer limited to scalar samples).

IMP: (9/1/09, AM) Parameterize ScalarSignal on arbitrary instances of
     SimulationSample.

IMP: (9/1/09, AM) Change "Recenter On Selection" to "(move) Cell
     Center to Center of Selection".

IMP: (9/1/09, AM) Renamed com.sun.electric.tool.user.Highlight2->Highlight.

IMP: (9/1/09, SMR) In explorer tree, the context command "Search" under
     "LIBRARIES" now has a more powerful dialog that does partial searches, shows
     results in the dialog, and lets the cells be edited (Bug #2322).

BUG: (9/1/09, SMR) Cannot use delete key in Text windows (Bug #2372).
FIX: Added recognition of TextWindow in KeyBindingManager.processKeyEvent().

IMP: (9/1/09, DN) ImmutableNodeInst.computeBounds doesn't require real NodeInst.

BUG: (8/31/09, SMR) Undo/Redo status is not updated during text editing (Bug
     #2361).
FIX: In TextWindow.updateUndoRedo(), call showUndoRedoStatus() and
     In Undo.updateUndoRedo(), do not call showUndoRedoStatus() if in a text
     cell.

IMP: (8/31/09, SMR) User's Manual search highlights search keys.

IMP: (8/30/09, AM) Right-align signal names in the waveform viewer,
     and truncate from the left when necessary.  When a signal name is
     very long due to being deep in the hierarchy, the *rightmost*
     part of the signal name is most useful to the user.

IMP: (8/30/09, AM) Add a menu item to Window->WaveformWindow for each
     icon button in the waveform window.  Aside from acting as
     documentation, this makes it possible for users to add a
     keystroke for those buttons.

IMP: (8/30/09, AM) Add Edit->Move->Recenter Cell on Selection.

BUG: (8/28/09, JKG) Stitch fill generator not keeping arc extension (Bug #2364)
FIX: InterativeRouter modified.

BUG: (8/28/09, AM) Pulsing error highlighting doesn't work on
     resolution/size DRC errors (Bug #2350).
FIX: In ErrorLogger, ensure that all error markers are logged with "thick" lines.

BUG: (8/28/09, DN) Array exception in stitch generator if cell is instantiated
     (Bug #2360)
FIX: In StitchFillJob.generateFill reload netlist after database modifications.

BUG: (8/27/09, JKG) Stitch fill generator connecting subcells with wrong arc (Bug
     #2362)
FIX: In InterativeRouter, Special contact code earlier so it would not be skipped
     in this case.

BUG: (8/27/09, DN) Pixel drawing algorithm not displaying LE result (Bug #2359)
FIX: In PixelDrawing.drawNode replace "varContext.pop();" by
     "varContext = varContext.pop();".

IMP: (8/26/09, SMR) Added "Tools / Languages / Run Jython Script..." (Bug
     #2358).

BUG: (8/25/09, SMR) Bipolar technology crashes (Bug #2332).
FIX: Changed the function of the PNJunction node to a CONNECT.

BUG: (8/25/09, GVG) Assertion in techs with PrimitiveNode with more than 1 port
     (Bug #2356)
FIX: Code generalized.

BUG: (8/24/09, SMR) Switching cells between icon and tech-edit does not update
     the style of the Artwork technology in the component menu (Bug #2355).
FIX: In WindowFrame.setCellWindow() call loadComponentMenuForTechnology().

BUG: (8/24/09, SMR) Converting schematic technology to library fails (Bug #2354).
FIX: Fix vector conversion and disable editing of noneditable technologies.

BUG: (8/22/09, AM) Annotation text not selectable in a certain situation (Bug
     #2352)
FIX: com.sun.electric.tool.user.Highlighter.findTextNow() must pass
     all text to EditWindow.setTextInCell(), THEN filter out the text
     that is not visible (rather than in the other order).

BUG: (8/19/09, DN) fill generator does not replace old versions of existing fill
     cells (Bug #2342).
FIX: In Cell.kill() remove all instances of killed Cell.
     In StitchFillJob.cleanReplacement copy all instances in a temporary list
     before starting modification.

************************* Version 8.10e: ******************************

IMP: (8/18/09, SMR) Added Placement tool.

BUG: (8/18/09, SMR) Moving diagonal arcs may break them (Bug #2341).
FIX: Special diagonal arc handling only used if Manhattan arcs connected
     to them are NOT selected.

BUG: (8/17/09, AM) Pulsating error highlighting causes 100% CPU usage
     (Bug #2348)
FIX: Use a javax.swing.Timer instead of repaint requests.

BUG: (8/17/09, GVG) Fill generator is not putting enough contacts in when
     connecting to cell instance (Bug #2340)
FIX: Adding nodes in SearchInHierarchy.

BUG: (8/17/09, SMR) If two arcs are in a line, meeting at an end (not sharing
     a pin, but each having their own pin, and the pins are coincident)
     then it is not possible to select the two arcs and use right-click
     to wire them.  Instead, all points are wired to (0,0) (Bug #2339).
FIX: In "InteractiveRouter.getIntersection()" the parallel but intersecting
     case is now handled.

IMP: (8/16/09, AM) Finished first round of performance tuning for
     BTree-based storage of simulation data.

BUG: (8/16/09, AM) Adjust CalibreDrcErrors so that a "CN" line applies
     to all the rest of the errors for that rule, rather than just the
     next error.  Jon Gainsley: please verify this! (Bug #2338).

IMP: (8/16/09, AM) Add pulsating error highlighting.  This is
     useful because using motion to direct the user's attention (rather
     than color) works with any color scheme.

IMP: (8/15/09, AM) Add "duplicate in place" option.  When this is
     enabled, the "duplicate" command will place the duplicated object
     exactly where the original was.  This is far more useful than the
     default behavior when you have layout geometry that needs to stay
     on a grid.

IMP: (8/12/09, AM) use BTree in ScalarEpicAnalysis.  It works.  But it
     is slow.

IMP: (8/11/09, AM) add JDBM-based implementation of BTree (temporary,
     just to get something working quickly).

IMP: (8/11/09, AM) build.xml: add support for temporary use of jdbm
     libraries (SUN builds only).

IMP: (8/11/09, AM) Add BTree.java wrapper for various B-Tree
     implementations (JDBM initially, something GNU-friendly later).

IMP: (8/11/09, SMR) Added Network Preference "Use pure-layer nodes
     for connectivity" to control node extraction (Bug #2183).

IMP: (8/10/09, AM) Add ScalarEpicAnalysis and ScalarEpicOutProcess as
     a testing ground for new on-disk random-access simulation data
     format.

IMP: (8/10/09, AM) First chunk of tool.simulation refactoring.

BUG: (8/10/09, AM) Threading confusion has returned (Bug #2331).
FIX: Remember to check Main.isBatch().

BUG: (8/10/09, SMR) The GEM arcs do not draw properly (Bug #2300).
FIX: Finish translating the original C code for this.

BUG: (8/10/09, SMR) Explorer tree truncates library name (Bug #2327).
FIX: In ExplorerTree.MyRenderer.getTreeCellRendererComponent(), force the text
     to be the library name.

************************* Version 8.10d: ******************************

BUG: (8/6/09, SMR) "Array" doesn't remember last centerline distance used (Bug
     #2325).
FIX: Now remember for the current session.

BUG: (8/6/09, GVG) Verilog netlister isn't writing anything and complains about
     preferences. (Bug #2324)
FIX: Caching VerilogInputPreferences together with VerilogOutputPreferences.

BUG: (8/6/09, SMR) "Search" context item in LIBRARIES explorer node fails (Bug
     #2322).
FIX: Rewrite ExplorerTree.searchAction() to show all results.

BUG: (8/6/09, GVG) false DRC error between pdiff contacts in tsmcsun40GP (Bug
     #2311)
FIX: Better detection if active from contacts overlaps with transistor active

BUG: (8/6/09, DN) Exception in PixelDrawing.drawText, text rotated 270 degrees
     (Bug #2291).
FIX: In PixelDrawing.drawText clean assignments to sx and ex.

IMP: (8/5/09, GVG) Better short names in palette icons for well and active
     contacts (Bug #2323)

BUG: (8/5/09, JKG) Fixes for node extraction. PURELAYERNODEMODE in node
     extractor, probably should be preference. Changes to auto-stitcher used by
     node extractor. (Bugs #2183, #2239)
     (1) changed conditions for forcing an arc to have no head/tail extends
        (RouteElementArc.java)
     (2) more code for aligning to grid, for node extraction
        (InteractiveRouter.java)
     (3) fixes for node extractor, mostly in re-exporting up the hierarchy
         (AutoStitch.java)
     (4) purelayernodemode that extracts mostly pure layer nodes. lots of fixes
         (Connectivity.java)

IMP: (8/5/09, JKG) fix for null color in LayerDrawing.java

************************* Version 8.10c: ******************************

IMP: (8/5/09, SMR) Added ${FILEPATH} to the possible substitutions in
     the Spice Preferences Command/Argument fields (Bug #2318).

IMP: (8/4/09, AM) When writing a DELIB, swap ':' for '/' in cell
     names (Bug #2310).

IMP: (8/4/09, AM) Update com/sun/electric/tool/simulation/package.html.

IMP: (8/4/09, AM) Make Output.writeLibrary throw an exception instead
     of returning a boolean, in order to eliminate worryingly vague
     "Error saving files.  Please check your disk libraries" message.

IMP: (8/4/09, GVG) TechEditorWizard and a multiple spacing rules (Bug #2305).
     Feature added but not turn on for 40nm yet.

BUG: (8/4/09, GVG) Pplus/Nplus enclosure of Well/  Subs taps should be 2
     instead of 8 (Bug #2320)
FIX: Added STRAP values to the TechEditorWizard

BUG: (8/4/09, GVG) Allowable connections to P-Well-con should be Pwell arc,
     not Pdiff arc (same for N-Well-con) (Bug #2319)
FIX: Ports fixed for those well contacts defined in a generic way.

IMP: (8/4/09, SMR) When placing a node from the component menu, typing "," or
     "." before clicking rotates the node's initial orientation (Bug #2253).

BUG: (8/4/09, SMR) "Change" dialog takes too long when changing arcs with nodes
     (Bug #2294).
FIX: Improved efficiency of finding a contact stack by caching correct contacts
     to use.

BUG: (8/4/09, SMR) Current cell not remembered when it switches from text to edit
     (Bug #2288).
FIX: In WindowFrame.setCellWindow(), always save current cell.

************************* Version 8.10b: ******************************

BUG: (8/3/09, SMR) Waveform window colors are not saved (Bug #2302).
FIX: Save colors with cell configurations.

BUG: (8/3/09, SMR) "Fill Window" doesn't work in waveforms (Bug #2301).
FIX: In WaveformWindow.fillWaveform(), computes left and right "fill" edges from
     signals in the panels, rather than from bounds of all signals.

BUG: (8/3/09, SMR) Delete key doesn't work in outline-edit mode (Bug #2280).
FIX: Moved delete handling to the Erase function.

BUG: (8/3/09, SMR) Waveform window drops lines if endpoints are offscreen (Bug
     #2299).
FIX: In Panel.processSignals(), always draw lines.

BUG: (7/29/09, GVG) tsmcsun40GP tech: User.getPrimitivePortConnectedToArc()
     throws assertion error for N-Well arc (Bug #2317)
FIX: Assertion not valid for pure nodes

BUG: (7/29/09, DN) Race conditions in MultiTaskJobLight (reported by Eric).
FIX: Add field MultiTaskJobLight.numberOfFinishedJobs.

BUG: (7/28/09, GVG) Running DRC on 40nm layout causes 'assert' exception (Bug
     #2316)
FIX: Add bit for foundry=NONE (from TechEditorWizard)

BUG: (7/26/09, DN) Electric highlights the wrong port when moving up the
     hierarchy (Bug #2314).
FIX: In EditWindow.upoHierarchy find equivalent port if necessary.

IMP: (7/24/09, GVG) Need some more well/substrate contact types in 40nm (Bug
     #2313).  The process without pwell is called Psubstrate in the
     TechEditorWizard now.

IMP: (7/24/09, DN) MultiTaskJobLight - light implementation of MultiTaskJob API.

BUG: (7/23/09, GVG) Function types are backwards for P/N Well contacts in
     tsmcsun40GP (Bug #2309)
FIX: Nwell function properly defined in p/n well contacts in nwell process

BUG: (7/23/09, GVG) performance bug when changing metal layer in layout
     (tsmc40GP) (Bug #2294)
FIX: Determine wiring direction to prune search. Not the final solution, just a
     patch for now.

BUG: (7/23/09, GVG) java.lang.AssertionError (Bug #2304)
FIX: Contact conditions only valid for layout techs

BUG: (7/22/09, GVG) Missing some spacing rules in 40nm (Bug #2303)
FIX: Added metal spacing rules. Only 1 rule per pair.

BUG: (7/22/09, GVG) Drc generates false errors when checking pure layer node
     geometry with trace information (Bug #2297)
FIX: isPointInsideCutAlgorithm is using pointInRect instead of pointInsideRect
     for bounding box checking.  This is only used for non-rectangular polygons.

BUG: (7/22/09, DN) EpicReaderProcess doesn't join HSim signals to groups. (Bug
     #2298).
FIX: Add class EpicReaderProcess.EpicReaderContext to join signals.

BUG: (7/21/09, DN) EpicReaderProcess can't read HSim output (Bug #2298).
FIX: Epic signals can share waveform numbers.

IMP: (7/20/09, GVG) Adding back changes for "TechWizardEditor and non-
     deterministic XML output" (Bug #2250) after Bug #2295 and Bug #2296 are
     fixed.

BUG: (7/20/09, GVG) Wiring tool not working as expected in 40nm (Bug #2296)
FIX: Add equivalent list of ports.

BUG: (7/20/09, GVG) Wiring tool not picking the correct node (Bug #2295)
FIX: Add current port proto per combination of arc protos. Can be manipulated
     from the tech palette.

BUG: (7/17/09, GVG) Undoing bug #2250 due to bug #2295.

BUG: (7/16/09, GVG) NPE in showNetworkCommand (Bug #2292)
FIX: Wrong detection of null condition.

BUG: (7/15/09, GVG) Compare Displayed Cells tool looking for subcells in wrong
     library (Bug #2290)
FIX: Skip subcells not found in the same library because they are shared with
     other cell

IMP: (7/15/09, GVG) Compare Displayed Cells tool should ignore 0-sized nodes (Bug
     #2289)

IMP: (7/15/09, GVG) Consider X axis while comparing points not aligned in
     StitchFill:isLeftTop (Bug #2281)

************************* Version 8.10a: ******************************

IMP: (7/15/09, AM) Back out change from 7/12 until we figure out
     what's going on with the regressions.

BUG: (7/14/09, AM) EpicAnalysis.getSignalsFromExtractedNet() always
     returns null (Bug #2287).

BUG: (7/14/09, AM) Threading assertion failure when creating waveform
     window (Bug #2286).

IMP: (7/13/09, GVG) Adding ERC Antenna to the regression (bug #2283)

BUG: (7/13/09, GVG) tsmcsun40GP tech: n/p-well arcs in palette menu, connect to
     p/n-diff layers (Bug #2282)
FIX: The n/p-well arcs should be selectable from the palette menu (part I).

IMP: (7/12/09, GVG) More changes in LayoutImage dialog

IMP: (7/12/09, AM) If "-" is supplied as an argument to "-s" on the
     command line, read a bean shell script from stdin.

IMP: (7/12/09, AM) Move i2i from Schematics to ArrayIterator.

IMP: (7/11/09, AM) Fix EMenuItem so it will not throw an exception if
     java.awt.headless=true in -batch mode.

IMP: (7/11/09, AM) Fix "-batch" mode; it broke somewhere between 8.08k
     and here.

IMP: (7/11/09, AM) Move getLibraryFormat() from FileMenu to FileType
     so it can be invoked when java.awt.headless=true.

IMP: (7/11/09, AM) Schematics.java: make appearance of off-page
     connection node depend on the PortCharacteristics of its Exports.

BUG: (7/10/09, GVG) tsmcsun40GP tech: n/p-well arcs in palette menu, connect to
     p/n-diff layers (Bug #2282)
FIX: Well arcs available for diff primitive nodes (part II)

IMP: (7/10/09, JKG) NodeInst centers do not need to be on grid (only edges
     matter), so relaxed restriction.  For well and implant, put back whole
     original layers in, as this is simpler (no connectivity needed)

IMP: (7/10/09, GVG) BJTDMY in 40nm

BUG: (7/8/09, GVG) ERC Antenna and NotSerializableException (Bug #2283)
FIX: Made TechPool in AntennaPreferences transient.

IMP: (7/8/09, GVG) Stitch fill generator needs to find all possible connections
     with cell instances (Bug #2273).  New solution looks for all possible
     intersections. It might be slow.

IMP: (7/8/09, AM) LayoutImage dialog and implementation.

BUG: (7/8/09, SMR) Run Probe option under LTSpice simulation does not work (from
     BSU, Bug #2279).
FIX: In com.sun.electric.tool.io.output.Spice.SpiceFinishedListener.
     processFinished(), replace method with:
        SwingUtilities.invokeLater(new Runnable() { public void run() {
            Simulate.plotSpiceResultsThisCell();
        }});

BUG: (7/8/09, SMR) When undoing changes, index out of bounds exception when no
     more undo's are available (from BSU, Bug #2278).
FIX: In com.sun.electric.database.change.Undo.getUndoActivity(), replaced
        return doneList.get(doneList.size() - 1).activity;
     with:
        if (!doneList.isEmpty()) return doneList.get(doneList.size() - 1).
            activity;
        System.out.println("Nothing left to undo");
        return "";
     In com.sun.electric.tool.user.ui.ToolBar.java, added:
        if (task.length() == 0) realUndo = false;
     After line 1157 containing:
        boolean realUndo = true;
     Replaced line below 1157:
        if (task.equals(FileMenu.openJobName))
     With:
        if (task.equals(FileMenu.openJobName) && realUndo)

BUG: (7/7/09, JKG) Some arcs generated by Stitch fill gen have extended tail/head
     (Bug #2277)
FIX: swapped width/height check in getExtendArcEnd to choose proper ends extended
     state.  Fixed call to node size to get without offset.

IMP: (7/7/09, GVG) Generic pins in layout should generate only DRC warnings (Bug
     #2276)

IMP: (7/7/09, SMR) EDIF import now gets Export characteristics right in schematic
     cells (Bug #2275).

IMP: (7/6/09, GVG) TechWizardEditor and non-deterministic XML output (Bug #2250)

BUG: (7/6/09, GVG) Stitch fill generator and flat cap cells (Bug #2274)
FIX: InteractiveRouter detecting singular lines (defined by same point).

IMP: (7/6/09, GVG) Stitch fill generator needs to find all possible connections
     with cell instances (Bug #2273)

BUG: (7/6/09, SMR) Extension renaming broken for DELIBs (Bug #2256).
FIX: Fixed Output.writeLibrary().

BUG: (7/6/09, GVG) fill generator still missing some contacts (Bug #2240)
FIX: Added orientation instruction in doc file otherwise it is hard to look for
     intersections.

BUG: (7/6/09, GVG) All *.  lay cells renamed to deleted after running the stitch
     generator? (Bug #2272)
FIX: Undone changes in Output.writeLibrary() for bug #2256.

BUG: (7/6/09, SMR) Text windows cannot cut/copy/paste (Bug #2269).
FIX: Added these functions to TextWindow.java.

IMP: (7/2/09, GVG) 3D Viewer shouldn't be available if j3d package is not
     available (Bug #2268)

IMP: (7/2/09, GVG) Add 40nm Poly Resistors (Bug #2267)

IMP: (7/2/09, SMR) Added "Cell / Cell Info / Library Graph" to display
     organization of library dependencies (Bug #2219).

BUG: (7/2/09, SMR) Deleting individual stimuli from waveform window removes
     entire waveform (Bug #2266).
FIX: In WaveformWindow.deleteSelectedSignals(), if a stimuli is removed,
     do not remove entire waveform.

BUG: (7/2/09, SMR) LTSpice crashes when reading back stimuli (Bug #2265).
FIX: Changed tool.io.input.Simulate.ReadSimulationOutput class to be Thread,
     not Job.

IMP: (7/2/09, GVG) Importing instead of exporting of Text Cell Contents (Bug
     #2264)
FIX: Calling tw.writeTextCell instead of tw.readTextCell

IMP: (7/2/09, GVG) PNG Export doesn't log message in MessageWindow (Bug #2263)

BUG: (7/2/09, GVG) Assertion in GraphicsPreferences (Bug #2262)
FIX: No User background color in EditWindow.getPrintImage()

IMP: (7/1/09, GVG) 180nm techs not longer overwriting setPrimitiveNodeSize.
     This will allow to get 40nm resistors get properly sized.

BUG: (7/1/09, SMR) Memory leak in WindowFrame (Bug #2261).
FIX: (fixed by Winway Pang of BSU) Call "jif.dispose()" in
     WindowFrame.finished().

BUG: (7/1/09, SMR) Arrow and Delete keys in in-place editors handled wrong (Bug
     #2259).
FIX: Added EIPEditorPane and EIPTextField to KeyBindingManager.processKeyEvent().

BUG: (7/1/09, SMR) Changing extension of output file is ignored (Bug #2256).
FIX: In Output.writeLibrary() only add extension if there is none.

BUG: (7/1/09, SMR) PostScript text is incorrectly scaled (too large) and
     PostScript gives errors about the server trying to access Preferences (Bug
     #2258).
FIX: Moved preference access to client.

BUG: (7/1/09, SMR) Node extractor does not grid-align (Bug #2239).
FIX: Grid alignment added to node extractor and routers.

BUG: (6/29/09, SMR) Arc Preferences crashes when changing technology (Bug #2255).
FIX: In NewArcsTabnewArcsPrimPopupChanged(), ignore if already changing.

IMP: (6/29/09, SMR) Rolling mouse wheel with control held zooms in and out
     (Bug #2248).

BUG: (6/29/09, SMR) Spice primitives are not centered (Bug #2249).
FIX: Centered all primitives and added a "Probe" symbol.

BUG: (6/26/09, GVG) fill generator doesn't connect all networks found in
     fillCap (Bug #2254)
FIX: HierarchicalEnumerator added to find arcs in sub cells included as
     instances.

IMP: (6/25/09, GVG) Adding <resolution> in the XML tech description for Bug
     #2239

BUG: (6/25/09, SMR) Auto-repeat of arrow keys does not work (Bug #2251).
FIX: Fixed KeyBindingManager.java:
     KeyBindingManager now implements KeyEventDispatcher
     Constructor calls: KeyboardFocusManager.getCurrentKeyboardFocusManager().
       addKeyEventDispatcher(this);
     KeyBindingManager now has:
       public boolean dispatchKeyEvent(KeyEvent e) {return processKeyEvent(e);}
     KeyBindingManager.processKeyEvent() does different shift modification and
     has special source detection (source detection required that
     "OpenFile.OpenFileSwing" be public)

IMP: (6/24/09, SMR) GDS import has "Cadence Compatibility" preference
     which adjusts export locations to be inside of the geometry (Bug #2246).

************************* END OF Version 8.09, GNU RELEASE *************
************************* Version 8.09n: ******************************

IMP: (6/23/09, GVG) new voltage marker layers (Bug #2245)

BUG: (6/23/09, DN) New: infinite exceptions when doing Edit->Change (Bug #2244).
FIX: In NetworkTool.getNetworksOnPort check if pi.isLinked().

BUG: (6/23/09, SMR) Status bar still not readable (Bug #2234).
FIX: Added spaces around the Selected, Size, and Tech fields.

BUG: (6/23/09, SMR) Epic reader gives strange error when EOF encountered (Bug #2243).
FIX: Warn about the EOF condition.

BUG: (6/22/09, DN) XML Tech Reader should warn if PrimitiveNode in Palette is not defined (Bug #2241).
FIX: In Xml.startElement.menuNodeInst print warning if protoName isn't found.

BUG: (6/22/09, DN) Max #EThreads set by # of processors (Bug #2237).
FIX: ServerJobManager.defaultNumThreads = Math.max(2, Runtime.getRuntime().availableProcessors());

BUG: (6/22/09, DN) New: Display problems extra node... (Bug #2236).
FIX: In Schematics.getShapeOfNode/genShapeOfNode don't apply correction to extra blobs.

BUG: (6/22/09, DN) Pattern scale limit and M9 (Bug #2227).
FIX: Default value of User.getPatternedScaleLimit() is 0.5 according to JonG.

BUG: (6/22/09, GVG) Stitch fill generator having problems to get fillCap{lay} (Bug #2242)
FIX: Added corresponding layout extenstion to the cell name.

BUG: (6/22/09, SMR) Status bar shifts as mouse moves (Bug #2234).
FIX: Fixed size of elements, added grid lines.

BUG: (6/21/09) Pixel drawing algorithm not working in big schematics (Bug #2228).
FIX: In PixelDrawing.drawImage move definition of drawBounds after call of initOrigin.

BUG: (6/20/09, DN) Failed Jobs throw exceptions (Bug #2226).
FIX: Don't print EJobException to stderr.

BUG: (6/19/09, GVG) Fill stitcher does not insert contacts for 40nm tech (Bug #2232)
FIX: Sort metal layers per level. Removed dependency of predefined orientation of metals.

BUG: (6/18/09, GVG) NPE in Pixel drawing with GlobalTextScale (Bug #2229)
FIX: Detecting if wnd is null. If yes, use User.getGlobalTextScale()

BUG: (6/18/09, SMR) When jobs fail, an exception is thrown (Bug #2226).
FIX: Fixing failed-job error messages.

IMP: (6/18/09, SMR) Fix error messages in Silicon Compiler

IMP: (6/17/09, GVG) fixed set verilog standard cell template command

************************* Version 8.09m: ******************************

IMP: (6/17/09, GVG) Add VTH/VTL Transistors in 40nm (Bug #2225)

BUG: (6/17/09, SMR) River router crashes when it accesses highlights from Job (Bug #2223).
FIX: Moved user access to Job constructor.

BUG: (6/16/09 GVG) No capability to get coloringAttributes (Bug #2221)
FIX: Added missing Appearance.ALLOW_COLORING_ATTRIBUTES*

BUG: (6/16/09, GVG) Movie feature broken in Electric (Bug #2220)
FIX: Resources for JMF and Java3D split.

BUG: (6/16/09, GVG) JPEG package Sun propietary. Get rid of them? (Bug #1344)
FIX: Using javax.imageio.ImageIO package instead

BUG: (6/16/09, DN) DELIB cell files of deleted cells aren't renamed to ".deleted".
FIX: In DELIB.checkIfDelete use getName instead of getLibraryPath.

IMP: (6/16/09, DN) Prohibit in Technology.xsd deprecated attributes of <primitiveNodeGroup>.

BUG: (6/13/09, DN) Delib cell not marked for saving when version is deleted (Bug #1945).
FIX: In ImmutableLibrary keep delibCells insteadof delibCellFiles.

************************* Version 8.09l: ******************************

IMP: (6/11/09, GVG) NT transistor added in 40nm technology (Bug #2212).

BUG: (6/10/09, SMR) Layers Preferences do not notice when color schemes change (Bug #2217).
FIX: WindowFrame.repaintAllWindows() now notifies the Layers Preferences to recache.

BUG: (6/10/09, SMR) Interactive sizing crashes if edge is sized about center (Bug #2218).
FIX: Fixed SizeListener.getNewNodeSize().

IMP: (6/9/06, DN) Method "EvalJavaBsh.displayCell(Cell cell)" to display Cell after
    termination of ".bsh" script.

BUG: (6/9/09, DN) Technology editor causes crash in redisplay after making technology (Bug #2215).
FIX: In PixelDrawing.initForTechnology reallocate layerBitMap after change of color map size.

BUG: (6/9/09, DN) Problem when changing layer fill pattern (Bug #2214).
FIX: In EGraphics.withPattern use "pattern" instead of "this.pattern".

IMP: (6/9/09, GVG) OD18 transistors added in 40nm technology (Bug #2212).

BUG: (6/8/09, GVG) Double amount of layers from TechEditorWizard (Bug #2216)
FIX: Lists clean.

IMP: (6/8/09, GVG) Adding deep well in 40nm technology (part of Bug #2212).
Ability to define patterns in tech editor wizard.

BUG: (6/8/09, DN) Some artwork arcs drawn incorrectly (Bug #2213).
FIX: In AbstractShapeBuilder.transformDoubleCoords consider artwrok arcs specially.

IMP: (6/8/09, JKG) Imported Calibre errors should show rule number (40nm) (Bug #2211)

************************* Version 8.09k: ******************************

IMP: (6/4/09, GVG) A different spacing rule for well in 40P (Bug #2183)

FIX: (6/4/09, JKG) Changed tsmcsun40GP tech to use minimum spacing rule instead of
   recommended spacing rule for poly (PO.S.1)

IMP: (6/4/09, DN) Make GraphicsPreferences serializable.

BUG: (6/4/09, DN) The "current cell" is not available while running a Job.
FIX: Propagate current cell to ServerJobManager.UserInterfaceRedirect.

BUG: (6/3/09, DN) NoSuchElementException while editing in place (Bug #2209).
FIX: In LayoutCell.ConnectionIterator.findNext skip deleted arcs.

IMP: (6/3/09, SMR) Technology-specific imports now prompt for the technology (Bug #2162).

BUG: (6/3/09, SMR) "Change" command crashes (Bug #2208).
FIX: In Change.ChangeObject class, cache cell in constructor.

IMP: (6/3/09, JKG) Added text output to GDS out. Also tied in export renaming
   to the text output. Tied to "include text" gds preference.

BUG: (6/3/09, SMR) Node extraction may create extra implant layers (Bug #2202).
FIX: In RouteElementArc.newArc() consider all layers of the arc.

IMP: (6/2/09, GVG) Add two extra layers in tsmcsun40GP (Bug #2206)

BUG: (6/2/09, DN) Re-export Everything is doing too much (Bug #2197).
FIX: In CellBackup.hasConnections search for the proper portId.

BUG: (6/2/09, DN) Electric doesn't remember which grid setting I was last using (Bug #2204)
FIX: In User.setAlignmentToGridVector use UserInterfaceMain.setEditingPreferences.

BUG: (6/2/09, DN) Artwork pins now have large black dots on them (Bug #2203).
FIX: Add parameter wipePins to AbstractShapeBuilder and use it VectorCache.

BUG: (6/2/09, SMR) Status bar no longer shows the technology, scale, or cell size (Bug #2205).
FIX: Do not make these fields invisible: they lose their size.

IMP: (6/1/09, GVG) Using partition algorithm (Bug #2193) in Extraction tool.
This should improve results reported in Bug #2183.

BUG: (6/1/09, SMR) Splash screen goes away too quickly on MDI systems (Bug #2201).
FIX: Restored WindowListener in UserInterfaceMain.SplashScreen.

IMP: (5/31/09, DN) If ImmutableNodeInst.SIMPLE_TRACE_SIZE=true then size of outlined
   nodes is considered simply as outline of the trace. This is not correct for serpentine
   transistors but they are handled by special code everywhere.

IMP: (5/31/09, DN) Add Technology.ALWAYS_SKIP_WIPED_PINS switch to skip wiped pins
    in both electrical and non-electrical modes. Now it is off.

IMP: (5/31/09, DN) Remove "Schematics.busPinNode.setWipeOn1or2();" because
    busPinNode has more complicated wipe rules defined by code.

BUG: (5/30/09, DN) NPE while writing XML files for certain techs (Bug #2190)
FIX: Also make method Technology.getXmlTech() safer.

IMP: (5/30/09, DN) Name of Job types might be misleading.
    Rename REMOTE_EXAMINE->SERVER_EXAMINE, EXAMINE->CLIENT_EXAMINE .

BUG: (5/28/09, GVG) Field variables not transferred from doIt to terminateOK (Bug #2199)
FIX: Local variable lib was overwriting the class variable. Error introduced in 8.09h (rev 9060).

BUG: (5/28/09, SMR) Smart Text preferences crashes (Bug #2198).
FIX: Converted Smart Text to use interface that allows editing preferences.

WARNING: CHANGES BELOW are out!
<--------------------------------------------------------------------------------
BUG: (5/25/09, DN) FlatArcs regression failed.
FIX: In AbstractShapeBuilder.pushIntLine use addIntPoly instead of AddIntBox.
------------------------------------------------------------------------------------>

BUG: (5/26/09, GVG) NPE in project settings if there is no permission to read a header file (Bug #2194)
FIX: Preventing the NPE in settings. The error will be reported by JelibParser

BUG: (5/26/09, GVG) NPE while writing XML files for certain techs (Bug #2190)
FIX: Detecting when the tech can't be exported to XML (Java-based ones).

IMP: (5/22/09, EY) Multithread Analysis Tools

IMP: (5/22/09, SMR) Added guaranteed ordering in Auto-Stitch and Node Extractor (Bug #2183)

IMP: (5/22/09, GVG) Algorithm to partition complex geometries in Extractor tool (Bug #2193)

IMP: (5/22/09, GVG) Avoiding such long lines in the message window when many cells are reported with problems.
Modifications in input.GDS

BUG: (5/22/09, GVG) schematic2.xml generated by regression can't be read it back (Bug #2188)
FIX: Missing types added into NodeLayerStyle

BUG: (5/22/09, GVG) NPE when changing preferences after an undo (Bug #2191)
FIX: Detecting the case when curLib == null

BUG: (5/20/09, SMR) Node extractor may drop cuts, and auto-router may drop arcs
     (Bug #2183).
FIX: Repaired node extractor and auto-router.

BUG: (5/19/09, SMR) Node extractor is confused by multiple cuts in the same
     location (Bug #2183).
FIX: Eliminate redundancy.

BUG: (5/19/09, SMR) Arrow keys affect circuitry even when navigating popup menus
     (Bug #2187).
FIX: Ignore keystrokes when popup menu is visible.

BUG: (5/19/09, SMR) Auto-stitcher ignores end-extension requests when replacing
     an arc (Bug #2183).
FIX: Supply correct end-extension to Route package and let it use the values.

IMP: (5/18/09, GVG) Prompt for technology to use when importing GDS (Bug
     #2162) Printing message about the layout tech to use.

BUG: (5/18/09, SMR) Startup warnings about diff layers in well arcs (Bug #2184).
FIX: Allow this special case.

BUG: (5/18/09, SMR) GDS input is using the wrong layer (Bug #2183).
FIX: When an unknown layer is found, subsequent layers must be ignored.

BUG: (5/16/09, DN) Assertion error when descending into instance (Bug #2186)
FIX: In VectorCache.ShapeBuilder.addIntBox clone coordinates array.

BUG: (5/15/09, DN) IN instead of In? Make the difference in User's preferences
     (Bug #2185)
FIX: "In" instead of "IN" in GraphicsPreferences.getKeyIn()

IMP: (5/15/09, GVG) Assertion error when descending into instance (Bug #2186)
     Extra code to detect the cases.

BUG: (5/15/09, GVG) IN instead of In? Make the difference in User's preferences
     (Bug #2185)
FIX: "In" instead of "IN" in PrefPackage.getKey()

IMP: (5/14/09, GVG) TechEditorWizard and well arcs (Bug #2179)

IMP: (5/14/09, SMR) New command to detect undriven networks (Bug #2182).

IMP: (5/14/09, GVG) Prompt for technology to use when importing GDS (Bug #2162)

BUG: (5/14/09, SMR) GDS export allows degenerate shapes (Bug #2180).
FIX: In GDS output, remove common points in polygons and ignore shapes
     with less than 3 vertices.

BUG: (5/13/09, SMR) EDIF equivalence do not map onto the current library (Bug
     #2178).
FIX: Now handle substitutions in all libraries.

BUG: (5/13/09, SMR) GDS import puts layout in any view of the cell (Bug #2145).
FIX: Force GDS import to use layout cells.

BUG: (5/13/09, SMR) Node extractor creates holes when restoring unextracted
     geometry (Bug #2176).
FIX: The extractor now uses a simpler algorithm that does not create holes.

BUG: (5/13/09, DN) NPE while adding spice netlist line (Bug #2177).
FIX: In ToolMenu.MakeTemplate move needCurrentWindow from doIt to constructor.

************************* Version 8.09j: ******************************

IMP: (5/12/09, GVG) CadencePrefs.xml and unable to restore default setup (Bug
     #2161). Put in manual a big warning about not recovering previous
     preferences.

IMP: (5/12/09, SMR) EDIF input now adds cell names to icons in Cadence mode (Bug
     #2160).

BUG: (5/12/09, DN) Assertion error in Technology$NodeLayer.fixup() (Bug #2175).
FIX: In Schemaics.getShapeOfNode use fullRectangle.getWidth() instead of
     fullRectangle.getX()

IMP: (5/12/09, SMR) GDS import now creates proper NCC unification messages and
     has more concise warnings.

BUG: (5/11/09, DN) Facet center is invisible by default in LayerDrawing (Bug
     #2172).
FIX: In LayerVisibility.getDefaultOpacity() set default opacity of
     Generic.GlyphLay to 0.1.

BUG: (5/11/09, DN) NMOS and PMOS primitives in the schematic technology are
     incorrect (Bug #2172).
FIX: In Schematics.buildTransistorDescription() call NodeLayer.fixup().

BUG: (5/11/09, GVG) NPE in Ctrl-V (Paste) if no cell is available in cantEdit
     (Bug #2174)
FIX: Detecting the null cell now and proper message is displayed ("job Paste Text
     returned false")

IMP: (5/11/09, GVG) Don't swap elements in TechPalette if node can't be created
     (Bug #2173)

BUG: (5/11/09, GVG) Names in techPalette pulldown menus are the same (Bug #2171)
FIX: Only schematic nodes will name from Variables. Reviewed short text in
     palette icons as well.

BUG: (5/11/09, GVG) TechEditorWizard and pwell process (Bug #2170)
FIX: SizeOffset values properly calculated now.

BUG: (5/11/09, SMR) Node extraction creates badly-named exports (Bug #2163).
FIX: In node extractor and auto-stitcher, uses sensible names.

BUG: (5/11/09, SMR) Node extraction doesn't find contacts properly (Bug #2164).
FIX: Now use dummy nodes instead of NodeLayer information.

IMP: (5/11/09, DN) Fast path to put simple arc shapes into VectorCache.

IMP: (5/8/09, DN) Points in technology classes are the same as in Xml files.

IMP: (5/8/09, SMR) Copyright section of Network Preferences now in its own
     panel (Bug #2168).

IMP: (5/8/09, SMR) Renamed "Project Settings" to be "Project Preferences" and now
     call "preferences" the "User Preferences".

IMP: (5/8/09, SMR) EDIF now converts "pPar()" to "@" (Bug #2167).

BUG: (5/8/09, SMR) EDIF input duplicates icons (Bug #2160).
FIX: Ignore the icon if it is already there.  Also fixed curves.

IMP: (5/8/09, GVG) Ability in TechEditorWizard to define layers different
     patterns (Bug #2169)

BUG: ((5/8/09, SMR) NPE adjusting scroll bars (Bug #2155).
FIX: Catch null pointer in EditWindow.setScrollPositionUnsafe().

BUG: (5/7/09, DN) NPE in VectorCache display if you set generic as startup tech
     (Bug #2165)
FIX: In VectorCache.drawNode consider topOnlyShapes.

BUG: (5/7/09, DN) Wrong graphics color in Cadence mode: Of instead of For? (Bug
     #2159)
FIX: Parameters of PrefPackage.getKey(String,Layer) explicitly specify For/Of.

BUG: (5/7/09, GVG) Wrong graphics color in Cadence mode: Of instead of For? (Bug
     #2159)
FIX: Temporary fix: ColorOfGraphicsINartwork added in Cadence xml.

BUG: (5/7/09, GVG) NPE on EDIF import (Bug #2157)
FIX: Creating the property value when booleans are detected

IMP: (5/7/09, DN) Scalable transistors in mocmos use multicut NodeLayers.

BUG: (5/6/09, DN) Those precision warnings in settings are back (Bug #2156).
FIX: In FileMenu.ReadLibrary.doIt test if double mismatch can be explained by
     float rounding.

IMP: (5/2/09, DN) Prepare cvspm to work in two-JVM mode.

BUG: (4/30/09, DN) Can't create new cell parameter (Bug #2153)
FIX: In EObjectOutputStream.EVariableKey.readResolve use newKey instead of
     findKey.

BUG: (4/29/09, GVG) Attribute 'size' must appear on element 'menuNodeText' (Bug
     #2150)
FIX: use="optional in Technology.xsd

IMP: (4/29/09, SMR) File/Import commands now offer the ability to "merge" the
     new library with an existing library.  Removed the command "File / Import /
     DEF (Design Exchange Format) to current cell..." (Bug #2145).

IMP: (4/29/09, SMR) Text in the component menu is now sized automatically (Bug
     #2133). Component menu dialogs no longer have size field.

BUG: (4/29/09, SMR) EDIF import loses schematics (Bug #2147).
FIX: Many different types of EDIF now supported.

IMP: (4/29/09, DN) Add Xml element to define LE settings of technology.

BUG: (4/28/09, GVG) Grid selection buttons shortcuts preferences not working (Bug
     #2149)
FIX: Current index fixed in EditingPreferences.withAlignment().

************************* Version 8.09i: ******************************

BUG: (4/27/09, SMR) EDIF input is broken in multiple ways (Bugs #2143 and #2144).
FIX: Total revamp of EDIF reader.

BUG: (4/25/09, DN) Electric doesn't complain about settings conflict between
     projsettings.xml and library (Bug #2129).
FIX: In FileMenu.ReadLibrary.doIt add diagnostics.

BUG: (4/24/09, GVG) Value too long in ComponentMenu (Bug #2146)
FIX: Detecting the case when String is longer than Preferences.MAX_VALUE_LENGTH.
     Error dialog added.

BUG: (4/24/09, DN) Constructor of ReadLibrary job modifies IdManager in client
     thread.
FIX: Move this to ReadProjectSettingsFromLibrary job.

BUG: (4/23/09, DN) Electric first window doesn't start with the default startup
     tech (Bug #2142).
FIX: In Main.java move window creation from InitDatabase to InitProjectSettings.

BUG: (4/23/09, SMR) Preferences dialog can appear twice (Bug #2141).
FIX: Show previous one if still active.

BUG: (4/23/09, SMR) Node extractor fails when there is duplicate text (Bug
     #2136).
FIX: Find and remove duplicate text...do not fail when minor errors happen.

BUG: (4/23/09, SMR) Error logger doesn't handle "point" errors (Bug #2138).
FIX: Added case to XML reader/writer.

BUG: (4/23/09, SMR) Node extractor points to wrong place when implants
     are too large (Bug #2137).
FIX: Scaled coordinates.

BUG: (4/22/09, SMR) Hierarchical node extraction shows confusing progress (Bug
     #2136).
FIX: Now show simpler progress indication when extracting hierarchically.

BUG: (4/22/09, DN) VHDL preferences are not saved.
FIX: In GenerateVHDL.VHDLPreferences.putPrefs inverse the condition.

IMP: (4/22/09, DN) Initialize MessagesWindow earlier to see initialization
     messages.

BUG: (4/22/09, DN) Project settings are not restored from Preferences.
FIX: Don't save settings to Preferences in UserInterfaceMain.showSnapshot().
     Jobs which modify Settings, save them to Preferences in terminateOk()
     method.

IMP: (4/21/09, DN) More command-line keys: -logging -socket -pipe -pipedebug.

BUG: (4/21/09, GVG) Problems DRC'ing technologies with no poly gate pure node
     (Bug #2134)
FIX: Making sure TechEditorWizard generates technologies with pure poly gate
     node.

IMP: (4/20/09, JKG) tweaked behavior of wiring tool - size of arcs from contacts
     now determined by size of layer on contact, not contact size

IMP: (4/20/09, GVG) Adding 40nm tech as a XML technology to avoid issues
     reported in Bug #2124

IMP: (4/20/09, SMR) Preferences and Project Settings dialog keeps center panel
     in the same location (Bug #2101).

IMP: (4/20/09, DN) Regression tests doesn't touch Java Preferences.

IMP: (4/19/09, DN) Regression tests can run in subprocess.

BUG: (4/16/09, SMR) EDIF not reading "unused" and "protectionFrame" keywords (Bug
     #2131).
FIX: Handle keywords.

IMP: (4/17/09, GVG) Improve error message when soft tech can't be uploaded (Bug
     #2126)  Allow to call ActivityLogger.logException(e) always.

************************* Version 8.09h: ******************************

BUG: (4/17/09, DN) UnsupportedOperationException in MessagesStream (Bug #2130).
FIX: Implement write(...) methods of MessagesStream.

IMP: (4/16/09, GVG) Electric will ask users if they want to undo the reading of a
     library (Bug #2118)

IMP: (4/15/09, SMR) "Make Alternate Layout View" has controlling dialog that
     allows users converting schematics to layout to specify a standard cell
     library (Bug #2128).

BUG: (4/15/09, DN) NPE due to null EditorWindow when Waveform is open (Bug #2127)
FIX: In Highligter.checkOutObject int lv from static variable when wnd is null.

BUG: (4/14/09, GVG) NPE if "Failed to save preferences" (Bug #2125)
FIX: Prevent sending errors to MessagesWindow when it is not available. Sending
     to System.err

BUG: (4/13/09, DN) Preferences not available during startup of Electric (Bug
     #2122).
FIX: In first call of Pref.getValue() int cachedObj by
     setCachedObjFromPreferences().

BUG: (4/13/09, DN) Assertion on redraw (Bug #2123).
FIX: In LayerDrawing.copyBits fix asserted condition.

BUG: (4/11/09, GVG) NPE in Measure if no empty is displayed (Bug #2120)
FIX: Detect when no cell is available.

BUG: (4/10/09, DN) Cannot delete the last library (Bug #2119)
FIX: Can close last library again

IMP: (4/8/09, SMR) Added schematic transistor length/width to Multi-Object Properties (Bug #2117).

IMP: (4/8/09, GVG) Added short names in palette elements generated by
     TechEditorWizard

IMP: (4/8/09, SMR) Added METALNEG1 and METALNEG2 layer functions (Bug #2037).

IMP: (4/8/09, GVG) Renaming a cell that has an old version (Bug #2116)
FIX: Extra dialog added to check whether the old versions should be renamed too.

BUG: (4/8/09, SMR) Extraction fails to find alternative transistors (Bug #2112).
FIX: Extractor now considers multiple transistor options.

IMP: (4/7/09, DN) Preferences are removed from Technology class.

IMP: (4/7/09, GVG) New transistors and node extractor (Bug #2112)
     Changes in TechEditorWizard to accommodate the new transistor well size.

IMP: (4/7/09, SMR) Arrow keys can now be rebound and appear in the
     Edit/Move menu (Bug #1450).

BUG: (4/7/09, SMR) Spurious Foundry error messages (Bug #2036).
FIX: Ignore blank foundry names.

BUG: (4/7/09, SMR) External text editing hangs Electric while editing is done
     (Bug #1974).
FIX: Run external text editing in a separate thread.

IMP: (4/6/09, SMR) Now able to bind Bean Shell scripts to the Tools/Languages
     menu (Bug #2115).

BUG: (4/6/09, SMR) Windows/MDI mode sometimes starts with a blank screen (Bug
     #2113).
FIX: In TopLevel.InitializeWindows(), force a resize of the window after startup.

IMP (4/6/09, GVG): Another transistor type to help with the latest technology
     extraction.

IMP: (4/3/09, GVG) Pre-defined KeyBindings and alt- (Bug #2006).  The conflict
     condition is prevented for alt- keybindings associated with menus.

BUG: (4/3/09, DN) VectorDrawing and LayerDrawing doesn't update color after Layer
     colors change.
FIX: Don't cache EGraphics information in VectorCache (except graphicsOverride
     case).

BUG: (4/2/09, GVG) Assertion in ErrorLogger if info doesn't match with libraries
     open (Bug #2111)
FIX: Condition detection after working on Bug #2107

IMP: (4/2/09, GVG) Better highlighting of DRC spacing errors (Bug #2107)
     Implemented with key "/". ErrorLogger XML writer improved as well.

BUG: (4/2/09, NP) M factors not working in NCC (Bug #2088)
FIX: Added to mFactor to TransistorSize.  Only added by schematic constructor.
     NCC netlister multiplies mfactor by width now.

BUG: (4/2/09, SMR) Up Hierarchy doesn't always remember cell history (Bug #2108).
FIX: Save state in all cases.

BUG: (4/1/09, DN) Settings and rounding warnings (Bug #2106)
FIX: In ProjSettings.commit don't print warning when floatValue() are equal.

IMP: (4/1/09, GVG) Changes for "Better highlighting of DRC spacing errors" (Bug
     #2107)

BUG: (4/1/09, GVG) TechEditorWizard not assigning correct ports to actives in
     transistors (Bug #2109)
FIX: Ports amended and the graphical/electrical flags modified as well.

BUG: (4/1/09, SMR) Extraction of transistors may create implant regions
     that are too large (Bug #2105).
FIX: Issue warnings when the implants do not fit.

BUG: (4/1/09, SMR) Technology checking should detect errors in electrical layers
     (Bug #2089).
FIX: Now checks electrical layers.

BUG: (4/1/09, SMR) Node extractor should be able to handle cut spacing variations
     (Bug #2103).
FIX: Now try all variations.

BUG: (4/1/09, DN) After layer visibility change LayerDrawing algorithms renders
     layer bitmaps again.
FIX: Rendering layer bitmaps doesn't filter text on invisible ports at this
     phase. Instead it sets "baseNode" on LayerDrawing.XXXTextInf classes.
     The phase which composes image from layer bitmaps use this information to
     filter text on invisible ports.

BUG: (3/31/09, DN) Empty list and exception in Change dialog (Bug #2104)
FIX: Making sure the highlighter.finished() call is after the highlighting list
     is filled.

IMP: (3/31/09, SMR) GDS import now identifies unknown layers (Bug #2099).

IMP: (3/31/09, DN) EGraphics is immutable class.

************************* Version 8.09g: ******************************

BUG: (3/31/09, SMR) Node extractor doesn't rotate subcells properly (Bug #2102).
FIX: Handle orientation in cell flattening code.

BUG: (3/30/09, GVG) Empty list and exception in Change dialog (Bug #2104)
FIX: Making sure the loadInfo call is after the highlighting list is filled.

IMP: (3/30/09, DN) 3D distance and 3D thickness are Settings.
     View3DWindow tracks undo/redo of Settings.

IMP: (3/29/09, DN) Use Poly.graphicsOverride in drawing ad printing.

IMP: (3/28/09, DN) Move highlight and visibility Layer state from Technology to a
     separate class.

IMP: (3/27/09, DN) Get rid of Layer.newInstanceFree in LayerDrawing.java .

IMP: (3/24/09, SMR) Project Settings dialog merged into Preferences panel (Bug
     #2101).

IMP: (2/26/09, SMR) Added Carbon Nanotube layout transistors for Villanova
     (new Layer Function extra bit for carbon nanotube type) (Bug #2055).

BUG: (3/25/09, DN) NewArcsTab was incorrect after last modification.
FIX: In NewArcsTab.java .

IMP: (3/24/09, DN) Class Layer is Serializable.

IMP/MAP: (3/24/09, DN) Simplify schematic technology - remove parameter
     NegatingBubbleSize.

IMP: (3/24/09, SMR) Project Settings dialog starting to merge into Preferences
     panel.  CIF Settings transferred (Bug #2101).

IMP: (3/23/09, DN) Artwork arrows are always filled (Bug #2100).

BUG: (3/23/09, DN) Crash after renaming icon Cell.
FIX: In Cell.update make full updatePortInsts after node proto changed.

IMP: (3/23/09, GVG) Missing header in DELIB library (Bug #2093).
     Warning is now printed in the messages window as well.

BUG: (3/23/09, SMR) Verilog output merges bus signals (Bug #2098).
FIX: In Verilog.writeCellTopology() write simple busses using correct indices.

BUG: (3/23/09, DN) Settings are not saved to Preferences (Bug #2097).
FIX: In UserInterfaceMain.DatabaseChangeRun.run() add saving Snapshot Settings to
     Preferences.

IMP: (3/23/09, SMR) Moved "Schematic Negating Bubble Size" from Preferences
     to Project Settings, then removed it completely.

BUG: (3/22/09, DN) Exception in WaveformWindow.preserveSignalOrder.
FIX: Load/save options directly into Preferences subtree without creation of
     temporary Pref.

IMP: (3/22/09, DN) Add PrefTest to regressions.

BUG: (3/22/09, DN) New: exception when going up hierarchy in schematics (Bug
     #2095).
FIX: In EditWindow.upHierarchy() don't go up if node instance is already killed.
     Check if selectedExport belongs to the parent.

BUG: (3/22/09, DN) New: exception when Calibre LVS run completes (Bug #2094).
FIX: In Exec thread set thread-local Environment from launcher Environment.

IMP: (3/21/09, DN) A new way of Pref definitions using Java annotations.
     It is demonstrated in SilComp and SiliconCompilerTab modules.

BUG: (3/21/09, DN) ExportGDS_CIFTest.exportGDS_CIF didn't detect resolution
     errors.
FIX: Remove "passed=true;"

IMP: (3/20/09, DN) Convert preferences Artwork.FillArrays and
     Schematics.InvertingBubblesSize to Settings.

BUG: (3/20/09, DN) FastHenry regression accesses Preferences.
FIX: Output.getOutputPreferences() fills with current Settings and either factory
     or current Prefs.

IMP: (3/19/09, SMR) Want to customize metal layers in contact nodes (bug #2045)

IMP: (3/19/09, SMR) First version of "[Technologies should be checked for
     sensibility" (bug #2089)

************************* Version 8.09f: ******************************

BUG: (3/19/09, SMR) Node extractor may fail and leave incomplete extraction
     with only minor warnings (Bug #2086).
FIX: Notify user when extraction has failed.

IMP: (3/19/09, DN) Thread-local ClientEnvironment object to explicitly represent
     default primitive sizes.

BUG: (3/19/09, SMR) When a new layout transistor that has a "well" or "body"
     port is used, and that port is connected, the Spice output ignores the
     connection and substitutes VDD or GND (Bug #2087).
FIX: Use proper bias connection in Spice.writeCellTopology().

BUG: (3/19/09, SMR) Extraction tool replaces DRC exclusion layer by SR_DPO (Bug
     #2084)
FIX: Fixed node extraction so that unusual layers (like DRC) will be preserved

BUG: (3/18/09, SMR) "Change" doesn't show all port errors, just the first (Bug
     #2083).
FIX: In NodeInst.replace(), collect all errors and print them when done.

IMP: (3/18/09, DN) Fix Spice writer to new preferences schema.

IMP: (3/17/09, GVG) TechEditorWizard issues reported in Bug #2078.

IMP: (3/17/09, SMR) Restructured output tool to package preferences for server.

BUG: (3/16/09, SMR) Transistor extraction fails if there is just one active layer
     (Bug #2078).
FIX: Reorder examination of layers so that single active layer is detected.

IMP: (3/16/09, DN) Remove unnecessary saving of Prefs and Settings in
     ExportGDS_CIFTest.

IMP: (3/16/09, DN) Factory menu of technology is stored as Xml.MenuPalette.

IMP: (3/15/09, DN) LibraryFiles.readLibrary doesn't try to access CellModelPrefs
     on server side. They are filled on client side in
     FileMenu.ReadLibrary.terminateOk .

BUG: (3/15/09, DN) MultiDRC regression failed because tech.getResolution() was
     factory default.
FIX: In DRCToolTest.basicMTDRCTest explicitly set resolution to 0.0 .

IMP: (3/14/09, DN) Loading technology options from Java Preferences is moved to
     GUI thread

BUG: (3/15/09, SMR) "Cell" component menu item may be too long and does not
     scroll (Bug #2082).
FIX: Now use the same code for scrollable popup menus as the "Pure" component
     menu.

IMP: (3/14/09, DN) Boolean pref values are stored as Boolean (was Integer).

IMP: (3/13/09, DN) Technology preferences are preallocated in tech constructor.

BUG: (3/13/09, DN) Default artwork color broken again (Bug #2069).
FIX: Remove User.ColorPrefType.ARTWORK because it conflicts with
     Artwork.defaultLayer.colorPref

IMP: (3/12/09, DN) Enable thread local Settings.

BUG: (3/12/09, DN) Electric doesn't start if a soft XML tech is not available
     (Bug #2076)
FIX: Don't attempt to create EditWindow in UserInterfaceMain.showErrorMessage .

BUG: (3/12/09, JKG) Bug 2074: connect 45 degree arcs together
FIX: In InteractiveRouter, add special case code for overlapping arcs

BUG: (3/12/09, SMR) Asking for "properties" when a node and a piece of text are
     selected brings up two dialogs (Bug #2072).
FIX: Now uses the multi-object dialog.

IMP: (3/12/09, SMR) New command: File / Import / Spice Decks reads Spice decks
     (Bug #2077).

BUG: (3/12/09, DN) Compilation failure with Xml.MenuPalette.menuBoxes.
FIX: Declare it as List<List<?>>

IMP: (3/12/09, DN) Environment is thread local.

IMP: (3/12/09, DN) In tech Xml <primitiveNodeGroup> element doesn't require name.

IMP: (3/11/09, SMR) When moving objects that have nonmanhattan wires on
     them, the Control key grids to the appropriate angle (Bug #2072).

BUG: (3/11/09, GVG) Should be able to save and restore list of DRCTemplates
     unchanged (Bug #2051) and Few issues with XML and DRC rules (Bug #2017)
FIX: Removed part where UCONSPA2D were duplicated

BUG: (3/11/09, SMR) Node extraction does not handle temporary names right (Bug
     #2075).
FIX: Ignore temporary names when copying unextracted objects.

BUG: (3/11/09, SMR) Node extraction fails because of tiny polygons in
     polygon merge system (Bug #2073).
FIX: In PolyBase.getLoopsFromArea() ignore zero-size polygons.

BUG: (3/11/09, DN) MultiDRC crashes in regressions (Bug #2057).
FIX: Preallocate DRC rules before starting Tasks.

IMP: (3/10/09, DN) Snapshot contains Project Settings and Technology State.

************************* Version 8.09e: ******************************

IMP: (3/9/09, GVG) Enable/Disable of remove button in AddTech Preference

IMP: (3/9/09, SMR) Fixed command to list unused library files on disk (Bug
     #2038).

IMP: (3/9/09, SMR) Added CIF output scaling factor to project settings (Bug
     #2071).

BUG: (3/9/09, SMR) Array command doesn't remember edge overlap distance (Bug
     #2067).
FIX: Remember just this option, but don't remember other spacing metrics
     because they are determined by the selection.

BUG: (3/9/09, SMR) Array command makes two or 3 copies of each node (Bug #2067).
FIX: Use a Set instead of a List so that nodes are scheduled for copying only
     once.

IMP: (3/6/09, GVG) Changes for "default artwork color broken again (Bug #2069)".
     It is not fixed yet.

IMP: (3/5/09, DN) Enhance Xml element <primitiveNodeGroup> to define transisistor
     groups. Use it in "mocmos.xml". Rename transistor ports in "mocmos.xml".

************************* Version 8.09d: ******************************

IMP: (3/4/09, DN) Add <nodeLayer> element to Xml technology syntax.

BUG: (3/4/09, GVG) Wrong cut and port names in poly contacts defined by the new
     series. Detected by Bug #2060
FIX: Xml.Layer and names are correct now

IMP: (3/4/09, SMR) Node Extractor has preference to flatten Pcells (Bug #2061).

BUG: (3/4/09, SMR) Node extractor creates wide diffusion arcs that overshoot
     the transistor (Bug #2059).
FIX: When such arcs are created, turn off their end-extension.

BUG: (3/3/09, SMR) GDS import may rename duplicate exports to conflict with
     an existing export (Bug #2058).
FIX: Scan all exports to ensure conflict resolution doesn't cause confusion.

BUG: (3/3/09, SMR) Node extraction fails when two multicut contacts are close
     (Bug #2053).
FIX: Ensure there is metal covering all of the cuts before considering them.

IMP: (3/1/09, DN) mocmos and tsmc180 technologies are defined by patched Xml
     files.

IMP: (3/1/09, DN) Define pureLayerNodes in CMOS90 in the same order as Layers.

IMP: (2/28/09, DN) In TechnologyTest test also for xml resizing.

BUG: (2/28/09, DN) Central Transistor-Gate electrical NodeLayer in mocmos
     serpentine transistor has incorrect serpentine bExtent and tExtent.
FIX: Change from 2 to 0.

IMP: (2/28/09, DN) Contact control alignment (centered/spread to edges/packed
     into a corner) is controlled by Variable "CUT_alignment" instead of techBits
     (Bug #2014).

BUG: (2/27/09, DN) Database regression failed in Schematic.xml.
FIX: Add Carbon Nanotube PrimitiveNodeFunctions to Technology.xsd .

BUG: (2/26/09, DN) GNU release crashes on "tsmc180.xml".
FIX: In TechFactory.r check if URL exists.

IMP: (2/26/09, SMR) Added Carbon Nanotube schematic transistors for Villanova
     (new PrimitiveNodeProto.Function and a new Schematic transistor symbol) (Bug
     #2055).

IMP: (2/26/09, DN) Class PrimitiveNodeGroup.

IMP: (2/25/09, GVG) TechEditorWizard creates an empty Misc menu (Bug #2054)

IMP: (2/24/09, GVG) Must XML File match with Tech Name? (Bug #2050)

BUG: (2/24/09, DN) New: Can't open library - infinite NullPointerExceptions (#Bug
     2052).
FIX: In Layer.graphicsChanged() check if the Layer is free.

IMP: (2/24/09, SMR) The layer visibility configurations now understand the
     SHIFT-# commands and incorporate them uniformly.  The default "visibility
     configurations" list in the Layers Tab shows the 10 SHIFT-# entries.
     You can change the visible layers associated with any of the SHIFT-# entries
     and can even rename them.  You can also add your own visibility
     configuration entries, but they won't be bindable to Quick Keys (only the
     SHIFT-# entries, already bound to a quick key, can be rebound).

BUG: (2/23/09, DN) MoCMOS transistors are not properly resized in SCMOS ruleset.
FIX: Add rule "24.3 Mosis" to Mosis180DRCDeck.xml. Fix
     MoCMOS.makeFactoryDesignRules().

BUG: (2/23/09, GVG) NPE while reading XML tech (Bug #2049)
FIX: Store tech name in a temp variable.

************************* Version 8.09c: ******************************

BUG: (2/20/09, DN) Extra Layer function DEEP is not saved in Xml.
FIX: Add DEEP to PrimitiveNode.getExtraName/parseExtraName .

IMP: (2/19/09, SMR) Measurement mode preserves measurements when reentering the
     mode. Now have Windows / Measurements commands to control it.  Text is
     shifted to be more readable (Bug #2026).

IMP: (2/18/09, DN) Move call of CMOS90.loadNodesInPalette from "setState" method
     to constructor. The unused nodes are cleaned later by
     Technology.filterNodeGroups .

IMP: (2/18/09, DN) TechFactory.

BUG: (2/18/09, DN) Some technologies initialize nodeGroups instead of
     factoryNodeGroups.
FIX: Use factoryNodeGroups in CMOS90.java, EFIDO.java, FPGA.java, GEM.java,
     PCB.java, RCMOS.java .

BUG: (2/17/09, SMR) Node extraction should not ignore tiny polygons by default
     (Bug #2046).
FIX: In Network preferences, polygon ignoring is a checkbox.

BUG: (2/16/09, SMR) Hierarchical node extraction not working (Bug #2048).
FIX: Implant analysis was not working hierarchically, causing incorrect implant
     assumptions.

BUG: (2/15/06, DN) The MinSizeRule of "cmos90:A-Metal-1-N-Active-Con" and
     "cmos90:A-Metal-1-P-Active-Con" is different in TSMC and ST foundries though
     NoedLayers are the same.
FIX: In ST90DRCDeck.xml add A-Metal-1-N-Active-Con and A-Metal-1-P-Active-Con to
     NODSIZ rule. Change numbers in DRCToolTest.basicPrimitiveTest.

IMP: (2/14/09, DN) ProjSettings class is a mirror of "projsettings.xml".
     It keeps values, not Settings. Setting logic moved to other classes.

BUG: (2/14/09, DN) TechnologyTest.main doesn't return proper exit code.
FIX: In TechnologyTest.main set good = true on success.

IMP: (2/12/09, DN) Partial commit from twoJvm branch: Technology.loadTechParams .

IMP: (2/12/09, DN) Partial commit from twoJvm branch: Setting.Group .

IMP: (2/12/09, DN) Initial implementation of via customization (variant B) (Bug
     #2045).

BUG: (2/11/09, DN) The initial implementation of via customization broke
     getShapeOfNode() for tcms180:N-Poly-RPO-Resistor
FIX: In Technology protect changes by TESTSURROUNDOVERRIDE = false (Bug #2045).

IMP: (2/11/09, SMR) Initial implementation of via customization (Bug #2045).

IMP: (2/11/09, DN) Move graphics preferences from EGraphics to Layer.

IMP: (2/10/09, DN) Partial commit from twoJvm branch. Tool Settings are
     initialized in a special module before initialization of Tools.

BUG: (2/9/09, SMR) When a multi-cut contact is extracted, does not handle
     if the resulting node is rotated (Bug #2043).
FIX: Transform cut polygons before considering them.

BUG: (2/9/09, SMR) When a multi-screen Windows system has its main window
     on a different screen than the main one, the "Window / Adjust Position"
     commands do not work (Bug #2044).
FIX: Offset the monitor locations.

IMP: (2/6/09, GVG) Get Array tool working on arcs and their pins (Bug #2041).
     Implemented by adding the arc pins into the nodes list.

IMP: (2/6/09, GVG) Adding menu to xml file generated with the Tech Editor Wizard
     (Bug #2042)

BUG: (2/6/09, GVG) Exception on array command with arcs (Bug#2040)
FIX: Passing the parent cell instead of getting from the nodes list.

BUG: (2/6/09, GVG) Guarantee that GDS values are properly parsed from TechEditor
     txt file (Bug #2010)
FIX: Implemented the latest request "X/Y,Zp,Wt".

BUG: (2/5/09, GVG) Can't write XML from Tech editor (Bug #2035)
FIX: Undoing fix for Bug #2000 and avoiding the cast expectation. Error message
     is printed now.

IMP: (2/5/09, SMR) Added command to list unused library files on disk (Bug
     #2038).

BUG: (2/4/09, DN) New: Exception when creating a new technology (Bug #2034).
FIX: Temporarily disable check of state in Setting constructor.

BUG: (2/3/09, SMR) Want to create primitive nodes with no ports (Bug #2033).
FIX: Technology.computeShapeOfNode() now allows this.

BUG: (2/3/09, SMR) Node extractor doesn't handle large contacts without
     "approximate cut placement" set (Bug #2032).
FIX: Extractor now tries to do exact placement of large contacts.

BUG: (2/03/09, DN) NPE in Network tool undoing Node extraction task plus (Bug
     #2030).
FIX: In NetworkTool.getNetlist check if Cell is linked.

BUG: (1/30/09, DN) Meaning option SoftTechnologies is created as Pref.
FIX: Convert Pref to Setting.

BUG: (1/30/09, DN) Electric is not reading User's and Project Preferences!! (Bug
     #2029).
FIX: Add setCachedObjFromPreferences() in Pref constructor.

BUG: (1/30/09, DN) User.playSound is called from "doIt" methods.
FIX: Wrap this method in UserInterface.beep.

BUG: (1/30/09, DN) ELIB reader crashes on empty arc name (Bug #2027).
FIX: In ArcInst constructor use checkNameKey(nameKey, topology).

BUG: (1/29/09, DN) Library readers replace nameDescriptors of arcs by smart text
     descriptor calculated from current Prefs.
FIX: Move call of ArcInst.getSmartTextDescriptor to upper constructor which is
     not called from library readers.

BUG: (1/29/09, DN) Each instance of Artwork.defaultLayer creates a new Pref
     object.
FIX: Add method Layer.isFree(). Don't allocate Prefs for free Layers.

IMP: (1/29/09, DN) Some Prefs can be used in server Jobs, other are client only.
     Server Prefs are created by special factory methods during Electric
     initialization. Current list of Server Prefs:
      TextDescriptor.cacheBits
      TextDescriptor.cacheColor
      TextDescriptor.cacheFont
      PrimitiveNode.defaultExtendX
      PrimitiveNode.defaultExtendY
      ArcProto.defaultExtend
      ArcProto.BitPrefs
      CVS.CVSEnable
      CVS.CVSProgram
      CVS.CVSRepository
      CVS.CVSLastCommitMessage
      User.SmartHorizontalPlacementExport
      User.SmartVerticalPlacementExport
      User.ErrorLimit
      User.PlaceCellCenter

BUG: (1/29/09, DN) Initialization of 3D info for CMOS90.mdLayer used undefined
     viaDLayer.getDepth().
FIX: Dummy 3D info for CMOS90.viaDLayer .

IMP: (1/29/09, DN) Check against late initialization of preferences.

BUG: (1/28/09, SMR) Interactive sizing does not respect grid (Bug #2025).
FIX: Grid align new sizes.

IMP: (1/28/09, SMR) Contact nodes can now customize their cut placement by
     requesting that the cuts be centered (the current way and the default),
     be spread to the edges, or be packed into a corner.  They can also override
     the cut spacing.  These controls are available in the Node Properties dialog
     (Bug #2014).

BUG: (1/28/09, SMR) Changes made in the "multi-object" Properties dialog crash
     (Bug #2024).
FIX: Made GetInfoMulti.MultiChange a static class.

BUG: (1/27/09, SMR) Setting reconciliation complains when values are vanishingly
     close (Bug #2022).
FIX: In GenMath.objectsReallyEqual(), accept floating-point values that are
     close. In OptionReconcile.java, compare for "closeness" and display
     formatted floating point.

************************* Version 8.09b: ******************************

IMP: (1/27/09, JG) New fat wiring mode in wiring tool by default.

IMP: (1/26/09, GVG) TechEditor supports pin and text now (bug #2009)

IMP: (1/26/09, SMR) Interactive sizing now shows handles on sides
     and corners of nodes (Bug #2021).

BUG: (1/26/09, SMR) Antenna Check loops forever (Bug #2020).
FIX: In ERCAntenna.followNode() must load AntennaObject before testing
     it for duplication.

IMP: (1/23/09, JG) new routing, fat wiring mode.

IMP: (1/22/09, GVG) Better support of GDS info in XML tech reader (Bug #2019)

IMP: (1/21/09, GVG) Can't Artwork tech be saved as XML? (Bug #2000).
     Schematics and Artwork can't be exported as XML technologies.

IMP: (1/21/09, GVG) TechEditor should at least support datatypes in GDS
     definition (Bug #2009)

IMP: (1/21/09, SMR) Added ability to convert unknown GDS layers
     into random Electric layers (Bug #2018).

BUG: (1/21/09, SMR) Calls to Library.findNodeProto() with no view given may
     return an old version (Bug #1990).
FIX: Ensure the latest version is returned.

IMP: (1/21/09, SMR) "Array" dialog is now modeless and has "Draw" button
     to let users drag an area for the array (Bug #1890).

BUG: (1/20, 09, GVG) Incorrect export of DRC decks (Bug #2004)
FIX: Extra code added for special XML characters.

BUG: (1/20/09, GVG) Avoid the NPE in single boxes defining vias in contact (Bug
     #2012)
FIX: Detecting contact nodes that don't have multi cuts

BUG: (1/20/09, SMR) GDS output that is "merged" is incorrect (Bug #2016).
FIX: Switched from the Java-based Polygon Merge algorithm to the Sweep mode of
     GeometryHandler. Polygons are not as dense, but are correct for G

IMP: (1/20/09, SMR) When wiring with the right-button, holding Control
     disables connection to existing circuitry (Bug #2013).

BUG: (1/20/09, SMR) Deleting Spice primitives causes crash (Bug #2015).
FIX: In CircuitChangeJobs.eraseObjectsInList(), arcs that are reconnected
     to cell instances should not be considered for deletion.

BUG: (1/16/09, RK) Make NCC's incremental mode work correctly: don't
     recheck cells unless they've changed (Bug #1380)

BUG: (1/16/09, RK) Fix NCC regressions (Bug #2011)

BUG: (1/15/09, RK) NCC Second attempt at making NCC detect the same
     topological errors when run with or without size checking.
     (Bug #1787)

IMP: (1/15/09, RK) NCC uses tolerances specified in "Size checking"
     section of NCC preferences pane in order to decide when
     transistor widths and lengths are close enough to combine in
     series / parallel. (Bug #1980)

IMP: (1/14/09, GVG) First version of TechEditorWizard generating protection polys
     in transistors.

IMP: (1/14/09, SMR) Units preferences now works for distance units
     and includes a "scalable" option to use internal grid units (Bug #2007).

BUG: (1/14/09, RK) REALLY push back body check additions to NCC
     regressions. (Discovered because regression 090114 failed.)

BUG: (1/14/09, SMR) Bias ports on transistors cause Spice netlister to fail (Bug
     #2005).
FIX: Ignore nulls when examining bias information.

IMP: (1/13/09, RK) I got rid of the dialog box that pops up after
     NCC completes with no errors. (Bug #1859)

BUG: (1/13/09, GVG) Out of Bounds exception while switching units in Tech
     preference (Bug #2002)
FIX: Detecting "NONE" scale.

IMP: (1/13/09, RK) I removed the backwards compatibility hack in NCC that
     infers NodeProto.Function from the name of the PrimitiveNode.
     This removed the references to TRANMOS and TRAPMOS in NCC. However
     to do this, I needed to update the Technologies: MoCMOS and CMOS90
     so they correctly use the new NodeProto.Functions. (Bug #1858)

BUG: (1/13/09, SMR) Pad Frame generator fails if core cell has a view (Bug
     #2001).
FIX: In PadGenerator.createPadFrame(), do not append view if one exists.

IMP: (1/13/09, RK) I changed the implementation of
     Technology.getTransistorBiasPort(NodeInst ni) so that MoCMOS
     transistors also return the body contact. I changed the MoCMOS
     constructor to allow well arcs to attach to well contacts. I added
     an option to NCC to enable the checking of body contacts. I changed
     NCC so it optionally checks body contacts. I added body checking
     tests to NCC regression. I added body checking documentation to
     the NCC user's manual. (Bug #1910)

IMP: (1/12/09, GVG) Fixing TechEditorWizard regression due to year change.
     Expected data included 2008.

************************* Version 8.09a: ******************************

IMP: (1/11/09, GVG) Improvements for "Message not useful if XML parsing error is
     detected" (Bug #1998)

BUG: (1/11/09, GVG) NPE in Tech Specific -> Write XML of current tech (Bug #1999)
FIX: Warning the case and preventing the NPE.

IMP: (1/5/09, SMR) Now remember (in Prefs) the Explorer-tree setting to evaluate
     numbers when sorting cell names  (Bug #1981).

BUG: (1/5/09, SMR) Wiring an arc to a contact uses incorrect arc width (Bug
     #1995).
FIX: In Router.findArcWidthToUse(), when no other arcs are present on a
     primitive, compute width based on difference between current and default
     size.

IMP: (1/5/09, SMR) Added LTSpice raw output reader (Bug #1996).

BUG: (12/23/08, SMR) GDS Project Settings should make it clear
     how to ignore a layer (Bug #1994).
FIX: Updated dialog and user's manual.

BUG: (12/23/08, SMR) GDS input always warns about array references.
FIX: In input.GDS.importALibrary(), start "arraySimplificationUseful" at false.

BUG: (12/19/08, GVG) Cannot load libraries (Bug #1992)
FIX: Adding extra code to detect invalid delib libraries.

IMP: (12/18/08, GVG) Improvements in Output-based classes to detect errors and
     warnings during the writing process (Bug #1937)

************************* END OF Version 8.08, GNU RELEASE *************
************************* Version 8.08o: ******************************

IMP: (12/16/08, GVG) Regression for new fill generator. Now all fill generation tests also compare
output wit expected data.

BUG: (12/15/08, GVG) No such element exception if export name is not found (Bug #1989)
FIX: Detecting if arcs do actually have exports on their networks.

IMP: (12/12/08, GVG) Ability to call the new fill and use data found in open window (Bug #1985)

IMP: (12/12/08, GVG) Changes to debug "3 Spice regressions broken after bug#1969" (Bug #1986)

BUG: (12/10/08, GVG) NPE in CVS Add or GetStatus on a new library (Bug #1984)
FIX: Detecting when lib.getLibFile() is null.

IMP: (12/10/08, SMR) Converted standard cell marking in "Cell Properties" dialog
     to use the new standard cell marking method (a displayable variable) (Bug #1983).

BUG: (12/11/08, GVG) Can't copy and paste a text attribute associated to an art arc? (Bug #1977)
FIX: Extra code to copy/past ARC_NAME, NODE_NAME and EXPORT_NAME since they
are not longer stored as variables.

BUG: (12/10/08, GVG) Assertion in new fill generator  (Bug #1920)
FIX: More fixes for those zig-zag cases in the ico fill.

BUG: (12/9/08, GVG) Explain why GDS can't be imported using a particular set of User's preferences (Bug #1968)
FIX: Messages related to renaming of instances are stored as warnings instead of errors.

BUG: (12/9/08, GVG) Editing text externally doesn't remove the tmp file (Bug #1975)
FIX: Using standard File.createTempFile to create tmp files.

IMP: (12/9/08, GVG) Forbidden DRC rules names should be shown in ErrorLogger (bug #1982)

BUG: (12/9/08, SMR) Spice preference "Use Node Names" is useless (Bug #1969).
FIX: This preference actually controls the use of global signals in
     subcircuit headers, so it has been renamed "Make Globals Parameters".

************************* Version 8.08n: ******************************

IMP: (12/8/08, GVG) Add corresponding native thick contacts to CMOS90 (Bug #1972)

BUG: (12/8/08, SMR) Spice preference "Force Global Power and Ground" is broken
     (Bug #1969).
FIX: Spice preference "Force Global Power and Ground" is now
     "Use Global Power and Ground" and controls the activity better.

BUG: (12/7/08, DN) Inconsistent database after doc cell is renamed (Bug #1976)
FIX: In User.fixStaleCellReferences apply cell rename to every WindowContents.

IMP: (12/5/08, GVG) Slow DRC in ColChip top cell (Bug #1950)
FIX: Improvements related to arc cropping with a huge number of pins in the design.

BUG: (12/5/08, GVG) Can't GetInfo light-blue text (Bug #1979)
FIX: Arrays.binarySearch doesn't work on non-sorted arrays (see documentation).

BUG: (12/4/08, SMR) Spice deck generation crashes with Proximity-based RC (Bug #1781)
FIX: Spice deck generation based on Proximity-based RC removed.

BUG: (12/4/08, SMR) The Schematic primitive "transistor", when placed in a
     circuit, cannot have its L and W parameterized using regular Spice
     parameters (Bug #1978).
FIX: In Spice.writeCellTopology() handle parameters when writing transistors.

IMP: (12/2/08, SMR) GDS import now has Preference for setting level of
     array simplification (Bug #1901).

BUG: (12/2/08, SMR) GDS import does not handle arrays of simple cells
     right when they have outline information (Bug #1901).
FIX: Ignore expansion of subcells if they have outline information.

BUG: (12/3/08, GVG) Modifying working directory path in case of selection text
     editor binary (Bug #1973)
FIX: Use chooseInputFile function with setSelectedDirAsWorkingDir=false.

BUG: (12/3/08, GVG) Wide/long errors detected by Electric but not by Calibre (Bug
     #1961)
FIX: Better detection of parallel runs of metals.

BUG: (12/3/08, SMR) Verilog netlister should merge schematic signals when they
     are parts of the same bus (Bug #1963).
FIX: In Topology.doGetNetworks(), no longer insist that exports be the same in
     order to unify a bus.

BUG: (12/3/08, GVG) Assertion in new fill generator (Bug #1960)
FIX: Improved the generator to deal with zig-zag conditions.

IMP: (12/3/08, SMR) Dummy layers now appear at the bottom of the Layers tab (Bug
     #1946).

IMP: (12/3/08, SMR) The "Text Search" dialog has been augmented to let
     you restrict the text search to specific Code and Unit values (Bug #1519).

IMP: (12/3/08, SMR) The "Show Network" command now shows networks on
     all arcs connected to a cell instance if that instance is selected
     but NO ports are selected (Bug #1902).

IMP: (12/2/08, GVG) Show GDS import errors in ErrorLogger (Bug #1971)

BUG: (12/2/08, GVG) NPE in GDS import if non-GDS file is uploaded (Bug #1970)
FIX: Avoid to print cell name if cell hasn't been created yet.
     It also deals with errors while importing EDIF, LEF, DEF, DXF, SUE, Verilog
     and Applicon when a non-<format> file is uploaded. Improving error message
     for ELIB and readable dump.

IMP: (12/2/08, GVG) Resetting invalid text names in GDS import. Changes are meant
     for Bug #1968.

BUG: (12/2/08, SMR) GDS import does not handle arrays of simple cells
     right when they are rotated (Bug #1901).
FIX: Transform cell contents before adding it to the large polygon.

IMP: (12/2/08, SMR) Added the layer to the "Manipulate Exports" dialog (Bug
     #1967).

BUG: (12/2/08, SMR) Want movement and deletion reported in the messages window
     (Bug #1917).
FIX: Report movement and deletion.

IMP: (12/1/08, GVG) Object selected in "Select Object" dialog is not visible (Bug
     #1964)

************************* Version 8.08m: ******************************

BUG: (12/1/08, GVG) Well resistors having wrong dummy layer (part of Bug #1956)
FIX: nwdmyLvsLayer is the layer chosen this time.

BUG: (12/1/08, SMR) "Down Hierarchy In Place To Object" should list just one
     object per context (Bug #1930).
FIX: In CellMenu.downHierInPlaceToObject(), eliminate duplicate choices.

BUG: (11/29/08, RK) cmos90.java appears to assign RESPWELL and RESNWELL
     functions to RPO Poly Resistor-Node whereas I think it should assign
     RESPPOLY and RESNPOLY functions. I fixed cmos90.java but I don't
     understand what to do with Technology.xsd. (Bug# 1959)

BUG: (11/26/08, GVG) Upgrading definition of well and poly resistors in TSMC
     technologies (Bug#1953)
FIX: Changed Technology.xsd so it will request the proper p/n well/poly resistors
     in the XML definition.

IMP: (11/26/08, GVG) Well resistors in CMOS90 (Bug #1956)

BUG: (11/26/08, SMR) Upgrading schematic poly-resistors to more detailed
     resistors: p-poly, n-poly, p-well, and n-well (Bug #1953).
FIX: Changed Schematics to draw them (well resistors have box around them,
     P/N distinction done with a letter).  Updated Spice output and Netlister.

BUG: (11/25/08, GVG) NPE while doing copy or paste (Bug #1955)
FIX: Make Dimension2D serializable.

IMP: (11/25/08, GVG) Disconnecting more another spacing D-N-Well rule in CMOS90
     because of Bug#1942.

BUG: (11/25/08, SMR) When GDS text objects are too small, import of them
     gives many errors about "relative size".
FIX: In tool.io.input.gds.readText(), clamp "size" to
     "TextDescriptor.Size.TXTMINQGRID"

IMP: (11/25/08, SMR) Now have separate X and Y grid alignment values (Bug #1952).

BUG: (11/25/08, SMR) Move "GDS Input Scale" from preferences to project
     settings (Bug #1948).
FIX: Moved it and made it a Setting.

BUG: (11/20/08, SMR) Pure-layer node popup order is bad (Bug #1948).
FIX: Show well first, then substrate, by category, then art, then the rest.

BUG: (11/24/08, GVG) DRC takes a long time to abort in Bug #1950 example (Bug
     #1951)
FIX: More checkAbort conditions in the code.

IMP: (11/24/08, GVG) First version of tiles in new fill generator.

IMP: (11/21/08, GVG) Ability of keep cell instances in new fill generator.

BUG: (11/20/08, SMR) Pure-layer node popup should handle arrows and key
     selection, and show wells and dummys near the top (Bug #1948).
FIX: Rewrote TechPalette.PurePopup class to be a full dialog.

IMP: (11/19/08, SMR) Outlines can now use null values to separate multiple
     polygons (Bug #1901).

BUG: (11/19/08, SMR) Arrayed nodes generate incorrect VHDL (Bug #1947).
FIX: Rewrote GenerateVHDL.java and refactored it to
     com.sun.electric.tool.io.output.

IMP: (11/18/08, SMR) Made DXF input read all layers by default.

************************* Version 8.08l: ******************************

BUG: (11/13/08, DN) Cant delete cell and reuse name in same Job (Bug #1944).
FIX: In Layout.newCellInfo remove assert.

IMP: (11/13/08, GVG) New fill generator available in Tools menu -> Generator
     submenu

IMP: (11/12/08, GVG) Deep well rule temporary out from CMOS90 until Bug #1942 is
     clarified.

BUG: (11/11/08, GVG) java.lang.error in DRC of invLSLT_X50_v12 (Bug #1941)
FIX: Deep n well needed a different function to distinguish itself from the
     nwell.

IMP: (11/10/08, SMR) Changed "Tool" menu to "Tools" (Bug #1940).

IMP: (11/10/08, DN) If flag Technology.IMMUTABLE_TECHS is true then changes
     in Technology settings take effect only after Electric restart.

IMP: (11/9/08, DN) ExportTests use separate "projsettings_TECHNAME.xml" files.

IMP: (11/9/08, DN) Add method GDS.writeGDSFile with explicit writeExportPins and
     convertBracketsInExports flags.

IMP: (11/7/08, GVG) New fill generator that stitches set of given pieces of metal
     geometries.

BUG: (11/6/08, GVG) Annoying component menu changes (Bug #1935)
FIX: Adding missing listener to view list to enable/disable technology option in
     NewCell dialog.

BUG: (11/6/08, SMR) Errors section of Explorer tree collapses when the database
     changes (Bug #1898).
FIX: In ErrorLoggerTree.ErrorLoggerTreeNode.databaseChanged(), use new class
     ExplorerTree.KeepTreeExpansion to remember expansion state.

BUG: (11/5/08, SMR) Crossprobing doesn't work (Bug #1939).
FIX: Improved WaveformWindow.crossProbeWaveformToEditWindow()
     (crossprobing from waveform window to edit window)
     Improved WaveformWindow.findSelectedSignals()
     (crossprobing from edit window to waveform window)

IMP: (11/5/08, GVG) First version of new fill generator.

IMP: (11/5/08, SMR) When deleting a cell instance and reconstructing arcs and
     exports, those reconstructed objects are left highlighted (Bug #1936).

IMP: (11/5/08, SMR) Changed the default grid amounts to 0.5, 1, 5, 10, and 20
     (Bug #1801).

BUG: (11/5/08, SMR) Spice templates do not handle single elements in a bus (Bug
     #1938).
FIX: In Spice.replacePortsAndVars(), handle bus elements.

BUG: (11/5/08, SMR) Now that Electric is case-sensitive, Spice decks
     may have name conflicts, since Spice is case insensitive (Bug #1811).
FIX: Topology.java now handles case insensitivity for Spice.

BUG: (11/5/08, SMR) Factory reset of layers panel doesn't reset special colors
     (Bug #1744).
FIX: Fixed LayersTab.reset() to reset special colors.

BUG: (11/4/08, DN) Electric failes to mark a library for saving (Bug #1934)
FIX: In Snapshot.withRenamedIds mark "modified" LibraryBackups.

IMP: (11/2/08, GVG) Pwell process and gate orientation in Tech Creation Wizard
     (Bug #1933).

IMP: (11/2/08, DN) Preferences related to Technology are moved to special
     Pref.Group.

************************* Version 8.08k: ******************************

BUG: (10/30/08, GVG) Shift-0 (layer display) broken (Bug #1932)
FIX: Update also for shift-0

IMP: (10/30/08, GVG) Tech Creation Wizard can generate pwell technologies.
     It can also generate well arcs (Bug #1910)

BUG: (10/30/08, GVG) XML tech reader can't parse new ArcProto Function WELL (Bug
     #1931)
FIX: Technology.xsd amended.

IMP: (10/30/08, DN) CellBackup.techPool contains only technologies used in the
     Cell.

IMP: (10/29/08, SMR) Added a disambiguation popup to "Down Hierarchy in Place to
     Object" (Bug #1930).

BUG: (10/29/08, SMR) Auto-stitching doesn't handle daisy-chains right (Bug
     #1927).
FIX: Special code in AutoStitch.java now handles daisy-chains.

BUG: (10/29/08, DN) CVS update from Electric doesn't work (Bug #1795).
FIX: In Library.removeReferencedLib call backupReferenceLibs to propagate
     changes from Library.referencedLibs to LibraryBackup.referencedLibs.
     In NodeInst.replace don't create new arc if "newPortInst" is not defined.

BUG: (10/28/08, RK): NCC regressions need repair because Electric is
     becoming case sensitive.

IMP (10/27/08, SMR): Making not possible to place down a cell on itself due
    to circular dependencies.

BUG (10/27/08, SMR): The "Pure" component menu item can be too big and needs to
     scroll (Bug #1926).
FIX: In TechPalette.mouseReleased(), use a JComboBox popup.

IMP (10/27/08, SMR): GDS input now has a scale factor (Bug #1928).

BUG: (10/27/08, SMR) GDS reads incorrectly (Bug #1928).
FIX: Handle array references correctly.

BUG: (10/23/08, DN) Cells should be case-sensitive (Bug #1811).
FIX: Remove "equalsCaseSensitive" from many places.
     Fix arc names in TechTypeCMOS90 .

IMP: (10/22/08, SMR) Tabbing through the fields in the dialogs
     now selects the entire field (Bug #1916).

IMP: (10/22/08, SMR) Made well ports "hard to select" (Bug #1910).

BUG: (10/22/08, SMR) Node extractor is slow (Bug #1778) and doesn't abort (Bug
     #1925).
FIX: Added R-trees to auto-stitcher to speed it up.  Added more abort detection.

IMP: (10/21/08, JKG) Added layer functions for dummy and dummy exclusion layers

IMP: (10/21/08, GVG) New implementation of "different highlight color for
     network" (Bug #1776). White is the default color. Assuming it fixed bug
     #1924.

IMP: (10/21/08, SMR) Added generalized transistor function detection to "L" and
     Verilog (Bug #1858).

IMP: (10/20/08, GVG) Electric doesn't use old names information in case of
     JELIB/DELIB (Bug #1922)
FIX: Modification done in JELIB that also fixes DELIB. No need of a more
     sophisticated solution for now.

IMP: (10/17/08, GVG) Well ports added into MoCMOS transistors and pure well nodes
     (part of Bug #1910)

BUG: (10/17/08, GVG) Pure Well nodes connecting to wrong arcs (Bug #1923)
FIX: Correct well arc selected now. NOTW: TSMC180 nodes will connect to well taps
     arcs until pure well arcs are defined in that technology (to be discussed).

IMP: (10/16/08, GVG) Well arcs added into CMOS90 (part of Bug #1910)

IMP: (10/15/08, SMR) Tabbing through the fields in the Node Properties dialog
     now selects the entire field (Bug #1916).

************************* Version 8.08j: ******************************

BUG: (10/14/08, SMR) Cross-library copy doesn't always copy subcells
     if there is a naming conflict (Bug #1920).
FIX: In CellChangeJobs.copyRecursively() track cell naming conflicts and
     add a parameter to Cell.copyNodeProto() which uses the map properly.

BUG: (10/14/08, SMR) Verilog netlister is sensitive to ascending/descending
     busses preference (Bug #1919).
FIX: Improved Topology.java to evaluate bus directionality correctly.

BUG: (10/13/08, SMR) Crash deleting export when editing down-in-place (Bug
     #1913).
FIX: In Clipboard.getPasteBounds(), use proper object for a displayed object.

BUG: (10/13/08, SMR) "Duplicate Cell" dialog makes it hard to remove the default
     "NEW" appended to the cell name (Bug #1915).
FIX: The "NEW" is initially highlighted, making it easy to replace.

IMP: (10/13/08, SMR) Added multi-processor speed-up to "ERC Well Check" (Bug
     #1899).

BUG: (10/13/08, SMR) Well arcs are not drawn at some scales (Bug #1911).
FIX: In VectorCache.drawArc(), do not treat well layers specially when they are
     the only layer in an arc.

IMP: (10/13/08, DN) EPoint[] variables can't contain nulls (Bug #1901).
FIX: In database.Variable and in readers/writers.

BUG: (10/10/08, GVG) DRC of a cell should also check the
     upper levels where the current cell is used (Bug #1907)
FIX: DRC select option picks selected objects instead of using bounding box.

BUG: (10/11/08, DN) Cannot change cell view (Bug #1880).
FIX: Don't clear technology of cell in ViewChanges.ChangeCellView.doIt().

BUG: (10/10/08, DN) 3D preferences are always reset to factory values on new
     session.
FIX: In Layer.setFactory3DInfo don't change current values of preferences.

BUG: (10/10/08, DN) Can't specify more layer functions (Bug #1903).
FIX: Implement Layer.Function.Set by BitSet instead of long.

BUG: (10/8/08, GVG) Writing Spice file on Mac OS 10.5 uses ":"
     as delimiter instead of "/" (Bug #1877)
FIX: Use the Swing mode in OpenDialog under MacOSX.

IMP: (10/8/08, GVG) Well arcs added into MoCMOS (part of Bug #1910)

BUG: (10/8/08, RK) NCC runs slow on fastprox (Bug #1908).
FIX: Fixed performance bugs that become evident when instances have
     46,000 Exports.

************************* Version 8.08i: ******************************

BUG: (10/7/08, SMR) ERC regressions fail and crash (Bug #1905).
FIX: Fixed dependency on user interface and updated expected results.

BUG: (10/7/08, SMR) "List Cell Usage" ignores arrayed icons (Bug #1906).
FIX: In CellLists.listCellUsageCommand(), consider icon arrays.

IMP: (10/3/08, SMR) GDS import cannot handle volume of data (Bug #1901).
FIX: Modified the definition of Outline information: if a coordinate in the
     list is duplicated, then this indicates a "break" in the Outline, and
     a new polygon starts with the next coordinate. This allows multiple
     disjoint rectangles to be stuffed into a single Outline array.
     GDS import uses this for arrays of simple cells (with just 1 pure-layer
     node).

BUG: (10/3/08, RK) NCC changed to use new transistor functions. (Bug #1858)

BUG: (10/2/08, SMR) "Change" dialog pops-up error dialogs when certain
     selections are made (Bug #1900).
FIX: In Change.loadInfo() send better messages to Messages window.

IMP: (10/2/08) You can now right-click on an error group or on multiple
     error messages in the Explorer tree and choose "Show All" to highlight
     them (Bug #1889).

IMP: (10/2/08, SMR) Schematic DRC now checks that instance names don't
     conflict with network names (Bug #1895).

IMP: (10/2/08, SMR) Schematic DRC errors now group by cell name (Bug #1893).

IMP: (10/2/08, SMR) Sped up "ERC Well Check" significantly (Bug #1899).

IMP: (10/1/08, SMR) Added "Reverse video" option in "Layout Text" (Bug #1894).

IMP: (9/29/08, GVG) Remove ErrorLogger entries with zero Calibre errors (Bug
     #1888)

BUG: (9/25/08, GVG) Tech Wizard doesn't write GDS values properly in XML (Bug
     #1887)
FIX: Functionality added

IMP: (9/25/08, GVG) Making LE available as AbstractTest (Bug #1828)

BUG: (9/25/08, SMR) "Select All" selects invisible objects (Bug #1843).
FIX: Disable selection of primitive nodes or arcs that have no visible layers
     (already does this with click selection, now does it with "Select All").
     Also added "Selection" Preference to allow selection of invisible objects.

IMP: (9/25/08, SMR) Changing an export characteristic applys the change to
     other views of the cell (Bug #1868).

BUG: (9/25/08, SMR) GDS input crashes if no pure-layer node found (Bug #1886).
FIX: In GDS.setLayer(), handle missing pure-layer nodes.

************************* Version 8.08h: ******************************

BUG: (9/24/08, GVG) Can't find wiring target (Bug #1884)
FIX: Undoing "Incorrect placement of p-contact (Bug #1871)" because broke wiring
     target finding.

BUG: (9/24/08, GVG) Delectable bug (Bug #1885)
FIX: Typo fixed

IMP: (9/24/08, SMR) Rearranging layers, nodes, or arcs in the technology editor
     uses a drag-and-drop interface.

BUG: (9/24/08, GVG) DRC min size broken for asymmetric cmos90 contacts (Bug
     #1881)
FIX: Asymmetric min rules amended as well.

BUG: (9/23/08, GVG) DRC fails on serpentine transistors (Bug #1857)
FIX: Working with PrimitiveNodeSize and baseRectangle values now for case (1).
     Case (2) got fix with #1873.

BUG: (9/23/08, SMR) Spice templates in icons cause crash if there is a schematic
     (Bug #1879).
FIX: Handle Spice template at any place.

BUG: (9/22/08, SMR) Selecting a port on a Generic primitive shows a
     long list of possible arc connections (Bug #1878).
FIX: For Generic primitives, report connectivity simply as "ALL".

IMP: (9/22/08, SMR) Serpentine transistors now emit a single complex polygon
     for every layer (instead of breaking it up into mulitple segments, Bug
     #1873).

BUG: (9/22/08, GVG) Incorrect placement of p-contact (Bug #1871)
FIX: Skip startPort if it is available in the middle of the path. That should
     avoid infinite loops.

BUG: (9/22/08, SMR) Node Properties may spend too long listing ports (Bug #1874).
FIX: Node Properties now lists only the first 100 ports (or bus members)
     and has a "Show All" button to request the entire list.

BUG: (9/22/08, GVG) Infinite loop on transistor width casting (Bug #1875)
FIX: Transistors with ExpressionCode can properly return values now.

IMP: (9/20/08, GVG) Error logger set index for stepping (Bug #1869).
Next and previous will be with respect to the last ErrorLogger highlighted.

BUG: (9/18/08, GVG) Change in cells cases null point exception (Bug #1872)
FIX: Checking if all selected highlighted belong to the same Geometry class.

BUG: (9/18/08, SMR) Updates to the toolbar do not draw immediately (Bug #1870).
FIX: In ToolBar.redoToolbar() call updateUI().

BUG: (9/18/08, GVG) Transistor sizes wrong with mocmos/SCMOS conditions (Bug
     #1863)
FIX: Resizing of left and right edges in MoCMOS transistor primitive was missing
     so default was always picked.

IMP: (9/18/08, SMR) Preferences dialog is now modeless.  Also has
     "reset" for current panel and "reset all" for all panels.
     Individual preferences panels no longer have private
     "factory reset" buttons: "Toolbar", "Layers", "Design Rules",
     "Component Menu", "Key Bindings" (Bug #1867).

BUG: (9/18/08, SMR) "Up Hierarchy, Keep Focus" still not working right (Bug
     #1814).
FIX: Handled many special cases.

BUG: (9/18/08, GVG) Wrong 3D view of serpentine transistors (Bug #1862)
FIX: Stop merging of active regions if transistor is a serpentine.

BUG: (9/18/08, SMR) Manual viewer crashes if manual cannot be found (Bug #1865).
FIX: Initialize field variables before issuing missing manual error.

BUG: (9/18/08, GVG) Can't bind ctrl/alt/command <option> on MacOSX (Bug #1802)
FIX: Special detection of special keys on MacOSX Leopard

BUG: (9/17/08, GVG) Error Logger Import of XML doesn't seems highlight area (Bug
     #1864)
FIX: Wrong condition for cell object.

IMP: (9/17/08, SMR) Generalized specific transistor function usage
     and now use PrimitiveNode.Function methods to distinguish N-type and
     P-type transistors (Bug #1858).

IMP: (9/17/08, GVG) Serpentine transistors incomplete for getTransistorSize? (Bug
     #1861) Commenting out the line. The message is even available in 8.03p.

BUG: (9/17/08, SMR) Serpentine transistors with both field and gate poly
     emit both layers in the poly area (Bug #1857).
FIX: Fixed Technology.SerpentineTrans class to handle serpentine transistors
     better.

BUG: (9/17/08, GVG) NPE in GetInfoOutliner if click is in a 3D view window (Bug
     #1860)
FIX: Detect if the EditWindow.getCurrent() is not null (eg. if the click is on a
     3D window).

BUG: (9/17/08, SMR) Serpentine transistors don't display the proper size in the
     status bar (Bug #1857).
FIX: Use advanced size information for transistors.

************************* Version 8.08g: ******************************

BUG: (9/16/08, GVG) Exception in 3D view if transistors have only 1 poly (Bug
     #1856)
FIX: Introduced while fixing #1839. It is fixed now.

IMP: (9/16/08, SMR) Added accelerators to Sun menu (Bug #1852).

BUG: (9/16/08, SMR) New transistor types are hard to select (Bug #1855).
FIX: In Highlighter.distToNode(), make special selection code apply to
     all Field-effect transistors.

BUG: (9/16/08, SMR) FPGA technology repeaters are invisible by default (Bug
     #1848).
FIX: Made default be visible.

BUG: (9/16/08, SMR) Technology editor computes port sizes incorrectly (Bug
     #1854).
FIX: In LibToTech.getBoundingBox(), used incorrect bounding computation.

BUG: (9/16/08, SMR) Saved toolbar configuration may have errors (Bug #1851).
FIX: When errors are found, factory-reset the toolbar.

IMP: (9/16/08, GVG) Disable grid buttons on the tool bar if min/max has been
     reached (Bug #1847)

BUG: (9/16/08, DN) Exception in layer display algorithm (Bug #1846).
FIX: Encapsulate rendering result in class LayerDrawing.DrawingData for atomic
     update.

IMP: (9/15/08, GVG) Poly down  for STI (Bug #1839)  A reviewed version of 3D view
     for transistors. Only when field poly!=gate poly the LoCos shape is
     generated. 3D preferences were updated in layout techs to start with flat
     representation (STI shape).

BUG: (9/15/08, SMR) Going up hierarchy "keeping focus" when already
     descended down the hierarchy "in place" fails (Bug #1814).
FIX: If descended "in place" ignore "keep focus" when going up.

BUG: (9/15/08, SMR) Going up hierarchy when there is only one choice does
     not redisplay (Bug #1844).
FIX: In EditWindow.upHierarchy(), must fill screen after setting new cell.

IMP: (09/15/08, FYL) Added exclusion of .nfs* in build.xml

IMP: (9/12/08, GVG) Export layer information shown on status bar (Bug #1830)
     Same behavior for ports on cells.

BUG: (9/12/08, GVG) Explorer cell group drop on layout will drop a doc if exists
     (Bug #1842)
FIX: Detecting doc view and ignoring it.

BUG: (9/12/08, GVG) Exception in FillCellGen if master cell doesn't have gnd/vdd
     exports
FIX: Condition detected and code doesn't continue.

BUG: (9/11/08, SMR) New text objects in a cell are not selectable (Bug #1841).
FIX: In EditWindow.databaseChanged() clear text highlight cache (created by Bug
     #1804).

IMP: (9/10/08, GVG) Move option for Cells in ExplorerTree (Bug #1764).
     Indeed, it is a copy option to be consistent with the drag way to copy.
     It is a copy to avoid circular dependencies.

BUG: (9/10/08, SMR) "Select Object" dialog crashes (Bug #1840).
FIX: Trap empty sets in KeyBindingManager.KeyMaps constructor.

BUG: (9/10/08, SMR) Layers tab doesn't list generic technology (Bug #1838).
FIX: Used to show it only in debug mode, now show it always.

************************* Version 8.08f: ******************************

IMP: (9/10/08, SMR) New command: "Up Hierarchy, Keep Focus" goes up
     the hierarchy while keeping the cell in the same place (Bug #1814).

BUG: (9/10/08, SMR) Grid alignment doesn't fix outline-edited nodes (Bug #1833).
FIX: In CircuitChangeJobs.AlignObjects.doIt(), handle nodes with outlines.

BUG: (9/10/08, SMR) Mouse-over highlighting of text is slow (Bug #1804).
FIX: Optimized highlighting of text by caching it in an R-Tree.

IMP: (9/9/08, GVG) Disable CVS rollback if you haven't saved the library (Bug
     #1836).  Manual: only cells/libraries whose status!=NONE && status!=UNKNOWN
     can be rolled-back.

IMP: (9/9/08, GVG) Prework to fix "electric adding explicit gnd port to
     schematics" (Bug #1823)

IMP: (9/9/08, GVG) CVS update generates 1 Electric Job (Bug #1835).
     Indeed, it is the CVS status that is waiting. Message improved to avoid the
     confusion.

IMP: (9/9/08, SMR) Status bar now shows arcs that selected export can connect to
     (Bug #1830).

BUG: (9/9/08, SMR) Conversion of library to technology fails if component menu
     items are unknown (Bug #1831).
FIX: Give warnings when menu items are unknown.

BUG: (9/9/08, DN) "Factory reset" command sets zero default sizes in Artwork.
FIX: Add methods PrimitiveNode.getFactoryDefaultGridExtendX/Y and
     ArcProto.getFactoryDefaultGridExtendOverMin .

BUG: (9/8/08, DN) VerilogTest3 is broken because exported nets got private names.
FIX: In NetlistImpl.addUserName correctly init "exportedCount".

BUG: (9/8/08, GVG) MTD DRC code is not for schematics (Bug #1829)
FIX: MTD code is only valid for layout.

BUG: (9/8/08, SMR) Changes to Units preferences are not remembered correctly (Bug
     #1827).
FIX: Handle offsets correctly.

BUG: (9/8/08, SMR) Some high-voltage transistors are called "high threshold" (Bug
     #1826).
FIX: Fixed PrimitiveNode.java.

BUG: (9/8/08, SMR) Technology editor gives errors when precision is slightly off.
     Also, Export Properties shows too much precision (Bug #1825).
FIX: Made technology editor less precision-sensitive and did similar rounding
     In the Export Properties dialog.

BUG: (8/27/08, DN) Severe performance degradation in ListGeometryOnNetwork (Bug
     #1804).
FIX: Add method to Network API Netlist.getNetwork(Nodable no, Network subNetwork)
     and use it in HierarchyEnumerator.getNetworkInParent().

BUG: (9/5/08, GVG) DRC should report arcs that are not vertical nor horizontal
     (Bug #1824)
FIX: Arc is tested before checking geometries per layer.

IMP: (9/4/08, GVG) Avoid flat arcs in AutoStitch in case of ports are the same
     points. (Bug #1815)

BUG: (9/4/08, SMR) Technologies with text on the well or substrate nodes
     have that text out of scale with other contacts (Bug #1822).
FIX: In PrimitiveNode.getGroupFunction(), have Well and Substrate nodes
     grouped with contacts.

BUG: (9/4/08, SMR) Technology editor crashes when there are two pure-layer
     nodes for the same layer (Bug #1821).
FIX: In TechToLib.makeNodeInfo(), change assertion to a warning.

BUG: (9/4/08, SMR) Cannot connect Port objects in technology editor (Bug #1820).
FIX: Allow generic arcs to be routed if they connect generic nodes.

************************* Version 8.08e: ******************************

BUG: (9/3/08, SMR) External Text Editor setting in "Text" preferences
     corrupts the value and cannot be cleared (Bug #1819).
FIX: Fixed corruption and added "Clear" button.

IMP: (9/03/08, DN) Don't recompute CellBackup.Memoization in constraint system.

BUG: (9/03/08, DN) Exception caused by a move (Bug #1817).
FIX: In LayerDrawing.drawGrid and PixelDrawing.drawGrid check for "x >= sz.width"
     and "y >= sz.height".

IMP: (9/02/08, DN) Get read of most calls of "Cell.getArc(int arcIndex)" because
     of future change in its implementation for (Bug #1804).

IMP: (9/02/08, DN) Add method "boolean ArcInst.isZeroLength()" which can be
     useful for (Bug #1798).

IMP: (8/27/08, SMR) Fixes to grid alignment toolbar buttons (Bug #1801).

BUG: (8/29/08, GVG) Get List of Geometry task doesn't abort (Bug #1816)
FIX: parentJob was not included in LayerVisitor constructor signature.

IMP: (8/28/08, SMR) Started implementation of global "factory reset".
     "Reset" button works only in debug mode, and those panels which
     cannot do reset issue error messages (Bug #1744).

IMP: (8/28/08, SMR) Global text scale now applies to individual windows.
     "Text" Preferences lets you set both the default text scale for
     new windows as well as the current scale for the current window (Bug #1810).

IMP: (8/28/08, SMR) Multi-object Properties dialog on Annotation text
     now lets you move the text location (Bug #1789).

IMP: (8/28/08, SMR) Alt-S now brings up the Sun menu, not Steve (Bug #1813).

BUG: (8/28/08, SMR) When editing "in place" database is updated with
     each keystroke (Bug #1410).
FIX: Now update database only when text editing is done.

BUG: (8/27/08, GVG) mocmos as unknown technology? (Bug #1806).
FIX: Indeed the errors are due to unknown primitives. Message changed

BUG: (8/27/08, SMR) Technology libraries crash if there is no default foundry
     information (Bug #1812).
FIX: In Foundry.Type.valueOf(), handle null entries.

IMP: (8/27/08, SMR) Grid alignment now has 5 steps in menu and preferences.
     New commands to increase/decrease grid size are now in toolbar.
     Current grid alignment is shown in toolbar. (Bug #1801).

BUG: (8/27/08, GVG) DRC should not complain about zero lengths. (Bug #1798)
FIX: Flat arcs/nodes without being covered by other elements are reported as
     errors.  NOTE: Only 1 extra point is used for the scanning and that might
     not be sufficient.

BUG: (8/27/08, SMR) Cell history buttons are the same in each window (Bug #1753).
FIX: Made these buttons be window-specific.

BUG: (8/27/08, DN) Arc shortening is broken.
FIX: In AbstractShapeBuilder.computeExtension correctly scale vectors.

BUG: (8/27/08, DN) Severe performance degradation modifying cells with many arcs
     (Bug #1804).
FIX: Remove field "ArcInst.arcIndex" to save on its recalculation.

IMP: (8/26/08, SMR) Cleaned up boxing warnings.

************************* Version 8.08d: ******************************

BUG: (8/26/08, SMR) "Edit Schematic View" still doesn't fill the new window (Bug
     #1731).
FIX: In ViewMenu.editView(), call setCellWindow() after creating window.

IMP: (8/25/08, SMR) Renamed the command to switch to Cadence mode so that
     it indicates that it changes layers as well (Bug #1761).

IMP: (8/25/08, SMR) Added new transistor types in the Schematic component
     menu (Bug #1807).

IMP: (8/25/08, SMR) Made Export menu commands "Summarize Exports",
     "List Exports", and "Follow Export Up Hierarchy" run in separate
     threads (Bug #1807).

BUG: (8/25/08, SMR) Cell history buttons don't work right in SDI mode (Bug
     #1753).
FIX: In WindowFrame.WindowsEvents.windowActivated() must call
     fireCellHistoryStatus().

BUG: (8/25/08, SMR) Dragging a cell group from the explorer tree to a window
     shows no outline (Bug #1809).
FIX: In EditWindow, when dropping, handle cell groups.

IMP: (8/25/08, SMR) Added one more new transistor node function:
     FG (floating gate).

IMP: (8/22/08, DN) Rename technology.xml.Xml807 to technology.xml.XmlParam for
     less confusing. Save technology.Xml revision released in Version 8.07 as
     technology.xml.Xml807.

BUG: (8/21/08, JKG) fix bug for Verilog Cells that start with numbers

IMP: (8/21/08, GVG) Get number of arcs in a cell (Bug #1804)
     Added in "List of Nodes/Arcs in this cell" option in CellMenu.

IMP: (8/21/08, SMR) Added ability to re-export ports only for those
     ports that are already wired.  Rearranged Export menu so that the
     three commands which do exporting have sub-menus to choose which
     types of exports to wire (Bug #1769).

IMP: (8/21/08, SMR) Added new transistor node functions:
     pMOS-D (there was already a "DMOS" but that becomes "nMOS-D")
     NT (native)
     VTL/VTH (threshold low/high)
     HV1/2/3 (high voltage at three levels)
     NTHV1/2/3 (native high voltage at three levels)

BUG: (8/21/08, SMR) Highlighting a network doesn't identify export text (Bug
     #1803).
FIX: In NetworkHighlighter.addNetworkObjects(), show exports properly.

IMP: (8/21/08, SMR) Added "Window / Waveform Window / Clear All Signals in
     Waveform Window" to remove all panels from the waveform window (Bug #1768).

IMP: (8/21/08, SMR) "Cell Parameters" dialog now lets you copy parameters
     from another cell (Bug #1652).

BUG: (8/20/08, SMR) "Insert Jog In Arc" doesn't select a jog port, just a node
     (Bug #1800).
FIX: In EditMenu.InsertJogInArcListener.terminateOK(), highlight the port, not
     the node.

IMP: (8/20/08, SMR) Modified the "Up Hierarchy" command on schematics to scan the
     cell group of the schematic for ALL icons, and then look for parent
     environments of all of these icons.  Also, schematic DRC now finds export
     characteristic mismatches between icons and schematics (Bug #1799).

IMP: (8/20/08, SMR) Middle mouse button now pans the screen (Bug #1715).

************************* Version 8.08c: ******************************

IMP: (8/19/08, SMR) Spice deck generation now uses 3 digits of precision
     to the right of the decimal point (used to use 2 or 3 in different places).
     Requested by Tela Inc.

IMP: (8/19/08, SMR) Added icon generation improvements from Brian van Essen
     at University of Washington.  Now have the ability to disable the placement
     of an example icon, and also now have the ability to place ports exactly
     as they appear in the schematic.

BUG: (8/19/08, SMR) Undoing cell creation doesn't update window titles (Bug
     #1766).
FIX: In EditWindow.databaseChanged(), rewrite window titles.

IMP: (8/18/08, SMR) Waveform window extrapolates values for digital simulators
     (but still not for analog ones, Bug #1645).

IMP: (8/18/08, SMR) Improved proximity-based RC in Spice parasitics (Bug #1781).

BUG: (8/18/08, SMR) "Node" properties dialog doesn't highlight name
     when first displayed (Bug #1775).
FIX: In GetInfoNode.showDialog(), request focus on name field.

IMP: (8/18/08, SMR) "Spread" dialog now remembers settings (Bug #1797).

BUG: (8/18/08, SMR) Text on arcs uses the size in effect when the arc was
     created (Bug #1799).
FIX: In ArcInst.setName(), take a new default if the name didn't previously
     exist.

BUG: (8/18/08, SMR) Creating exports on schematics doesn't copy characteristics
     to the icon (Bug #1799).
FIX: Created Export.newInstance() variant with a PortCharacteristic on it and
     use this in creating the icon export.

BUG: (8/8/08, RK) NCC errors not detected when size checking is enabled.
     (Bug #1787)
FIX: Some cells can't be compared with size_ checking because the size varies
     with the instance. In that case perform a comparison without size checking.

BUG: (8/1/08, GVG) NPE while reading
     Routing/data/expected/MazeRouting1Result.jelib (Bug #1793)
FIX: Check if version is valid.

BUG: (7/31/08, GVG) Electric doesn't check colors can be out of range (Bug #1792)
FIX: Detect the case now in EGraphics.

IMP: (7/31/08, GVG) Switch transistor display from LOCOS to STI (Bug #1747)

BUG: (7/31/08, GVG) Assertion while loading DRC rules (Bug #1790)
FIX: Any foundry created while reading a XML tech should have mode >=1000000

IMP: (7/31/08, GVG) different highlight color for network (Bug #1776).
     Implemented using MOUSEOVER_HIGHLIGHT color.

IMP: (7/31/08, FYL) LibraryFiles.java readLibrary defaults to .jelib extension if
     extension is not given.  Added another fallback to .delib extension.

BUG: (7/31/08, DN) Assertion boundsDirty == BOUNDS_CORRECT in Cell.undo failed
     (Bug #1699).
FIX: In Cell.computeBounds() explicitely call getBounds() for all subcell.

IMP: Renaming Y-metal contacts in CMOS90 with "SR" instead of "Y". SR stands for
     square recommended.

BUG: (7/30/08, SMR) Empty pattern warnings in Tech Editor
FIX: Set outliner after the pattern is defined.

BUG: (7/29/08, GVG) Standard Technology Editor and transparency layers (Bug
     #1783)
FIX: Picking the right layer name from the variable name.

BUG: (7/29/08, GVG) Exception with unknown foundry (Bug #1782)
FIX: Change Type from enumerator to Class so it can accommodate new foundries.
     Technology.xsd was modified.

************************* Version 8.08b: ******************************

BUG: (7/28/08, GVG) Exception while click on "See" in GetNodeInst if no ports are
     available (Bug #1784)
FIX: Detecting if list index == -1.

BUG: (7/28/08, FYL) Pasting of long geometries while locking a direction (Bug
     #1748)
FIX: Change in getDelta s.t. if mouse in X (or Y) object shadow then move is
     confined to X (or Y) otherwise follows previous 45 degree rule.

BUG: (7/24/08, GVG) ErrorLogger crashes if cellId is null (Bug #1780)
FIX: Detecting the case in doing MessageLog.getCell()

IMP: (7/24/08, GVG) Min active contacts in CMOS90. Min well contacts were
     refactored to meet similar conditions as in the active case.

IMP: (7/24/08, GVG) RouteElementArc adds a Generic universal arc if width is
     zero.  Change done for the NodeExtraction tool.

IMP: (7/24/08, GVG) NodeExtraction: Ability to interrupt the job (Bug #1779)

IMP: (7/23/08, GVG) Allow to combine contacts extracted with and without
     approximateCuts on. Higher priority to multi-cut contacts (approximateCuts
     on).

IMP: (7/23/08, GVG) ErrorLogger for extraction tool? (Bug #1772)

IMP: (7/23/08, GVG) Select all like this doesn't work on annotation text? (Bug
     #1773)

IMP: (7/22/08, GVG) No default font/color available in Multi-Object dialog (Bug
     #1774)

IMP: (7/22/08, GVG) Adding min poly contact in CMOS90

IMP: (7/17/08, GVG) Move option for Cells in ExplorerTree (Bug #1764).

IMP: (7/17/08, GVG) Min well contacts in CMOS90.

BUG: (7/16/08, GVG) Import User's preferences missing a palette refresh (Bug
     #1762)
FIX: Consistent call of UserInferface.repaintAllWindows(), function that also
     takes care of palettes and tabs.

IMP: (7/16/08, GVG) Display cell where MessageLog was found (Bug #1763)

BUG: (7/15/08, GVG) Ctrl-B for resizing does not lock properly on direction (Bug
     #1758)
FIX: Detecting X or Y conditions and avoiding to snap the corresponding
     coordinates.

BUG: (7/15/08, GVG) Can't get out of Ctrl-B mode (Bug #1760)
FIX: Not allowing to store SizeListener as oldlistener.

BUG: (7/15/08, GVG) NotSerializableException while resizing a node with ctrl-b
     (Bug #1759)
FIX: Detecting cases when objects are not longer linked.

BUG: (7/14/08, GVG) Exception while deleting illegal item in MultiObject dialog
     (Bug #1757)
FIX: Case detected.

BUG: (7/14/08, GVG) CB active/well contacts don't stretch properly if size
     increases in TSMC180 (Bug #1756)
FIX: klx="0.0" khx="0.0" kly="0.0" khy="0.0 removed from XML file.
FIX: Select in NT-N-Active contact also modified (it didn't min select extension
     from active)

IMP: (7/11/08, GVG) Add 3D cylinders so rcmos can be properly displayed (Bug
     #1554)

************************* Version 8.08a: ******************************

IMP: (7/9/08, GVG) Sending Activity logs to std out if permission is denied (Bug
     #1702)

IMP: (7/9/08, GVG) Changes to improve XML error message (Bug #1692)

IMP: (7/9/08, GVG) Selecting lightgray instead of orange for those
     CVSstatus == unknown (Bug #1754)

BUG: (7/9/08, GVG) Verilog netlist parser missing a case (Bug #1717)
FIX: Dealing with no name in element instances.

IMP: (7/8/08, GVG) Close/Open all below here in Errors explorerTree (Bug #1752).
     Also fix problems with exporting warningLogs not associated to any given
     Cell.

IMP: (7/8/08, GVG) Adding rules reported in "DRC not caught by electric" (Bug
     #1746)

IMP: (7/7/08, GVG) Calibre number of errors on Error logger (Bug #1749)

IMP: (7/7/08, JG) Added recently opened libs menu in Electric

IMP: (7/3/08, GVG) Speeding DRC code by caching multicut info in a different way.

BUG: (7/2/08, GVG) Notch in select not detected in CMOS90 (Bug #1745)
FIX: Distance A-B in checkMinDefects can be zero.

IMP: precision issues in some DRC functions noticed by running code on MacOSX and
     Linux.

IMP: (7/1/08, GVG) Primitive.CROSSCONTACT and PrimitveNode.ALIGNEDCONTACT bits to
     work on Bug #1740.

IMP: (7/1/08, GVG) Sort layers in 3D preference by layers names. This is
     a change to implementation done for bug #1723 but it looks for intuitive.

BUG: (7/1/08, GVG) 3D preferences not persistent? (Bug #1724)
FIX: Layer.setFactory3DInfo was setting the cacheObject instead of the
     factoryObject.

BUG: (7/1/08, GVG) Bogus DRC error in CMOS90 m1m2 (Bug #1737)
FIX: Allow asymmetric node size rules.

IMP: (7/1/08, JG) snap annular ring points to technology grid.
Add recently opened libs list. fix for custom sweeps for sequential arcs in
     SCTiming.

BUG: (7/1/08, GVG) DRC should report both node min.size errors if they are
     present (Bug#1741)
FIX: New strategy to check those errors.

BUG: (7/1/08, SMR) Rotated multi-line text is wrong (Bug #1729).
FIX: In ElectricObject.getPolyList() do not rotate multiline node text.

BUG: (6/30/08, SMR) Icons are invisible against a black background (Bug #1738).
FIX: Created new Special color (in "Layers" preferences) with the name
     "DEFAULT ARTWORK".  Use this value in Artwork.getProperLayer().

BUG: (6/30/08, SMR) "Cross-library copy" fails if "Use Existing Subcells" is
     checked and ports do not match (#1736).
FIX: Improved Cell:copyNodeProtoUsingMapping() to handle differences.

BUG: (6/30/08, SMR) Verilog cell names are inconsistent (Bug #1719).
FIX: Cleaned-up cell naming code.

IMP: (6/30/08, SMR) Improved Spice parasitics (from Mahesh Balasubramanian, Bug
     #1735).

IMP: (6/30/08, SMR) Added Verilog architecture parameterization facility
     (from Brian Van Essen, University of Washington, Bug #1734).
     Added "Verilog" preferences to choose formatting, standard cell handling,
     and parameter control.
     Added "Tool / Verilog / Set Verilog Default Parameter"
     Added "Verilog Parameter" and "Verilog External Code" to "Misc" component
     menu. Can now highlight Electric objects with specified color.

IMP: (6/30/08, SMR) Added input for Applicon/860 format files (Bug #1733).

************************* END OF Version 8.07, GNU RELEASE *************
************************* Version 8.07m: ******************************

BUG: (6/27/08, GVG) A-type of active contacts don't stretch properly if size increases (bug #1732)
FIX: M1 of those A-type contacts was aligned with respect to the center of the node.

IMP: (6/27/08, SMR) Made "mipsCells" library have default number of metal layers.

IMP: (6/27/08, SMR) DXF output now shows all technology polygons, not just artwork.

IMP: (6/27/08, JG) menu commands to run fill generator for 90nm

IMP: (6/26/08, GVG) Native active contact added in cmos90.

BUG: (6/26/08, GVG) cmos90 NT-N surround of active components incorrect (Bug #1727)
FIX: Value modified.

BUG: (6/26/08, SMR) Cells don't always fill the window (Bug #1730, #1731).
FIX: In EditWindow.getBoundsInWindow(), set scale properly, iterate twice.

BUG: (6/26/08, SMR) GDS output may crash on Artwork primitives (Bug #1728).
FIX: Handle null graphics information caused by Artwork auto-generation of layers.

IMP: (6/25/08, SMR) Tutorial about Technology Editor Wizard (Bug #1617)

IMP: (6/25/08, JG) dummy metal layers in 90.

************************* Version 8.07l: ******************************

IMP: (6/24/08, JG) layers for bumps in 90

BUG: (6/23/08, GVG) Exception in DRC due to layer.index() = -1 (Bug #1726)
FIX: Detecting non-layout nodes.

IMP: (6/23/08, SMR) Using "Object Properties" when nothing is selected gives
     an error instead of bringing up "Parameters" dialog.
     Removed Edit menu commands "See/Hide All Attributes on Node" and
     "Default Attribute Visibility".

BUG: (6/23/08, GVG) Sort layers in 3D preference by their Z values (Bug #1723)
FIX: Changed from LayerHeight to LayerZValueSorting.

BUG: (6/23/08, GVG) Out of bounds exception in DRC layout with schematic primitive (Bug #1725)
FIX: In MinArea, not detecting cases where NodeInsts are non-layout nodes.

IMP: (6/20/08, GVG) More improvements in TechEditorWizard but still one label is missing in GUI.

BUG: (6/19/08, SMR) HSpice output files not read properly (Bug #1721).
FIX: Sweep headers have "ConditionCount-1" values in them.

BUG: (6/19/08, SMR) Component menu preferences trouble (Bug #1720).
FIX: In TechPalette.rotateTransistor(), preserve node rotation.

BUG: (6/19/08, GVG) Possible wrong 3D values for second poly in mocmos (Bug #1722)
FIX: Indeed, poly2 in MoCMOS is fine (above poly1). Fixing tsmc180.xml file to be consistent.

IMP: (6/18/08, GVG) Improves in TechEditorWizard including better handling of errors in txt file
and layers with a null pattern.

IMP: (6/17/08, DN) Remove class text.SimpleImmutableEntry because of license.

BUG: (6/16/08, DN) SogRouterAdapter: redundant metal, preferred routing directions (Bug #1679)
FIX: Use API routing which sorts arcs by length.

IMP: (6/13/08, GVG) New way to detect directories in command line (new implementation of Bug #1704)
Previous implementaiton broke command line reader (Bug #1714)

BUG: (6/12/08, SMR) Editing down-in-place can be slow (Bug #1711).
FIX: Added new "Display Control" preference to control the dimming of upper
     levels when editing down-in-place (the alpha blending can be slow).
     Also added new "Layers" special color to control the color of the
     border.

BUG: (6/12/08, SMR) Layers that use patterns but have null patterns and
     no outline are not visible (Bug #1145).
FIX: In EGraphics.setPatternLow(), detect this and add the outline.
     Also modified CMOS90.java, MoCMOS.java, and tsmc180.xml to fix the
     Pad-Frame layer which has this problem.

BUG: (6/12/08, GVG) loading jelib from command line not working (Bug #1714)
FIX: Undone changes for Bug #1704 for now (root cause of this problem).

BUG: (6/11/08, GVG) When there are multiple Transistors in an entry of the component menu,
     the popup does not distinguish them properly (Bug #1712).
FIX: Unedited changes in "makeNodeInst()" method of "cmos90" and "mocmos" to give proper names
and put back !var.isDisplay() in TechPalette.getItemName().

BUG: (6/11/08, SMR) When there are multiple Transistors in an entry of the component menu,
     the popup does not distinguish them properly (Bug #1712).
FIX: Edited the "makeNodeInst()" method of "cmos90" and "mocmos" to give proper names.

BUG: (6/11/08, GVG) Crash in DRC regression (Bug #1713)
FIX: PrimitiveNodes defined without ports but portNum=0 was defined in the NodeLayer.
Assertion added.

BUG: (6/11/08, DN) Change operation changes the PrimitiveNode size? (Bug #1690)
FIX: In NodeInst.replace() remove test for minimum sizes.

************************* Version 8.07k: ******************************

BUG: (6/10/08, DN) Library reader creates multiple cells for unknown PrimitiveNodes.
FIX: In JELIB.instantiateCellContents check for duplicate cells.

BUG: (6/10/08, DN) Crash in PixelDrawing when drawing cached subcell (Bug #1711).
FIX: In PixelDrawing init varContext to globalContext.

BUG: (6/10/08, DN) Cell renaming doesn't mark "dirty" its library (Bug #1710).
FIX: In Cell.rename() call lib.setChanged().

IMP: (6/9/08, GVG) Should Electric detect a directoriy listed as a lib in the command line? (Bug #1704)

BUG: (6/9/08, GVG) Assertion in DRC MTD area code while cleaning DRC dates.
FIX: Not storing DRC date data during MTD DRC for area.

IMP: (6/9/08, SMR) Relaxed restriction on file name extensions and allow extra letters (Bug #1705).

IMP: (6/9/08, SMR) "Change" dialog has mnemonics on buttons, "Done" is default (Bug #1709).

BUG: (6/7/08, DN) Parallel Dijkstra algorithm in SeaOfGates router hangs sometimes.
FIX: Synchronize access to "layerSurround" maps which are modified by both threads.

BUG: (6/7/08, DN) Assertion boundsDirty == BOUNDS_CORRECT in Cell.undo failed (Bug #1699).
FIX: In Cell.computeBounds() don't skip calculations of bounds of invisible pins.

IMP: (6/6/08, RK) Stop using deprecated data in SchemeToLay.java and GateLayoutGenerator.java

IMP: (6/6/08, GVG) Renaming cells in Explorer window broken (Bug #1700).
Adding extra message to warn user about the renaming of a cells group with multiple icons.

BUG: (6/4/08, SMR) Sea-of-gates router fails to route (Bug #1689).
FIX: Switched the router to full gridless so it can handle these off-grid routes.

BUG: (6/4/08, SMR) Verilog output combines "][" into a single underscore (Bug #1697).
FIX: In Verilog.getSafeNetName(), do not merge underscores.

BUG: (6/3/08, SMR) Multi-object properties dialog doesn't handle font right (Bug #1697).
FIX: In GetInfoMulti.findComboBoxValue(), handle "no change" case.

IMP: (6/2/08, DN) Distinct methods for variables and parameters on NodeInst.

IMP: (5/30/08, DN) Move TextDescriptor.Code to CodeExpression.Code .
   TextDescriptor doesn't containt Code field.

BUG: (5/29/08, SMR) Cell extraction duplicates arcs (Bug #1694).
FIX: In CellChangeJobs.replaceExtractedArcs(), ensure arc connects to extracted cell instance.

BUG: (5/29/08, SMR) Sea-of-gates router fails to route (Bug #1689).
FIX: Must convert coordinates to EPoint/ERectangle to properly round values.

IMP: (5/29/08, DN) The consistency between parameters on icon cell and icon instances
    is invariant of Snapshot.

IMP: (5/22/08, DN) Variables and parameters on ImmutableIconInst are in separate lists.

BUG: (5/29/08, DN) NPE in updateInheritedVar (Bug #1693)
FIX: Replace CircuitsChangeJobs.updateInheritedVar by "ni.addVar(var)".

IMP: (5/28/08, SMR) Sea-of-gates router honors alternating metal better (Bug #1679).

IMP: (5/27/08, GVG) TechEditorWizard handling multi cuts rules for diff contacts.

IMP: (5/27/08, SMR) Added accelerator keys to width/length Node Properties (Bug #1688).

BUG: (5/27/08, SMR) Dialogs (specifically Multi-object Properties) may grow
     too large for the display.
FIX: In EModelessDialog.ensureProperSize(), limit dialog size.

IMP: (5/22/08, DN) New methods in ElectricObject: getVarValue, getParameterOrVariable, getParametersAndVariables.

IMP: (5/22/08, SMR) Explorer tree scrolls to show selected item (Bug #1691).

IMP: (5/22/08, DN) Variables and parameters on ImmutableCell are in separate lists.

IMP: (5/21/08, SMR) Creating parameters on instances places them correctly.

IMP: (5/20/08, RK) Place and route InstFifoAll

************************* Version 8.07j: ******************************

BUG: (5/19/08, SMR) Deleting instances with exported and wired ports leaves
     multiple disconnected pins (Bug #1681).
FIX: Reuse pins so that they are all connected.

IMP: (5/19/08, SMR) Added accelerator keys to Node and Arc Properties (Bug #1688).

BUG: (5/19/08, SMR) "Edit / Cut" on node and arc text doesn't work (Bug #1686).
FIX: Fixed Clipboard.CutObjects.doIt().

IMP: (5/16/08, DN) The consistency between parameters on icon and schematic cells in a group
     is database invariant.

BUG: (5/15/08, GVG) Exception while in TechWizardEditor if numMetals > 12 (Bug #1687)
FIX: Extra code in Layer, DRCTemplate and TechEditWizardData to catch the inconsistency.

IMP: (5/15/08, SMR) Added "Apply to instances" checkbox to "Parameters" dialog
     to request that newly-created parameters be placed on all instances.

IMP: (5/15/08, SMR) Added Electric icon to file I/O dialogs.

BUG: (5/15/08, SMR) Vector display algorithm "greeks" some cells long before
     others, causing inconsistency of display (Bug #1683).
FIX: In VectorCache.renderPoly(), ignore all implant layers when computing maximum
     feature size.

BUG: (5/15/08, SMR) "Edit / Cut" on export text doesn't work (Bug #1680).
FIX: Fixed Clipboard.CutObjects.doIt().

IMP (5/15/08, SMR): The "Node Preferences" option "Reconstruct arcs when deleting instances"
     is now "Reconstruct arcs and exports when deleting instances" and recreates
     pins for exports (Bug #1681).

BUG (5/15/08, SMR): The command "Cell / Cell Info / List Nodes In This Cell" counts "example"
     icons, which it shouldn't.  This gives incorrect instance counts when examining
     schematics (Bug #1684).
FIX: Fixed in CellLists.listNodesInCellCommand().

BUG: (5/14/08, DN) Schematic DRC regressions failed.
FIX: In IconNodeInst.composeInstParam derive isDisplay() on instance parameter from
isInterior() on icom parameter.

IMP: (5/14/08, RK) Fix NCC documentation

BUG: (5/13/08, GVG) DRC doesn't check active cut rule C, page 74 (doc) of tsmc90 (Bug #1664)
FIX: Extra code was added to switch from B to C rule if multi-cuts are detected.
The code should not be slower than before.

IMP: (5/13/08, DN) User can set TextAttributus of parameters on node instances.

IMP: (5/7/08, GVG) Add new contacts M12->M67, Poly in CMOS90 (Bug #1677)

BUG: (5/6/08, SMR) Printing quality is not well understood (Bug #1648).
FIX: Updated section 4-8 of manual to explain different hardcopy options and limitations.

BUG: (5/6/08, DN) Bugs reading mocmos.xml (Bug #1594).
FIX: In MoCMOS constructor swap some coordinates in Scalable Transistor definition.

IMP: (5/6/08, DN) Move the algorithm ensuring consistency of cell parameters in a group
   from CheckAndRepair to LibraryRead.

BUG: (5/5/08, SMR) Converting from schematics to layout creates DRC and gallery cells
     unnecessarily (Bug #1675).
FIX: In GateLayoutGenerator.generateLayoutFromSchematics(), do not create DRC or
     gallery if no Red/Purple gates were found.

BUG: (4/30/08, SMR) Converting from schematics to layout orients the transistors
     incorrectly (Bug #1674).
FIX: In ViewChanges.MakeLayoutView.MakeLayoutVisitor.placeLayoutNode(), compute
     proper transistor orientation.

BUG: (4/30/08, SMR) Replacing nodes loses node names (Bug #1672).
FIX: In NodeInst.replace(), rename old node before copying name to new node
     to prevent duplicate name errors.

IMP: (4/28/08, RK) Remove more references to
     com.sun.electric.tool.generator.layout.Tech.

IMP: (4/29/08, SMR) Auto-stitcher now has the option to create exports
     (Bug #1593).

BUG: (4/29/08, RK) My cleanup of the gate layout generation code broke
     the TSMC180 regressions 080429_0000. Repaired.

BUG: (4/29/08, DN) AND primitives don't resize correctly when adding input wires (Bug #1653).
FIX: In LayoutCell.transformByPort don't try to transform port positions of isolated ports.

IMP: (4/28/08, RK) Eliminate many references to static globals of
     com.sun.electric.tool.generator.layout.Tech.

IMP: (4/28/08, SMR) Fixed GDS project settings dialog to say that
     "Blank" layers generate no GDS, not "Negative".

************************* Version 8.07i: ******************************

FIX: (4/25/08, RK) NCC Sport regressions fail. This is because Electric no longer
     supports the fictional metal-5 to metal-8 via. This via was a
     temporary expedient. It is not worth supporting. I modified
     one Sport regression to expect the large number of mismatched cells. (Bug #1590)

FIX: (4/24/08, RK) CMOS90 Nand2en has wrong width hints. CMOS90
     generators may generate metal-1 minimum area errors. (Bug #1671)

IMP: (4/24/08, RK) I removed use of StdCellParams from FoldedMos. FoldedMos
     is supposed to be a in layer beneath StdCellParams. I moved much
     technology specific information from StdCellParams to TechType.

IMP: (4/23/08, SMR) New command "Edit / Selection / Show Current Collection of Errors"
     highlights all errors in the current collection (Bug #1621).

BUG: (4/23/08, DN) Cut and paste corrupts bus tag (Bug #1667).
FIX: Allow bus names in Clipboard Cell.

BUG: (4/23/08, DN) Quitting right after startup prompts to save library (Bug #1669).
FIX: In Main.InitDatabase.doIt call "mainLib.clearChanged()".

BUG: (4/23/08, DN) Network API is confusing (Bug #1670).
FIX: Add method Network.getGlobals().

BUG: (4/22/08, RK) CMOS90 Nand2 gate layout generator was violating tsmc90 rule CO.S.2

IMP: (4/22/08, SMR) Ports that are down the hierarchy and not selectable are
     no longer drawn (Bug #1665).

BUG: (4/21/08, SMR) HSpice input sometimes mangles signal names incorrectly (But #1630).
FIX: Only remove common signal prefixes if they also match the file name.

IMP: (4/21/08, SMR) Changed all of the "Edit XXX View" commands in the
     View menu so that if the view does not exist, you are prompted to create
     it (Bug #1609).

IMP: (4/17/08, SMR) New command "Export / Follow Export Up Hierarchy"
     shows the usage of the selected export recursively up the hierarchy (for Ivan).

IMP: (4/17/08, SMR) New command "Cell / Cell Info / List Cell Usage, Hierarchically"
     shows the usage of the current cell, but recursively shows usage of cells that use
     it further up the hierarchy (for Ivan).

BUG: (4/17/08, SMR) Changing a node to a different one keeps the same temporary name. (Bug #1662).
FIX: In NodeInst.replace(), copy name only if it is not a temporary name.

IMP: (4/17/08, SMR) Waveform window now handles "Window / Special Pan /
     Center Cursor" (^5) which centers the horizontal axis over the cursor (Bug #1654).

IMP: (4/17/08, SMR) Waveform window now remembers default panel height set by
     buttons (Bug #1656).

BUG: (4/16/08, SMR) Reinvoking Electric when there is insufficient memory ignores
     the "user.home" parameter setting (Bug #1656).
FIX: In Launcher.invokeElectric(), consult a list of parameters to copy (currently
     just "user.home".

BUG: (4/16/08, SMR) Sea-of-gates router gives "arc killed" error messages (Bug #1414).
FIX: Check for deletion before deleting arcs.

IMP: (4/16/08, SMR) Waveform window can be panned horizontally by dragging
     the time scale at the top.  Also added two new commands to the
     "Window / Waveform Window" menu: "Fill Only in X" and "Fill Only in Y" (Bug #1654).

BUG: (4/16/08, SMR) Option reconciliation dialog may be too wide (Bug #1655).
FIX: In OptionReconcile constructor, trim values to 30 characters.

BUG: (4/16/08, SMR) Waveform window draws lines all the way to the right side of the
     screen, even when the data does not exist (Bug #1645).
FIX: In Panel.processSignals(), do not extrapolate data.

BUG: (4/16/08, SMR) Testing for file existence locks the file.
FIX: In TextUtils.URLExists(), close the connection on the URLConnection.

BUG: (4/15/08, GVG) NPE if File f is null due to permissions problem (Bug #1657)
FIX: Detect the case.

BUG: (4/15/08, SMR) Waveform windows can be made too short and cause errors (Bug #1651).
FIX: In WaveformWindow.growPanels(), limit row height.

************************* Version 8.07h: ******************************

BUG: (4/15/08, SMR) Editing a new cell when descended "in place" displays wrong (Bug #1650).
FIX: In EditWindow.setCell(), clear in-place descent history if no history is given.

BUG: (4/15/08, DN) Cross-library copy problem (Bug #1649)
FIX: In CellChangeJobs.copyRecursively check if the fromCell is already moved.

BUG: (4/14/08, GVG) DRC crash when storing dates (Bug #1646)
FIX: Code was made more robust to inconsistencies in the DRC variables stored.

BUG: (4/14/08, SMR) Waveform window doesn't handle data with descending time values (Bug #1648).
FIX: Must handle edges of waveform panel specially.

BUG: (4/11/08, GVG) Sea of gates router (Bug #1414)
FIX: Sea-of-Gates scrpts in the regressions were fixed.

BUG: (4/10/08, SMR) Spice output does unusual things with quoted text (Bug #1644).
FIX: When parameter text is inside parenthesis, don't enforce quotes.

BUG: (4/9/08, DN) RevisionDate of a Cell is not clear in Generation regressions.
FIX: In Cell.lowLevelSetRevisionDate call "database.unfreshSnapshot()".
     In AbsractTest.compareResults call "cell.getDatabase().backup()".

IMP: (4/9/08, SMR) Typing "z" when in zoom mode or "p" when in pan mode now
     reverts to the last mode (not always click-zoom-wire) and can be used to
     return to paste dragging, interactive resizing, etc. (Bug #1628)

BUG: (4/9/08, SMR) ALS simulator fails because VHDL conversion fails (Bug #1636).
FIX: Fixed VHDL generation to handle ports better.

BUG: (4/8/08, DN) PadFrame generator doesn't mark generated cells as changed.
FIX: In database.constraint.Layout mark revision dates even in "quiet" mode.

BUG: (4/8/08, GVG) NPE in Database regression (Bug #1642)
FIX: Calling graphics.setLayer() after the layer index is calculated.

BUG: (4/8/08, SMR) Crossprobing not working right (Bug #1630).
FIX: More specific use of context when crossprobing.

BUG: (4/8/08, DN) Continuous NPE loop (Bug #1640)
FIX: In Variable.makeStringVar consider for null entries in an array.

BUG: (4/8/08, DN) All icons the same color (Bug #1637).
FIX: In EGraphics.setLayer don't change preferences in case of "free" layer.

BUG: (4/8/08, DN) HierarchicalEnumerator/Netlist get confused with export names like X(A,B,C) (Bug #1627, #1631)
FIX: Allow bussed names in icon and schematics Cells only.

IMP: (4/4/08, GVG) Better error message for Bug #1627.

IMP: (4/3/08, SMR) Sea-of-Gates router now defaults to use parallel processing.

************************* Version 8.07g: ******************************

BUG: (4/3/08, SMR) Sea-of-Gates router doesn't route every node on the network.
FIX: Routing.findNetEnds() improved to locate all connections.

BUG: (4/3/08, SMR) Printing crashes.
FIX: In EditWindow.getPrintImage(), recreate Rectangle instead of setting fields.

IMP: Added Technology XML format to user's manual (section 8-10)

BUG: (4/2/08, SMR) Electric cannot re-run JVM when there are spaces in the Jar path (Bug #1624).
FIX: In Launcher.invokeElectric(), wrap Jar file path in quotes if it has spaces.

BUG: (4/2/08, SMR) Auto stitcher misses zero-size ports.
FIX: Fixed quad-trees and updated Auto-stitcher.

BUG: (4/1/08, GVG) Quad tree doesn't handle zero-sized objects (Bug #1626)
FIX: ObjecQTree now can handles zero-sized objects. Basic test was added into Extraction regression.

IMP: (3/31/08, SMR) Added command "Window / Messages Window / Tile with Edit Window"
     to make the messages window tile with the edit window (Bug #1625).

IMP: (3/28/08, SMR) Using "Down Hierarchy In Place" on schematic icons
     lets you edit the icon (in place) instead of the schematic (Bug #1607).

BUG: (3/27/08, SMR) Crash while reading HSpice MT0 file (Bug #1618).
FIX: Accept files without indented continuation lines.

BUG: (3/27/08, SMR) Reloading circuit in built-in simulators crashes.
FIX: In DigitalSignal.finished(), do not finish busses if none exist.

BUG: (3/27/08, SMR) EDIF doesn't handle busses right.
FIX: No longer short all signals on a bus.

BUG: (3/27/08, DN) TechEdit writes red component of first transparent color as 0.
FIX: In tecEdit/GeneralInfo.getTransparenColors remove text before ':'.

BUG: (3/27/08, DN) Crash when TechEdit writes Xml.
FIX: In tecEdit/LibToTech check nodeSizeRule, spiceTemplate, sizeOffset.

BUG: (3/27/08, DN) Crash in tecEditTests.
FIX: In EDatabase and Cell correctly update techPool.

BUG: (3/24/08, DN) Spurious error message when editing schematics (Bug #1613)
FIX: In Foundry constructor mark Foundries with fileURL==null as loaded.

BUG: (3/20/08, SMR) Sea-of-gates router is slow (Bug #1414).
FIX: Much faster now.  Interleaves steps in the two directions.

************************* Version 8.07f: ******************************

BUG: (3/19/08, SMR) Interactive sizing doesn't work right with SHIFT key held.
FIX: Fixed detection of shift/control bits.

BUG: (3/18/08, DN) Xml technology file tolerates zero multicut size and spacing.
FIX: In Technology.xsd use PositiveDouble type.

BUG: (3/18/08, DN) Backward compatibility with XML Technologies (Bug #1611)
FIX: In Technology.xsd make <display3d.mode> <display3d.factor> <*Rule.when> attributes optional.

IMP: (3/18/08, SMR) Fragmented Spice netlister into multiple modules in preparation for
     additional Spice parasitics.  Added more parasitics options to Spice Preferences.

IMP: (3/17/08, DN) FullSize of primitive node is calculated as MBB of its layers.

BUG: (3/17/08, SMR) EDIF input doesn't handle "member" properly.
FIX: Extract proper member entry.

BUG: (3/17/08, DN) Numerous instabilities in XML.
FIX: Revert to XML syntax as in Version8-06.

IMP: (3/14/08, DN) Package com.sun.electric.technology.xml for major versions of the Technology Xml syntax.

BUG: (3/13/08, DN) UnsupportedOperationException while uploading XML tech (Bug #1606)
FIX: In Technology.technology(Generic,Xml.Technology) don't deparameterize arcs.

BUG: (3/12/08, SMR) PostScript output ignores some text.
FIX: In PostScript.recurseCircuitLevel(), draw text even at lower levels.

BUG: (3/12/08, DN) Incorrect contact size of tsmc:Metal-5-Metal-6-Con because DRC deck
    has two rules with the same name "A page 47" but with different values.
FIX: In Technology.TechDistanceContext.getRule() ignore NODSIZE and MINWIDCOND rules (Walkaround).

BUG: (3/12/08, DN) Multicut layers of primitive nodes
    "tsmc180:Metal-1-Polysilicon-2-Con" and "tsmc180:Metal-1-Polysilicon-1-2-Con"
    had sizex=A and sizey=A which is less than Poly-Cut MINWID = B .
FIX: Use rule names: <multicutbox sizeRule="A page 39" sepRule="B page 39" sepRule2D="B1 page 39"/>

IMP: (3/12/08, DN) <multicutbox> has attributes with rule names instead of numbers.

BUG: (3/11/08, SMR) Node extraction creates too many exports, names them badly (Bug #1593).
FIX: Names are taken from other exports, only one created in a place.

BUG: (3/11/08, DN) Wrong size of active arcs in TSMC foundry CMOS90.
FIX: In CMOS.getRuleAliases() add "H page 54" -> "J page 54".

BUG: (3/7/08, GVG) Disk image may be damaged on MacOSX (Bug #1592)
FIX: Adding extra flag to mkdmg.sh

BUG: (3/6/08, SMR) EDIF input doesn't always get export connected to circuitry (Bug #1591).
FIX: Create second arc if necessary so that it can be given the export name.

IMP: (3/6/08, DN) ArcPin's geometry is inherited from the ArcProto (except elib sizes).

BUG: (3/5/08, SMR) Generic technology objects are not written to PostScript.
FIX: Set "patterned on printer" to false for all Generic layers.

IMP: (3/5/08, DN) Fixes in "Write XML from Old Electric Build command".

BUG: (3/4/08, DN) Parameter properities dialog throws exception on schematic cells.

FIX: In Attrubutes.loadAttributesInfo move error message and allow schematic cells.

IMP: (3/4/08, DN) Element <arcPin> inside <arcProto> defines <acrPin> NodeLayers from ArcLayers.

BUG: (3/3/08, DN) SizeListener incorrectly determine new node size after SizeOffset changes.
FIX: Repair SizeListener

IMP: (3/3/08, SMR) Added "Toolbar" preferences (in Display section) for rearranging the toolbar.
     Also moved the "Component menu" preferences to the Display section.

IMP: (3/3/08, SMR) Added toolbar commands to pulldown menus:
     "Cell / Cell Viewing History / Go Back a Cell" and
     "Cell / Cell Viewing History / Go Forward a Cell" to move through the displayed cells in the window.

IMP: (3/3/08, DN) Element <primitiveNode> in Technology Xml contains element
    <nodeBase> instead of former <sizeOffset> . Distances in <nodeBase> are from center.

IMP: (3/3/08, DN) Added "Edit|Technology Specific|Write XML of Technology from Electric build"
    command to convert technologies from old Electric builds.

BUG: (3/2/08, DN) NPE in Poly.transform after (Bug #1588)
FIX: Check that "descript != null".

BUG: (2/29/08, SMR) EDIF input crashes (Bug #1588).
FIX: In TextUtils.isANumber(), ignore nulls.

IMP: (2/29/08, SMR) Added text rotation for rotated parameters (Bug #1587).

BUG: (2/29/08, SMR) EDIF input shorts crossed wires at an angle (Bug #1586).
FIX: In EDIF.findEDIFPort(), ensure that angled wires are computed properly.

IMP: (2/25/08, DN+JKG) Merge branches/params to the trunk:
    CheckAndRepairJob ensures consistency between parameters on icon and schematic cells.
    Icon/schematic cells in a group shares parameter names, default values, and units.
    They may differ in text descriptor (except units, param flag, inherit flag).
    CheckAndRepairJob constructs absent parameters on icon cell from name/value/unit on
    main schematics and from text text descriptor on example instance of icon cell.
    Attribute dialog also tries to maintain consistency between parameters on icons/schematics
    in a cell group, though it is not database invariant yet.

    Parameters are not allowed on cells other than icons/schematics.
    Parameters on icon instances inherits patched text descriptor from
    icon cell. Patching means: cleared params and inherit and interior flag.
    Display flag of instance parameter is the negateion of the interior flag of
    icon Cell parameter.

    Spice netlister automatically detects paramters necessary for Spice output.
    It writes them and only them as subcircuit parameters into Spice decks.
    Both Spice and Java syntax are allowed for such parameters.

************************* Version 8.07e: *******************************

IMP: (2/25/08, DN) Add FileType.JAR with file type group "Electric Build".

IMP: (2/24/08, DN) One more PrimitiveNode constructor with minSizeRule argument.

BUG: (2/22/08, GVG) Incremental DRC finds errors when there are none (Bug #1584)
FIX: Now using updateIncrementalDRCErrors function.

IMP: (2/22/08, SMR) EDIF input now reads parameters only when they are
     explicitly listed in the EDIF Preferences dialog (Bug #1533).

BUG: (2/21/08, DN) NPE in NCC regression (Bug #1583)
FIX: Repair input.ReadableDump .

IMP: (2/21/08, GVG) Better implementation of export of any given technology in XML (Bug #1567).
Adding sizeoffset to pins defined by TechEditWizard.

IMP: (2/21/08, SMR) Added ability to drag layers in the "Layers" tab
     to rearrange their order.

BUG: (2/20/08, DN) TechEditWizard writes Layer opacity "0" (Bug #1579).
FIX: In TechEditWizard compute opacity by Jon's algorithm from EditWindow.setDefaultOpacity.

IMP: (2/20/08, GVG) Better message if Technology.xsd file can't be uploaded. If null, Electric runs
without schema validation.

BUG: (2/20/08, GVG) Runtime exception in tech generated while uploading another XML tech (Bug #1581)
FIX: Layout code reorganized to prevent the error.

IMP: (2/20/08, SMR) Pad frame generator adds net names that show the core and export.

BUG: (2/20/08, SMR) Wiring may crash.
FIX: In Router.getArcToUse(), check for busses only when both ends are known.

IMP: (2/19/08, DN) Database invariants added:
    Cell parameters are allowed on icon and scheamtic cells only.
    Their names must start with "ATTR_".

BUG: (2/19/08, DN) No redisplay after merging with branches/params (Bug #1579)
FIX: In VectorCache.forceRedrawAfterChange move changedVisibility.add to proper place

IMP: (2/19/08, GVG) Wrong names in pulldown menus for new technologies created with Wizard (Bug #1580)

IMP: (2/19/08, JKG) Attributes dialog becomes parameters dialog.

IMP: (2/19/08, JKG) Added "Edit|Logical Effort|Add LE Attribute to Selected Export" command.

IMP: (2/19/08, DN) Spice netlister automatically detects spice cell parameters.

IMP: (2/19/08, DN) Code variables in database has value of type CodeExpression.

IMP: (2/17/08, DN) Size in ImmutableNodeInst matches the size written currently to JELIB.

IMP: (2/17/08, DN) Added class ImmutableIconInst to represent instances of Icon cells.
     Also merge miscellaneous changes from "params" branch.

BUG: (2/16/08, DN) TechEditor wrong places node examples.
FIX: In tecEdit.NodeInfo.compactSell correctly find biggest example.

BUG: (2/16/08, DN) Technology Creation Wizard with wrong gridoffset for ArcProto? (Bug #1576)
FIX: Replace <diskOffset> by <elibWidthOffset> in Xml.ArcProto .
     Modify techEdit so that it doesn't recalculate elibWidthOffset .

BUG: (2/15/08, SMR) Auto-stitching doesn't work well in schematics.
FIX: Use position detection for schematics, force busses where appropriate.

IMP: (2/15/08, SMR) Extended "raw" reader (used by SmartSpice output) to handle
     raw output of Spectre.

IMP: (2/15/08, GVG) Uploading of XML techs should not tolarate same names (Bug #1578)

IMP: (2/15/08, DN) Field gridOffset of Technology.ArcLayer is replaced by field gridExtend with
    slightly different meaning.

BUG: (2/14/08, GVG) Save Paramaters in TechEditorWizard not exporting diff_poly_overhang properly.
FIX: Wrong text exported.

IMP: (2/14/08, GVG) Preventing NPE in TechType constructor if technology is null.

IMP: (2/14/08, GVG) minOccurs="0" in Technology.xsd, antennaRatio

BUG: (2/13/08, GVG) Exception if number of metal layers is larger than 10 (Bug #1577)
FIX: Number of DRCmodes extended.

IMP: (2/13/08, GVG) Ability to export any given technology in XML (Bug #1567)

IMP: (2/13/08, GVG) Changes to guarantee Technology.getCurrent() won't retrieve a null tech
if problems during technology parsing occurs. More consistent way to get MocMOS tech.

BUG: (2/13/08, GVG) DRC crashes after run with error (Bug #1575)
FIX: Problem introduced when dates for spacing rules were split from dates for areas (Bug #1539)

IMP: (2/13/08, SMR) Verilog output now writes busses for layout cells.

IMP: (2/13/08, SMR) EDIF input adds cell properties that start with "def"
     as parameters (in Cadence compatibility mode only) (Bug #1533, #1568).

IMP: (2/13/08, DN) Remove versions and diskOffsets from tecEditWizard technologies
    because they are not necessary for new technologies.

IMP: (2/13/08, SMR) Technology Creation Wizard now uses rule names (Bug #1569).

BUG: (2/13/08, SMR) Technology Creation Wizard doesn't write proper XML (Bug #1571).
FIX: Reordered GDS output, fixed "+" in layer names.

BUG: (2/12/08, DN) Better catching of validation errors in XML tech files? (Bug #1574)
FIX: Don't print stack trace on parse error in Xml technology file.

BUG: (2/12/08, GVG) XML files generated by Tech Creator Wizard are not valid (Bug #1571)
FIX: Changes in TechEditWizardData.dumpTechnology

BUG: (2/12/08, GVG) NPE if current technology can't be set (Bug #1572)
FIX: Detect when the current technology is null

BUG: (2/12/08, DN) "bipolar.xml" and "cmos.xml" has port names with '+' char which is illegal in XML NCName.
FIX: Change port names.

BUG: (2/12/08, DN) Technology ".xml" file are not validated.
FIX: In Xml.parseTechnology set Schema to SAXParserFactory.
   Add "spiceTemplate" and "menuCell" entities to "Technology.xsd".
   In "Tehnology.Xml" remove import of Cell class.

BUG: (2/11/08, SMR) Technology Creation Wizard swapped transistor length/width (Bug #1564).
FIX: Swapped letters in "gate" panel.

BUG: (2/11/08, SMR) Technology Creation Wizard crashes if more than 10 metals (Bug #1566).
FIX: Allowed more than 10 (limited by color list).

IMP: (2/11/08, SMR) "Via" panel of Technology Creation Wizard now uses pulldown (Bug #1565).

************************* Version 8.07d: *******************************

IMP: (2/11/08, SMR) Component menu dialog now supports cell instances.

BUG: (2/4/08, DN) New: NPE while reading an old JELIB library (Bug #1555)
FIX: In LibraryFiles.findPortProto() return single-port only for empty port name.

IMP: (2/8/08, DN) Remove ReadubleDump ".txt" libraries from com.sun.electric.lib .

BUG: (2/8/08, DN) Reading process got broken (Bug #1562).
FIX: In JELIB.figureOutPortInst use local variable for transformed port position.
     In.JelibParser.getVariableValue extract substring for x value of EPoint .

IMP: (2/7/08, SMR) "Cells" component menu entry now shows only appropriate
     cell types (Bug #1557).

BUG: (2/6/08, DN) Illegal exception while reading an old library (Bug #1561)
FIX: In JELIB.realizeCellsRecursively add version number for dummy CellId.

************************* Version 8.07c: *******************************

BUG: (2/6/08, SMR) EDIF input now ignores EDIF for existing cells (Bug #1532).
     Also, EDIF Preferences dialog made prettier.

BUG: (2/6/08, GVG) via, M1_PP_Contact, M1_NP_Contact and PNJunction nodes in bipolar tech
should be CONTACT instead of CONNECT in bipolar.xml
FIX: Fixed and new 3D values were added.

BUG: (2/6/08, SMR) Technology edit commands are in a confusing place (Bug #1559).
FIX: Moved tech-edit commands to their own submenu.  Fixed technology edit
     component editing so that it is clear that it is part of tech-edit.
     Also added "Factory Reset" to Component Menu preferences panel.

BUG: (2/6/08, SMR) Verilog output still writes fragmented busses wrong (Bug #1523).
FIX: In Verilog.writeCellTopology(), write module header and invocation as
     separate signals when bus is fragmented.

IMP: (2/4/08, SMR) Improved "Technology Creation Wizard".

BUG: (2/5/08, SMR) Spice output tries to write internal nets in subcircuit headers.
FIX: In Spice.writeCellTopology(), ignore signals with no exports or globals.

BUG: (2/5/08, SMR) Spice output may crash.
FIX: In Spice.writeCellTopology(), check for null networks.

BUG: (2/4/08, DN) Stack overflow while placing sch into icon (Bug #1556)
FIX: 1) Check recursion in Snapshow.with method.
     2) Forbid subcell instances in icon cell

IMP: (2/4/08, DN)  JELIB reader parses cell string in parse stage instead of realize stage

BUG: (2/4/08, DN) New: NPE while reading an old JELIB library (Bug #1555)
FIX: In Cell.getPort() use getExportChron().

IMP: (2/4/08, SMR) Added "Technology Creation Wizard" (from Andrew West).

BUG: (2/1/08, DN) Vector display algorithm and wrong display of highlighted geometries (#Bug 1551)
FIX: In PixelDrawing.Drawing.paintComponent use the same rerendering condition as in LayerDrawing.
    Also moved all redisplay staff in package user.redisplay .

IMP: (2/1/08, DN) Add "tftTest" to technology regressions.

BUG: (2/1/08, DN) In "tft.xml" pure layer nodes HiK, Pent, Via1 try to connect to
   non-existing arcs.
FIX: Comment <portArc> for these pure layer nodes.

IMP: (2/1/08, DN) Rename TFT.xml to tft.xml so that file name matches tech name.

BUG: (2/1/08, DN) Activity logger crashes when Job.getUserInterface is null yet.
FIX: Print message to System.out in this case.

BUG: (2/1/08, DN) Exception in PaletteFrame when current technology is not set yet.
FIX: In PaletteFrame.loadTechnologies test curTech for null.

BUG: (2/1/08, DN) Xml technology loader doesn't check PrimitivePort connections.
FIX: Add checks to Technology(Generic,Xml.Technology) and PrimitivePort(...) constructors.

IMP: (2/1/08, GVG) Add 3D values to layout technologies (Bug #1553).
Better detection if no non-flat nodes are found.

IMP: (1/31/08, GVG) 3D Viewer should not be restricted to 180/90nm techs (Bug #1550).
Warnings will be given if the technologies don't have any non-zero 3D values.

BUG: (1/31/08, GVG) NPE when running MTDRC only min area.
FIX: Avoid NPE and more fixes for skipping layers in min area.

IMP: (1/31/08, DN) JELIB writer can write single CellRevision.

BUG: (1/30/08, GVG) DRC code was not skipping properly layers for minArea checking.
FIX: Added extra code in QuickAreaEnumerator.skipLayer().

BUG: (1/30/08, GVG) DRC dates are missing in MTDRC code (Bug #1546)
FIX: Code added and working.

BUG: (1/30/08, GVG) DRC dates wrong in SimpleHierarchy example (Bug #1539)
FIX: Min area date is stored in a different cell variable so only it is independent of the spacing rules.

BUG: (1/30/08, GVG) Not properly reset of DRC dates if they were stored as Variables before (Bug #1549)
FIX: Clear all cell vars even if it is not the inMemory mode.

IMP: (1/30/08, DN) JELIB writer doesn't write 'G' lines, because Cell's Groups is
     defined by a field in 'C' line.

IMP: (1/28/08, GVG) Merge MTDRCArea with Spacing code (Bug #1544)

BUG: (1/28/08, GVG) Inconsistency found in maxSurround rule in single and MT threaded versions (Bug #1547)
FIX: Deterministic algorithm now.

IMP: (1/28/08, GVG) Ability to switch between single-threaded DRC and the multi-threaded version (Bug #1548).
New option added in DRC preference.

IMP: (1/28/08, SMR) Improved EDIF input.

BUG: (1/27/08, DN) Abort works for EXAMINE jobs only (Bug #1354).
FIX: In Job.abort() mark both clientJob and serverJob as aborted
     (this works only in single-JVM mode).

IMP: (1/27/08, DN) Added SeaOfGates regression tests.

BUG: (1/26/08, DN) Avoid floating imprecisions in Project Setting Reconcilation (Bug #1538).
FIX: "ProjectSettings | Parasitics" dialog shows parasitics values without rounding now.
    It shows that imprecisions existed in disk library.

IMP: (1/25/08, GVG) PolyBase.isInside() checks if point is inside bounding box to speed up
the process. checkMinAreaLayerWithLoops in mTDRCArea checking.

BUG: (1/24/08, GVG) Picking wrong DRC spacing rule when notches are checked together with minArea (Bug #1540)
FIX: Search among all possible candidates if wideS < 0. Mostly valid only for notch checking in
new MTDRC code.

BUG: (1/24/08, SMR) EDIF mapping now handles cells (Bug #1471).

BUG: (1/24/08, GVG) ErrorLoggers are not added into Explorer (Bug #1541)
FIX: Missing termLogging added.

BUG: (1/24/08, GVG) Can't abort MTDRCArea jobs (Bug #1542)
FIX: Added missing abort function.

BUG: (1/24/08, DN) STAOpptionDialogs calls setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    This value is invalid for JDialog and Java 1.6 detects it.
FIX: Do not change the default close operation.

BUG: (1/24/08, DN) New: quit when unable to save (Bug #1537)
FIX: Create FileMenu.RenameAndSaveLibraryTask objects in GUI and pass it to doIt
     methods of QuitJob, ReadLibrary, ImportLibrary, CloseLibrary jobs.

BUG: (1/23/08, GVG) Quit command does not longer work (Bug #1543)
FIX: Missing QuitJob.startJob().

IMP: (1/23/08, SMR) EDIF import obeys library names in the EDIF file (Bug #1532).

************************* Version 8.07b: *******************************

IMP: (1/23/08, SMR) Added "DebugMenuDinesh" and "DebugMenuFrankie" to provide
     sandboxes for them.

IMP: (1/22/08, GVG) Final implementation of PWell process flag in Technology dialog
in ProjectSettings (Bug #1439). By default, the processes are pwell.

IMP: (1/18/08, GVG) Part of the code to implement Bug #1439 (PWell process).
Changes are not active yet until the regressions are updated. New setting in Technology
dialog in ProjectSettings.

IMP: (1/18/08) GetInfo menu added to ExplorerNodes (Bug# 1536).

BUG: (1/18/08, GVG) Wrong pulldown menu if two root nodes in Explorer are selected (Bug #1535).
FIX: Detect if number of selected nodes is bigger than 1. If yes, skip that particular menu.

BUG: (1/18/08, GVG) NPE while sorting DRC errors per rule (Bug #1534)
FIX: If rule name is null them take DRC type for the grouping.

IMP: (1/17/08, GVG) Removing old MT DRC code under MultiDRC classes. They have been
replaced by MTDRC*. Added PolyBase.isPointInsideCutAlgorithm to replace
PolyBase.isInsideGenericPolygonOriginal because it is faster. PolyBase.bitRectangle added.

IMP: (1/17/08, SMR) Sea of gates router now handles multiple processors.

BUG: (1/16/08. GVG) NPE in export PNG (Bug #1531)
FIX: Now the code detects when the print service is not available for whatever reason.

IMP: (1/16/08, SMR) EDIF input handles busses properly, places offpages well.

IMP: (1/16/08, SMR) "Change" is now more forgiving when two ports share
     the same location.

BUG: (1/16/08, DN) Highlighter.getOneElectricObject doesn't find IconNodeInsts.
FIX: Use type.isInstance(eobj) instead of type == eobj.getClass().

************************* Version 8.07a: *******************************

BUG: (1/14/08, SMR) Wide symbols may get split in Verilog output.
     Fix: In Output.writeWidthLimited(), handle wide symbols properly.

IMP: (1/11/08, DN) Parameters on icon instances are virtual.
     They inherit from icon cell everything except value.
     This feature is disabled now by NodeInst.VIRTUAL_PARAMETERS = false .

IMP: (1/11/08, DN) Algorithm to detect Spice parameters in DebugMenuDima.detectSpiceParams .

BUG: (1/11/08, DN) Assertion during deserialization.
FIX: In NodeInst make readResulve package-private, In EObjectOutputStream treat Nodables correctly.

BUG: (1/10/08, DN) Assertion creating IconNodeInst.
FIX: Change visibility of NodeInst constructors.

IMP: (1/10/08, SMR) Spice Preferences now has option for writing .end statement
     and has choice of resistor shorting (Bug #1447).

IMP: (1/10/08, DN) Inctances of icon cells have type IconNodeInst .

IMP: (1/10/08, DN) CellRevision and all Immutable* classes are technology independent.

BUG: (1/9/08, DN) NPE while reading nanosim output file (Bug #1530).
FIX: Initialize EpicAnalysis.signalsUnmodifieable in EpicAnalysis constructor.

BUG: (1/9/08, SMR) Sea-of-Gates router creates notches (Bug #1476).
FIX: Fixed code that compares part of route with previous parts of same route.

IMP: (1/9/08, SMR) Added new command: "Export / Manipulate Exports..."
     which displays exports in cell in a dialog.  One of the buttons in this
     dialog is "Renumber Selected Numeric Export Names" which takes a set
     of numeric exports (i.e. exports with numeric suffixes, such as "gnd_1",
     "gnd_3", etc.) and renumbers the suffixes so that they have no gaps and
     start with an unnumbered name (Bug #1465, 1526).

IMP: (1/9/08, SMR) Verilog netlister now uses backslash notation for busses
     with gaps (Bug #1523).

BUG: (1/8/08, SMR) Creating a new attribute doesn't include settings in dialog (Bug #1528).
FIX: In Attributes.CreateAttribute constructor, build initial TextDescriptor.

IMP: (1/8/08, DN) ImmutableArcInst is technology independent.

IMP (1/7/08, SMR) Improved "Arc Properties" and "Node Properties" dialogs
     so that the current bus arc/port's members can be listed (Bug #1529).

IMP: (1/7/08, SMR) Array command remembers all settings in preferences (Bug #1527).

BUG: (1/6/08, DN) Compilation error in TechPool on Java 1.5.
FIX: Copy AbstarctMap.SimpleImmutableEntry class from Java 1.6 into database.text directory.

IMP: (1/5/08, DN) Added TechPool class which is a map from TechId to Technology.

BUG: (1/3/08, SMR) Adding AC or DC signals to the waveform window brings
     them up in a Transient panel, and they are not remembered (#1469).
FIX: Set the panel type correctly when creating them.

BUG: (1/3/08, SMR) Node/Arc/Export Properties sometimes truncates data.
FIX: Must pack dialogs when reloading them.

BUG: (1/3/08, DN) Crash reading HSpice ".mt0" file.
FIX: In HSpiceOut.addMeasurmentData prepare common "time" array.

IMP: (1/3/08, SMR) Improved "Select All/Next/Previous Like This" to handle
     text attributes (Bug #1519).

IMP: (1/3/08, DN) All *Id modules are moved to database.id package.

BUG: (1/3/08, SMR) Geometry extraction fails to handle rotated contacts (Bug #1475).
FIX: Added detection of asymetric contacts.

IMP: (12/28/07, DN) Offscreen buffer in waveform window is VolatileImage for faster repaint.

BUG: (12/27/07, DN) Dragging main/ext cursors in waveform window is slow when waveforms are large.
FIX: In user.waveform.Panel paint cursors directly to screen instead of offscreen buffer.

BUG: (12/26/07, DN) Ploting of .ac0 (ac analysis ) not working properly (Bug #1522).
FIX: Refactor simulation code so that it handles complex waveforms.
     Only amplitude plot is shown. Phase information is available internally,
     but GUI is still to be changed to show it.

IMP: (12/20/07, RK) Fix NCC regressions. qFourP2 had arc names that depended
     upon case insensitive matching.

BUG: (12/13/07, SMR) Spice still writes too many "'" wrappers (Bug #1452).
FIX: In Spice:replacePortsAndVars() to add quotes only if not already in them.

BUG: (12/17/07, SMR) EDIF input is inconsistent with cell names that start
     with an ampersand (Bug #1455 in the old Bugzilla, #1467 in the new one).
FIX: In EDIF input, all cell names, port names, and net names that start
     with & and a number have the ampersand removed.

BUG: (12/17/07, SMR) VHDL generation of layout transistors may miss the poly connection.
FIX: In GenerateVHDL.addRealPorts(), consider topological equivalences.

IMP: (12/05/07, DN) Only arcs with same name (in case-sensitive sense) are connected into same network.
    Warning if there are arcs with case-insensitive match. (Bug #1398).

For a complete history of changes, going back to the origins of Electric in the early 1980s,
contact Static Free Software.
