			Java Electric change log ( MAIN branch )

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

************************* END OF Version 9.02, GNU RELEASE *************
************************* Version 9.02-k: ******************************

BUG: (6/26/12, SMR) Crossprobing not working from waveform to schematic (Bug #3907).
FIX: In WaveformWindow.WaveformWindowHighlightListener.highlightChanged()
     fix search for EditWindow.

BUG: (6/21/12, SMR) Electric doesn't export GDS with holes right (Bug #3813).
FIX: Do not break polygons into segments if hole is detected.

BUG: (6/18/12, GVG) [Bug 3882] Multi-threaded ERC and new machine with many cores (Bug #3882)
FIX: No fix/solution yet. Just synchronizing RTNode.Search.nextObject if that solves the
possible locking condition with many threats. No study yet on the performance impact.

BUG: (6/15/12, GVG) NPE in ErrorLogger when export request comes from regression (Bug #3884) 
FIX: Detect the cases when GUI is not present.

************************* Version 9.02-j: ******************************

BUG: (6/14/12, SMR) Want Sun/Static Timing Analysis Verilog output to ignore
     Verilog views (Bug #3883).
FIX: Added internal Verilog preference to skip Verilog views.

BUG: (6/13/12, GVG) IO exception due to greater number of metals (Bug #3880) 
FIX: Changes to deal with metal13 related structures including functions and arc functions.
No more DRCMode based on NumMetals since it doesn't scale well and not needed for smaller
technologies (<90nm)

BUG: (6/13/12, SMR) Scan Chain generator mangles names (Bug #3881).
FIX: Added option to not-mangle the names.

BUG: (6/12/12, GVG) Status bar doesn't update if you change the tech in a cell (Bug #3855) 
FIX: Another implementation: solution in StatusBar code as any attempt in Cell.java:describe() breaks other code

BUG: (6/12/12, SMR) Vector cache crashes when new technology has more layers than last (Bug #3878).
FIX: In VectorCache.addBoxesFromBuilder() test for max layers in technology.

BUG: (6/11/12, GVG) Status bar doesn't update if you change the tech in a cell (Bug #3855) 
FIX: Adding tech in case of displaying a cell instance whose tech is different from the current one.

BUG: (5/31/12, GVG) StackOverflowError while duplicating cells with expanded subcells (Bug #3861)
FIX: Getting CellRevision from the appropriate CellId.
 
BUG: (5/31/12, SMR) Playing with global overrides in Sun menu commands (Bug #3860).
FIX: Removed override.

BUG: (5/30/12, GVG) Electric doesn't check if a soft tech was already defined as known (Bug #3857)
FIX: Report error if soft tech is already defined in TechFactory.getKnownTech.

BUG: (5/30/12, SMR) Must warn that removing a technology is delayed (Bug #3850).
FIX: Added warning to manual and Added Technologies preferences.

BUG: (5/29/12, GVG) NPE in library file (edit)  (Bug #3856)
FIX: Detecting the null case in ReadLibrary. No menu if the URL is null

BUG: (5/29/12, SMR) Do not show memory usage in status bar when hierarchical
     traversal being done (Bug #3854).
FIX: Fixed StatusBar.updateUsedMemory().

BUG: (5/27/12, DN) Earlier check that selectedExport is linked (Bug #3853)
FIX: Avoid non-linked export in EditWindow.

BUG: (5/25/12, GVG) NPE in Interactive Router (Bug #3852) 
FIX: Similar null detection for the zero degree case as in 90 degree

BUG: (5/24/12, SMR) Need better tools to reconfigure the component menu (Bug #3827).
FIX: The Component Menu Preferences panel now has additional commands:
     1) splitting a tall column in two
     2) swapping two columns
     3) rotating the elements in a column (up or down)
     4) the ability to drag-and-drop component menu entries to rearrange them

BUG: (5/24/12, SMR) Quick-key "&" conflicts with layer visibility commands (Bug #3847).
FIX: "Repeat Last Command" is now F7.

IMP: (5/23/12, GVG) The usage of LIBDIR and what is considered a valid path (Bug #3837) 
FIX: Added mainLibDirectory+LIBDIRS path to the potential dir candidates.

BUG: (5/22/12, SMR) Must change GNU headers (Bug #3849).
FIX: Changed.

BUG: (5/22/12, GVG) Rearrange tech palette if number of rows is > 20 (Bug #3827) 
FIX: Done in the tech editor wizard to calculate the number of sections (3 columns of 20 items each)

BUG: (5/22/12, GVG) Too large coordinates (Bug #3829).
FIX: Modifications in private repository

BUG: (5/22/12, DN) Too large coordinates (Bug #3829).
FIX: Mark EPoint constructor as deprecated. Replace some calls of the constructor.

BUG: (5/22/12, GVG) Too large coordinates (Bug #3829)
FIX: Replaced new EPoint() with EPoint.fromLambda()

************************* Version 9.02-i: ******************************

BUG: (5/17/12, GVG) TechEditWizard test not running (Bug #3840) 
FIX: Changes for this to avoid the assertion but mocmos test doesn't run.

BUG: (5/17/12, SMR) Need H-tree router for clock distribution (Bug #3845).
FIX: Initial version created.

BUG: (5/17/12, SMR) Cross-library copy fails when a blank line is selected (Bug #3844).
FIX: Skip blank lines.

BUG: (5/17/12, SMR) DEF import should optimize when ignoring interconnect (Bug #3843).
FIX: Now ignores entire block if not reading interconnect.

BUG: (5/17/12, GVG) NPE if new tech in test can't be created (Bug #3842) 
FIX: Detecting the case

BUG: (5/17/12, SMR) Spice output writes separate subcircuits for each position
     in the hierarchy if there is a syntax error in an attribute (Bug #3839).
FIX: Detect the syntax errors and print warnings.

BUG: (5/17/12, SMR) Recent LEF changes altered regressions (Bug #3834).
FIX: Must let width information carry-over from LEF import.

BUG: (5/17/12, SMR) Redisplay crashes when libraries change (Bug #3838).
FIX: Tests for null pointers in LayerDrawing, PixelDrawing, and VectorCache.

BUG: (5/16/12, SMR) DEF reader cannot handle quoted square brackets (Bug #3833).
FIX: Now converts them to underscores.

BUG: (5/16/12, SMR) DEF should handle missing cells (Bug #3828).
FIX: Now have DEF preference "Make dummy cells for unknown cells".

BUG: (5/15/12, GVG) NPE in DEF reader for variable that is shared with LEF (Bug #3832)
FIX: Move initialization to initializeLEFDEF()

BUG: (5/15/12, GVG) Wrong version after Ant migration (Bug #3830)
FIX: As of from now, we must update version in Version.java.

BUG: (5/15/12, SMR) Redisplay clears screen when technologies are added (Bug #3821).
FIX: In VectorCache.clearCache(), add call to forceRedraw().

BUG: (5/14/12, SMR) Redisplay still updates windows that didn't change (Bug #3706).
FIX: Fixed redisplay to only work on changes.

BUG: (5/14/12, GVG) LEF doesn't consider pure node for overlap layers (Bug #3826)
FIX: Added code to search for pure node. Similar to case when is sought by name.

BUG: (5/14/12, GVG) Memory issue while importing LEF with two different technologies (Bug #3825)
FIX: Cleaning the layers map, similar to the widths and vias values

BUG: (5/11/12, GVG) NPE when pattern in EGraphics constructor is null (Bug #3822)
FIX: Detecting the case. Assigning null pattern in that case.

BUG: (5/10/12, GVG) NoSuchElementException if XML tech doesn't define arcs (Bug #3818) 
FIX: Just detecting the case to avoid the exception.

************************* Version 9.02-h: ******************************

BUG: (5/3/12, GVG) Invariant issue in TechEditorWizard if txt file is loaded more than once (Bug #2951)
FIX: Fixed for sometime already. Just marking as release in this version.

BUG: (5/3/12, DN) Better catching of too large coordinate in GDS import (Bug #3405) 
FIX: This has been fixed for a while now. Adding the text here for completeness. 
EPoint inherits from AbstractFixpPoint (Dima's work)

BUG: (5/2/12, GVG) NPE in MarkForEditJob (CVS feature) (Bug #3811)
FIx: NPE condition detected when unmark condition is present in Edit$MarkForEditJob.terminateOK()

BUG: (5/1/12, SMR) I can't paste complex polygon in Electric (Bug #3812)
FIX: Detect if there is trace information in Clipboard:copyListToCell

BUG: (4/30/12, SMR) Waveform Window menu entries crash when there is no Waveform Window (Bug #3810)
FIX: No Waveform window case detected.

BUG: (4/29/12, SMR) Include gds from file and skeleton view (Bug #3809)
FIX: Detect if the subcell is a skeleton view.

BUG: (4/27/12, GVG) Electric can't ready {lay.sk} cells? (Bug #3806)
FIX: Detecting if file has a "double" extension like "lay.sk"

BUG: (4/27/12, GVG) Out of bound while clicking in the About dialog box (Bug #3808)
FIX: Just detecting index=-1

BUG: (4/27/12, GVG) Electric is not properly including SPICE external file with external LVS (Bug #3807) 
FIX: sp.ignoreModelFiles = false in SunAsyncMenu

BUG: (4/27/12, SMR) NPE while importing GDS skeleton view (Bug #3805)
FIX: Detect when CellBuilder is null in skeleton mode

BUG: (4/26/12, SMR) Message "Moved" not longer in status bar as of 9.02e (Bug #3804) 
FIX: Move showCoordinates in EditWindow around

BUG: (4/25/12, GVG) Not proper displayed on gds #/type if gds#=0? (Bug #3411)
FIX: Added more code in the wizard to detect when the GDS value=0 (invalid number). Reset to -1.

BUG: (4/25/12, GVG) Arc generated from extra_layers info should take same function as layer definition (Bug #3652) 
FIX: Get the function value from the associated layer

BUG: (4/24/12, GVG) Not cleaning local variable when loading txt file (Bug #3803)
FIX: Local variables are clean before loading the txt file.

IMP: (4/24/12, GVG) Assertion when trying to read again XML tech file (Bug #3729) 
Added extra printing in debug mode telling the name of the primitive node repeated.

IMP: (4/24/12, GVG) Include line number in case of errors while reading the Tech wizard file

BUG: (4/24/12, GVG) Veriloging more because it can't match names? (Bug #3772)
FIX: Detecting when VModule is actually defined even though the cell name might not match.

IMP: (4/23/12, GVG) Adding line number in the Calibre LVS errors report.

BUG: (4/19/12, GVG) Assertion while importing Calibre LVS errors (edit)  (Bug #3778)
FIX: Adding more condition for instance errors

IMP: (4/17/12, GVG) Extending facility to import LVS Errors from Calibre.

IMP: (4/11/12, GVG) Another place where those warning messages sent to the messages window when a 
library can't be read (Bug #3704). Detect if lib==null in FileMenu.ReadLibrary()

IMP: (4/11/12, GVG) Duplicate Cell Error preventing the reading of the rest of the library (Bug #3662)
Adding information of file where the cell was previously found.

BUG: (4/11/12, GVG) NPE in Undo if GUI can't be started (Bug #3767)
FIX: Catching the null pointer in UserInterfaceMain instead.

************************* Version 9.02-g: ******************************

IMP: (4/10/12, GVG) Adding "mt" to Calibre runs.

BUG: (4/9/12, DN) POLY2CAPAC,OPENEDT2 and OPENEDT3 not in Technology.xsd (Bug #3758).
FIX: Update PrimitiveNodeFun and NodeLayerStyle in Technology.xsd .

IMP: (4/9/12, GVG) Facility to import LVS Errors from Calibre.

BUG: (4/5/12, SMR) NPE in Waveform window (Bug #3739).
FIX: Fixed WaveformWindow.WaveFormDropTarget.drop().

IMP: (4/4/12, DN) Move electric-utils from plugins to electric.

BUG: (4/4/12, GVG) NPE when adding signal to simulation done with test HSpice2 (Bug #3739)
FIX: Detect when no collection is found from collection name.

BUG: (4/4/12, GVG) Few NPEs while testing WaveformTests (Bug #3738)
FIX: Detect the cases where the library can't be read.

BUG: (4/4/12, SMR) Cell names can be changed to have spaces in them (Bug #3737).
FIX: Unified cell name checking into Cell.isBadCellNameCharacter().

BUG: (4/4/12, SMR) Circles lose partial degrees when changed (Bug #3736).
FIX: Fixed CircuitChangeJobs.PossibleVariables to include circles.

IMP: (4/2/12, GVG) Get Electric to abort big import DEF job (Bug #3691).
More places to abort the job: readNet()

BUG: (4/2/12, GVG) Invalid notches errors after fixes done for 3685 (edit) (Bug #3714)
FIX: Catching properly corner case where 1 geometry is single point rather a valid area 
in Quick:getIntersectionToPolygon(). You need changes in electric-utils as well.

BUG: (4/2/12, SMR) Cell parameters "Copy From Cell" doesn't get attributes (Bug #3730).
FIX: Include attributes as well as parameters.

BUG: (3/29/12, SMR) Pointer arrow missing when highlight is off screen (Bug #3718).
FIX: In Highlighter.ensureHighlightingSeen() allow all types of highlights.

IMP: (3/28/12, GVG) New entry in private menu

BUG: (3/28/12, SMR) Verilog crashes when schematic and icon ports don't match (Bug #3716).
FIX: Do not pursue missing exports.

BUG: (3/27/12, GVG) Merge two ways of marking standard cells (Bug #2174)
FIX: Removing "Mark Current Cell as Standard Cell" from private menu.
Forcing people now to use the Cell -> Properties menu

BUG: (3/27/12, GVG) Verilog can't parser  "assign #<delay> a=b" (Bug #3715)
FIX: Adding extra conditions to deal with tilde, hash and expressions in parseAssign.

BUG: (3/26/12, DN) Ability to detect invalid files due to CVS merge problems (Bug #3713).
FIX: In Export.newInstanceNoIcon detect this case.

BUG: (3/26/12, GVG) Merge two ways of marking standard cells (Bug #2174)
FIX: Removing "Set Verilog Standard Cell Template" from private menu

************************* Version 9.02-f: ******************************

IMP: (3/23/12, GVG) Those warning messages sent to the messages window when reading 
a library that doesn't exist (Bug #3704). Detect properly if ReadProjectSettingsFromLibrary runs successfully,

BUG: (3/23/12, GVG) Ability to continue launching Electric even though there are issues with some plugins (Bug #3705)
FIX: Catching the error, printing stack in debug mode. Also catching if IRSIM is available in boolean
variable to avoid multiple calls.

BUG: (3/22/12, DN) Redisplay is slow after working at some level of hierarchy and then going up (Bug #3710).
FIX: First fix is to remove reference to CellBackup in VectorCache.VectorCellDef.
    HighlightLine references WindowFrame by WeakReference.
    Remove entries in UserInterfaceMain.savedHighlights when EditWindow is closed.
    Fix bounds calculation in AbstractCellDrawing.setClip.
    Return redraw of highlights from render thread to swing thread.

BUG: (3/22/12, SMR) Copy/pasting cell attributes UI is bad (Bug #3709).
FIX: Warn about not duplicating attributes; draw line at target.

BUG: (3/21/12, GVG) NPE in EditWindow.invokeRenderJob (Bug #3708)
FIX: Detect the null EditWindow

IMP: (3/21/12, SMR) GDS can now skeletonize input and merge back with output (Bug #3707).

IMP: (3/21/12, DN) LayerDrawing better draws layers with empty pattern (like prBoundary).

BUG: (3/19/12, DN) ClassCastException accessing SpecialSelectionPort as Export (Bug #3703)
FIX: Fix methods genShapeOfNoe in Schematics technology to return correct ports.
  Rollback changes in NodeInst.

BUG: (3/19/12, GVG) ClassCastException accessing SpecialSelectionPort as Export (Bug #3703)
FIX: Detecting the case in ClickZoomWireListener and NodeInst.

BUG: (3/19/12, SMR) Spice preferences cannot control writing of empty subcircuits (Bug #3702).
FIX: Now in the preference, and it controls CDL as well.

IMP: (3/18/12, DN) Electric activates unstable feature when Java property "electric.unstable" is true.
  It is enabled by java command-line switch "-Delectric.unstable=true".
  About dialog shows more info about search results of ServiceLoader providers.

BUG: (3/18/12, DN) Exception while deleting pins (Bug #3699).
FIX: In database.constraint.LayoutCell check for unlinked node.
  In connectivity methods of CellRevisionJ check for unlinked nodes in debug mode.

BUG: (3/16/12, DN) CircuitChangeJobs.eraseObjectsInList causes a crash in CellReviisonS.getNodeInfo (Bug #3698).
FIX: In CircuitChangeJobs.eraseObjectsInList check for unlinked NodeInst.
  In NodeInst.hasExport/NodeInst.getNumExports/NodeInst.getExports return false/0/empty for unlinked NodeInst.
  In CellRevisionS throw exception for unlinked NodeInst.

BUG: (3/15/12, DN) Jelib reader doesn't unquote node and arc names (Bug #3697).
FIX: In JelibParser.parseNode and in JelibParser.parseArc call unQuote with proper arg.

BUG: (3/15/12, SMR) DEF reader crashes in regressions (Bug #3696).
FIX: Fixed testing for abort.

BUG: (3/15/12, DN) Edit->Change loses polygon shape (Bug #645).
FIX: In ReplaceBuilder.replaceNode copy variables and outline trace.

BUG: (3/15/12, DN) Exception when renaming library (Bug #3694).
FIX: In CellRevisionS.lowLevelWith don't try to reuse connectivity data after Cell or Library rename.

BUG: (3/14/12, DN) UnsupportedOperationException when peeking into Cell (Bug #3693).
FIX: In EditWindow.repaintContents use mutable rectangle.

BUG: (3/14/12, SMR) Want to abort DEF import (Bug #3691).
FIX: Fixed.

BUG: (3/14/12, SMR) Need better LEF reader (Bug #3690).
FIX: Fixed LEF/DEF layer reader and LEF Pin reader.

BUG: (3/13/12, GVG) Assertion in DRC (Bug #3689)
FIX: The condition should not be an assertion. Sending the message in debug mode

BUG: (3/12/12, SMR) Redisplay crashes with icon/schematic issues (Bug #3687).
FIX: More testing for valid arguments to NodeInst.findPortInstFromProto().
   Create a method NodeInst.findPortInstFromEquivalentProto().

BUG: (3/9/12, GVG) Notches in non-Manhattan geometries (Bug #3685)
FIX: Better point selection when geometries are not Manhattan.
Changes in Quick:findInterveningPoints()

************************* Version 9.02-e: ******************************

BUG: (3/8/12, SMR) Redisplay crashes when cell doesn't exist (Bug #3684).
FIX: Fixed PixelDrawing.drawImage() to check for dead cells.

IMP: (3/6/12, GVG) java.io.IOException: Duplicate cell (Bug #3661
This is similar to Bug #3662. Extra code to print e.getMessage()rather that
stack trace in case of failure. Discussion continues in Bug #3662

IMP: (3/6/12, GVG) Avoid the exception printout in non-debug mode (Bug #3651)

IMP: (3/6/12, GVG) ERROR while reading resource: latchesL (Bug #3653)
Just don't print the error message in this particular case since it is experimental.

BUG: (3/6/12, GVG) Failure to save file not properly handled (Bug #3650)
FIX: Catching the failure in DELIB.writeCell properly. Error was not
evaluated by JELIB.writeLib()

BUG: (3/6/12, SMR) Eagle, ECAD, and Pads fail regressions (Bug #3675).
FIX: Look for variables on Schematic exports, not Icon.

BUG: (3/6/12, SMR) NonManhattan wiring crashes (Bug #3678).
FIX: Fixed incorrect logic in InteractiveRouter.getConnectingPoints() and added tests.

BUG: (3/5/12, SMR) "Select Object" draws badly when there are two windows on the cell (Bug #3664).
FIX: Must handle fact that two windows on one cell has only one highlighter.

BUG: (3/3/12, DN) Exception from Export->ShowPortsOnNode for cell with no exports (Bug #3673).
FIX: In ExportChanges.showPortsAndExports check for empty ports list.

BUG: (3/3/12, DN) Following port in lower level going up hierarchy error (Bug #3670).
FIX: In EditWindow.upHierarchy check that selectedExport is linked.

BUG: (3/2/12, SMR) Want Verilog writer to avoid re-declaring signals
     already mentioned in "Verilog declaration" (Bug 3663).
FIX: Examine declarations and remove from automatic generation.

BUG: (3/1/12, SMR) "Instance name" visibility doesn't work (Bug #3647).
FIX: Removed it from Layers tab.

BUG: (3/1/12, SMR) Vector cache crashes (Bug #3659).
FIX: Fixed VectorCache.renderPoly().

BUG: (3/1/12, SMR) Layer drawing fails when width=32 (Bug #3660).
FIX: Fixed AlphaBlender.composeLine().

BUG: (3/1/12, DN) DELIB reader forgives duplicate cells (Bug #3657).
FIX: Don't forgive duplicate Cells.

BUG: (3/1/12, DN) Exception while attempting to write scan chain XML file (Bug #3655).
FIX: Better diagnostics in ScanChainXML when Jtag Controller is undefined.

IMP: (2/29/12, GVG) Adding arc and pin to AP layer in tsmc40 tech.

BUG: (2/29/12, DN) Out of Bounds Exception (Bug #3648).
FIX: In CellRevision.with consider cases when all arcs or nodes are deleted.

IMP: (2/28/12, GVG) Better catching of invalid rule name in Tech.txt file used in Wizard (Bug #3413)

IMP: (2/28/12, GVG) Automatically highlight annotation when it gets created by makeTemplate (Bug #3645)

IMP: (2/28/12, SMR) "Change" dialog now has option to evaluate numbers
     when sorting names (Bug #3646).

IMP: (2/28/12, SMR) "Show Network" now shows like-named nets in other cells
     (in the same cell group) that are being displayed (Bug #3603).

IMP: (2/27/12, GVG) Make Layout Text/Image only for Layout technologies (Bug #3643)

BUG: (2/27/12, GVG) Check error for arc in 3D (Bug #3606)
FIX: Better warning messages when nodes/arcs are flat and can't be displayed in
3D.

BUG: (2/27/12, SMR) "Select Object" doesn't work right if multiple networks
     have the same name (Bug #3603).
FIX: SelectObject.java must track the object, not just the name.

BUG: (2/27/12, SMR) Vector cache doesn't update cell instances properly (Bug #3625).
FIX: Fixed RTNode search of entire tree.

BUG: (2/25/12, SMR) Cell variables are not drawn in new vector cache (Bug #3627).
FIX: Label and update cell variables.

BUG: (2/24/12, GVG) Still "accessed from null" (Bug #3587)
FIX: Values are cached now.

IMP: (2/24/12, GVG) Ability to control the GDS file used by external connection to Calibre (Bug #3629)
This feature doesn't go into the manual.

IMP: (2/24/12, GVG) Ability to specify file in Set Netlist Cell from File (Bug #3628)

BUG: (2/24/12, GVG) NPE in MakeTemplate (Bug #3626)
FIX: Just detect the case when the cell is null and abort the job.

BUG: (2/24/12, DN) Crashes when moving cell group to a different library (Bug #3622).
FIX: In VectorCache.updateVectorCache check if killed Cell was in cache.

BUG: (2/23/12, SMR) Dragging cells to a different window doesn't update focus (Bug #3624).
FIX: Request focus correctly in PaletteFrame.PlaceNewNode.terminateOK().

BUG: (2/23/12, SMR) Crashes when moving cell group to a different library (Bug #3622).
FIX: Must check return value of Cell.getCellGroup() everywhere.

BUG: (2/23/12, SMR) Crashes when editing cell with a deleted export (Bug #3623).
FIX: In SnapshotAnalyze constructor, test for null Export.

BUG: (2/22/12, SMR) Keys getting lost (Bug #3612).
FIX: Rework of key handler (may not solve problem).

BUG: (2/22/12, DN) Edit->Change throws exception (Bug #3619).
FIX: In ReplaceBuilder.CellBuilder.commit add condition "oldArcIndex < arcInsertionPoint".

BUG: (2/16/12, SMR) Status bar doesn't update after a click, only a mouse move (Bug #3609).
FIX: Added status bar update to ALL mouse listeners in EditWindow.java

BUG: (2/22/12, DN) New display algorithm doesn't always show cells correctly (Bug #3620).
FIX: In LayerDrawing.drawCell consider orientation when prepare bounds for R-Tree search.
     Also fixed VectorDrawing.render() to consider orientation.

IMP: (2/21/12, SMR) "Manipulate Exports" and "Manipulate ports on node"
     dialogs are now modeless and can "show" or "highlight" (Bug #3600).

************************* Version 9.02-d: ******************************

IMP: (2/29/12, GVG) Adding arc and pin to AP layer in tsmc40 tech.

IMP: (2/20/12, DN) Remove class CellBackup.Memoization .

IMP: (2/18/12, DN) Faster Node Change when "all in cell" is selected.

BUG: (2/17/12, GVG) NPE in EditWindow:upHierarchy (Bug #3611)
FIX: Catching the NPE condition. Added println in debug mode for further analysis

IMP: (2/16/12, SMR) Rotate command now works on text (Bug #3597).

BUG: (2/16/12, SMR) Deleting an export doesn't report properly (Bug #3610).
FIX: Fixed CircuitChangeJobs.DeleteSelected.doIt().

BUG: (2/16/12, SMR) Status bar doesn't update when a different port is selected
     on the same node (Bug #3609).
FIX: Removed highlighter exclusion from StatusBar.java

IMP: (2/14/12, DN) Refactor database.text.Name into abstract class and implementation.

BUG: (2/14/12, DN) NPE in Edit->Change (Bug #3607)
FIX: NodeInst.Replacement.getAssoc catching if newProto is null

BUG: (2/14/12, GVG) NPE in Edit->Change when changing arcs (edit)  (Bug #3608)
FIX: Catching if np is null

IMP: (2/14/12, DN) Save Felix's dependency injection in branches/felix-injection .

BUG: (2/13/12, GVG) File exception due to no write permission by log4j (Bug #3387)
FIX: Refactored some classes and clean the code where the OS was hard-coded.

IMP: (2/13/12, GVG) Better description of external scripts running under the AsyncMenu

IMP: (2/9/12, DN) Lookup IRSIM and Scala layout merger by ServiceLoader.

BUG: (2/8/12, SMR) Huge cells take too long to redisplay (Bug #3598).
FIX: Added R-Trees to VectorCache and eliminate drawing of cells less than 1 pixel big.

IMP: (2/7/12, DN) Refactor ImmutableLists of ImmutableNodeInsts, ImmutableArcInsts, ImmutableExports.
  A class CellRevisionProvider that creates instance of ImmutableLists.

IMP: (2/6/12, DN) Guard by Job.getDebug() some self-checks in Network code.

IMP: (2/5/12, DN) CellRevision allocates less memory for Cells that haven't been edited.
  ImmutableNet uses nodeIndex and arcIndex from CellRevision.

BUG: (2/3/12, GVG) Small defect error after running multiple times DRC? (Bug #3588)
FIX: Stop DRC if zero width arc is detected since other errors might be triggered.

BUG: (1/30/12, SMR) LEF and DEF files must be read together (Bug #3586).
FIX: LEF reader stores vias in library for use by DEF reader.

************************* Version 9.02-c: ******************************

IMP: (1/26/12, SMR) Rolling the mouse wheel in zoom mode now works (Bug #3584).

IMP: (1/25/12, SMR) Improved icon generation for layout to aggregate busses
     and keep aspect ratio (Bug #3582)

BUG: (1/24/12, SMR) Generating schematics from layout crashes (Bug #3582).
FIX: Fixed ViewChanges.java, and also expanded the "Make Icon" function so that it
     can make an icon directly from a layout.

BUG: (1/22/12, DN) Highlight coloring does not work correctly for coincident layout objects using ctrl-select (Bug #3579).
FIX: Move mouseOverHighlighting from EditWindow.paintComponent to Drawing.paintComponent.

IMP: (1/18/12, SMR) Can now route subcells in SOG router (Bug #3428).

IMP: (1/18/12, GVG) Updating reference to local machine.

************************* Version 9.02-b: ******************************

IMP: (1/12/12, SMR) Shift-middle-drag now lets you drag-out an area
     and select objects in that area, without moving anything (Bug #3569).

BUG: (1/12/12, SMR) Verilog model files with errors crash the netlister (Bug #3568).
FIX: Fixed verilog parser to handle "?" in assigns; fixed Verilog netlister to
     include code that has parse failures.

BUG: (1/9/12, GVG) Wrong min area value for M1/M2? (edit) (Bug #3551)
FIX: The value was relaxed and now taking the first data for Mx.

BUG: (1/5/12, SMR) Verilog reader doesn't handle 1'b1 constants (Bug #3567).
FIX: Fixed CompileVerilogStruct.java to handle it.

BUG: (1/4/12, DN) Router doesn't mark database "dirty"s (Bug #3565)
FIX: In SeaOfGatesHandlers.DefaultSeaOfGatesHook.flush mark changed Library.

BUG: (1/4/12, GVG) Deleting last node of pure arc causes array out of bounds (Bug #3566)
FIX: Detecting if the HighlightEOBJ has valid information of the object.

BUG: (1/4/12, SMR) Node extraction fails when implants are missing (Bug #2401).
FIX: Note missing implants and warn that they may be in subcells and
     can be extracted if Preferences are corrected.

************************* Version 9.02-a: ******************************

BUG: (1/3/12, SMR) Wiring may move endpoints and fail to run arc (Bug #3561).
FIX: Fixed InteractiveRouter.getClosestValue() to keep inside bounds.

BUG: (1/3/12, SMR) Calibre DRC crashes (Bug #3563).
FIX: Fixed CalibreDrcErrors.parseErrorPoint().

BUG: (1/3/12, SMR) Error messages when writing Spice deck for Schematics (Bug #3562).
FIX: In Spice.addNodeInformation(), get network information only if the polygon
     is valid.

BUG: (12/28/11, SMR) Gerber I/O not consistent (Bug #3508).
FIX: Fixed output and input.

BUG: (12/28/11, SMR) Spice waveform plotting crashes (Bug #3556).
FIX: In Stimuli.getMaxTime() check for null simulation engine.

BUG: (12/22/11, SMR) Mouse-over is slow and incorrect (Bug #3554).
FIX: Fixed ClickZoomWireListener.mouseOver().

BUG: (12/21/11, DN) Wrong number of DRC errors in schematics (Bug #3553).
FIX: Return Schematic.schematicDoCheck() to the behavior before the change of node bounds calculation.

BUG: (12/21/11, SMR) Schematic DRC fails with new pin sizes (Bug #3550).
FIX: Fixed Schematic.schematicDoCheck() to test zero-size by comparing with
     the primitive's base rectangle, and only for bus pins.

BUG: (12/21/11, SMR) Status bar doesn't update in MDI mode (Bug #3549)
FIX: In StatusBar constructor, always call Highlighter.addHighlightListener(this).

BUG: (12/20/11, DN) Cross-Library Copy Argument Exception (Bug #3547).
FIX: Specialize ElectricObject.copyVarsFrom to subclasses. NodeInst.copyVarsFrom respects TRACE variable.

IMP: (12/20/11, DN) Calculation of node bounds doesn't require CellBackup.getMemoization() .

IMP: (12/16/11, DN) Calculation of port shape doesn't require CellBackup.getMemoization() .

IMP: (12/16/11, DN) Better scaling of isolated port in schameatic:And/Or/Xor .

IMP: (12/13/11, DN) Database invariant: ImmutableNodeInsts with trace always has Orientation.IDENT .

BUG: (12/13/11, DN) Some primitive ports have negative width.
FIX: Swap lx and hx in
     cmos90:P-Transistor:diff-right
     cmos90:N-Transistor:diff-right
     cmos90:VTH-P-Transistor:diff-right
     cmos90:VTH-N-Transistor:diff-right
     cmos90:VTL-P-Transistor:diff-right
     cmos90:VTL-N-Transistor:diff-right
     cmos90:P-Well-RPO-Resistor:right-rpo
     cmos90:N-Well-RPO-Resistor:right-rpo
     cmos90:P-Poly-RPO-Resistor:right-rpo
     cmos90:N-Poly-RPO-Resistor:right-rpo

IMP: (12/11/11, DN) Methods PrimitiveNode.genShape and PrimitivePort.genShape .

BUG: (12/8/11, SMR) Verilog port-direction analysis is wrong (Bug #3534)
FIX: Better analysis counts the number of outputs on a network.

IMP: (12/1/11, SMR) Added "Global Routing" to Sea-of-Gates routing preferences (Bug #3428).

BUG: (12/1/11, SMR) Technology editor crashes converting Technology to Library (Bug #3520)
FIX: ArcInfo.compactCell() converts ERectangle to Rectangle2D before changing it.

IMP: (12/1/11, DN) Get rid of NodeLayer.fixup .

IMP: (11/26/11, DN) Technologies EFIDO, PCB and RCMOS are defined by xml.

IMP: (11/26/11, DN) PrimitivePort is immutable.

BUG: (11/25/11, FS) Catch NumberFormatException in minarea API, if min area value is a double (Bug #3300)
FIX: Add try and catch for minarea parameter and errorLogger parameter

IMP: (11/24/11, DN) Arc bounds don't consider shrinkage when CellBackup.ARC_BOUNDS_CONSIDER_SHRINKAGE=false.

BUG: (11/22/11, DN) Mouse highlight is slow when a single highlight is selected (Bug #3504).
FIX: In LayerDrawing algorithm redraw connected network in render thread.

IMP: (11/21/11, DN) DBMath.pointInRect on fixed-point point/rect returns exact result
  not considering TINYDELTA.

IMP: (11/20/11, DN) Fixed-point AbstractFixpRectangle.
   ERectangle becomes its subclass. ERectangle doen't store double coordinates.
   Mutable FixpRectangle is another its subclass.
   Geometric bounds are ERectangles. Poly bounds are FixpRectangles.
   R-Tree implementation respects subclasses of AbstractFixpRectangle.

IMP: (11/18/11, DN) FixpTransform is an AffineTrasnsform that can transform fixed-point coordinates.

BUG: (11/16/11, DN) Display algorithms redraw all highlights on every mouse move (Bug #3504).
FIX: LayerDrawing algorithm redraws most highlights on selection change only.
    Mouse-over highlight color has transparency component, because main highlights
    are drawn before mouse-over highlights now.

IMP: (11/16/11, DN) Make Highlighters almost immutable.

BUG: (11/13/11, DN) EditWindow.pulsatingTimer scans all highlights (Bug #3504).
FIX: Highlighter supports a list of "difficult" highlights. Pulsating timer scans them.

BUG: (11/13/11, DN) StatusBar.updateSelected text is called too often (Bug #3504).
FIX: Flags StatusBar.highlighterShown indicates that no update is necessary.
  More accurately track Highlighter.change .

IMP: (11/13/11, DN) Keep Poly points in a special class PolyBase.Point .

IMP: (11/13/11, DN) Technology objects keep coordinates in ECoord objects.

IMP: (11/12/11, DN) Resolution is ECoord object.

BUG: (11/11/11, DN) Deprecated Technology.getFactoryScaledResolution() is still used in GDS.
FIX: Replace by Technology.getFactoryResolution().

BUG: (11/10/11, DN) Serialization error in Cleanup Cell (Bug #3500).
FIX: Remove EditingPreferences field from CircuitsChangeJobs.Reconnect .

IMP: (11/9/11, SMR) Added new context menu entry: "Close All at This Level" to collapse
     the current location in the Explorer tree (Bug #3491).

IMP: (11/8/11, DN) Rename Dimension2D.Double to com.sun.electric.util.EDimension and make it immutable.
     Make it aligned to 2/DBMath.GRID .

BUG: (11/8/11, DN) Users of electric-core library can't compile because of new ElectricPreferences parameters.
FIX: Restore some deprecated method from Version 9.00 .

BUG: (11/8/11, DN) Regressions failed because too much was deleted in revision 13353 .
FIX: Restore method Schematics.getShapeOfPort().

IMP: (11/7/11, DN) Canonize outline of FILLED, CLOSED, OPENED pure layer nodes - removed duplicate adjacent vertices.
     For FILLED and CLOSED consider also same start and end points.
     Sometimes boxes are encoded by 5-point pure layer nodes.
     After canonization ShapeBuilders recognize such nodes as boxes.

IMP: (11/6/11, DN) Remove package com.sun.electric.util.concurrent from electric-core to avoid clash with electric-concurrent.
     The class ElectricWorkerStrategy became an anonymous inner class of Main.
     Rename package com.sun.electric.tool.io to com.sun.electric.util.io in electric-utils to
     avoid clashes with electric-core.
     Move PropertiesUtils and BaseProperties from electric-core to electric-utils.
     Split TextUtils into database-independent com.sun.electric.util.TextUtils in electric-utils and
     database-dependent com.sun.electric.database.text.TextUtils in electric-core .

IMP: (11/5/11, DN) New AbstractShapeBuilder and tis subclasses.
     Uses fixed-point coordinate encoded in longs instead of former double coordinates.

IMP: (11/3/11, DN) Simplify parallel Dijkstra threads in SeaOfGates.
     Winning thread commits route layout. Second thread releases resources.
     So there is no need in special termination actions.

BUG: (11/2/11, DN) Error parsing in XML tech confusing (Bug #3474).
FIX: In TechPool change text of ErrorMessage.

BUG (10/27/11, SMR) Wiring horizontally when grain is 45-degrees is unstable (Bug #3468).
FIX: InteractiveRouter.getClosestAngledPoint().

IMP: (11/2/11, DN)  Repair SeaOfGatesEngineNew3. Remove SeaOfGatesEngineNew and SeaOfGatesEngineNew2.

IMP: (10/31/11, DN) Don't use thread-local EditingPreferences.

BUG: (10/29/11, DN) Cell.CellGroups.equals is true on same-named Cells from different Libraries.
FIX: Cell.CellGroups.equals compares libraries too.

BUG: (10/27/11, DN) Electric starts AWT thread in "-batch" mode.
FIX: Remove "javax.media.j3d.VirtualUniverse" from econfig.xml .

BUG (10/27/11, SMR) Wiring at 45-degree angles doesn't work (Bug #3468).
FIX: InteractiveRouter.planRoute and InteractiveRouter.getConnectingPoints().

IMP: (10/27/11, DN) Release electric-minarea-api-2.1 .
     Add parent projected for minarea implementations:
      electric-minarea-parentjava-0.1
      electric-minarea-parentscala-0.1 .

BUG: (10/26/11, SMR) ALS simulation adds transitions at 200ns (Bug #3467).
FIX: In ALS.addExports() do not put signal at 200ns.  Instead, added new
     Engine method getMinTimeRange() to force window size.

BUG: (10/25/11, DN) Binary jar doesn't contain JMF.
FIX: Change scope of JMF from provided to default.
     Search implementation of MoviceCreator with ServiceLaoder .

BUG: (10/23/11, DN) Poly that contains box is flagged bitRectangle=1 .
     This tag is not cleared after non-Manhattan rotation.
FIX: PolyBase.transform clears bitRectange flag.

IMP: (10/22/11, DN) Methods that access thread-local EditingPreferences are
     replaced by method with explicit EditingPreferences parameter. Old methods are deprecated.

BUG: (10/15/11, DN) Regressions with logging failed.
FIX: In log4j.xml set console Target to System.err .

IMP: (10/14/11, DN) Replace slf4j-log4j12 by slf4j-jdk14 in dependencies of
     electric-core and electric-distribution.

IMP: (10/14/11, DN) Replace Java Logger by slf4j Logger in sources.

BUG: (10/14/11, DN) Electric hangs during startup (Bug #2391).
FIX: In UserInterfaceMain constructor push a dummy Runnable into old EventQueue before
     starting new EventQueue.

IMP: (10/12/11, DN) Move fast JELIB reader from private debug menu to public debug menu.

IMP: (10/12/11, FS) Move minarea debug menus to a public debug menu. Launch Electric
 	with option "-debug"

IMP: (10/11/11, DN) Move electric/electric-test to plugins/electric-utils.

IMP: (10/10/11, SMR) Added "Tools / Generation / Multi-Finger Transistor Cell..."
     to generate cells with multi-finger transistors (Bug #3434).

************************* END OF Version 9.01, GNU RELEASE *************
************************* Version 9.01-e: ******************************

IMP: (9/28/11, GVG) Ability to load other libraries stored in a resource location.
Submenu in LE will appear if given library is available in com/sun/electric/lib/

BUG: (9/28/11, DN) Electric slowly loads huge libraries.
FIX: Don't internalize strings in text.Name .

IMP: (9/23/11, GVG) Moved experimental min area commands under Tool/DRC into
Sun menu until they are well documented.

IMP: (9/15/11,SMR) Routing improved: honors horizontal/vertical layer
     usage; has debugging mode for failed-route visualization; has
     "selection" preference for routing mode that disables topology
     changes (Bug #3428jn).

BUG: (9/15/11, SMR) Verilog conversion to rats-nest fails for layouts
     that come from Verilog with busses (Bug #3427jn).
FIX: When in "schematic" mode, allow unrouted arcs if wires don't fit.

IMP: (9/13/11, DN) Clean plugin artifacts for new maven repository. New plugin versions are:
  electric-parent-5
  electric-irsim-api-0.1
  electric-minarea-api-2.0
  electric-movie-api-1.1
  electric-irsim-0.3

  electric-movie-jmf-1.0 is disabled because jmf-2.1.1e is not in central maven repository.

IMP: (9/13/11, DN) Remove deprecated method from electric-minarea-api.ErrorLogger interface.

IMP: (9/10/11, DN) Clean maven pom.xml's for new maven repository.
  Remove unused dependency on minarea-deltamerge0 from electric-sunlabs.
  Don't create jar-with-dependencies in electric-minarea implementations.

IMP: (8/19/11, GVG) Better handling of assertion in TechEditorWizard (Bug #3410)
Printing string with parser error. Exception only in debug mode.

BUG: (8/16/11, GVG) ArrayIndexOutOfBoundsException in tech wizard (Bug #3404)
FIX: Detecting when via size mismatches with metal size while uploading txt file with
tech information.

BUG: Scala don't work in Eclipse 3.7 (Bug #3378jn)
FIX: Remove unnecessary test cases in electric-merge to fix the compile cycle in Eclipse 3.7

IMP: (8/3/11, SMR) Improvements to LEF/DEF reader (Bug #3386jn).

IMP: (7/21/11, GVG) It would be good to add a reminder in the manual that (Bug #3375)
those "accessed from JavaBsh script" messages can't be avoided

BUG: (7/21/11, FS) Fix javadoc issues with doc-files (Bug #3376)
FIX: add the necessary information to the pom.xml file

BUG: (7/19/11, SMR) HSpice output with multiple TR files crashes if the files
     have multiple sweeps in them (Bug #3368jn).
FIX: Handle all sweeps from all files (may not be right).

BUG: (7/19/11, SMR) "Make Alternate Layout" gives warnings about preferences (Bug #3373jn)
FIX: Removed unused IconParameters declaration in ViewChanges.MakeLayoutView.MakeLayoutVisitor.

IMP: (7/15/11, GVG) Use library name when exporting GDS data with allCells option on (Bug #3369jn)

IMP: (7/12/11, GVG) Little information in case of starting external script
from a non-EditWindow window (Bug #3367jn)
Added extra messages to clarify the execution since external scripts run async'd

BUG: (6/27/11, SMR) Want to be able to force a number of processors in SOG routing (Bug #3219jn)
FIX: Now have Routing preference to force a number of processors.

BUG: (6/16/11, GVG) DRC throws assertion on MOCMOS NPN transistors (Bug #3358jn)
FIX: Detecting the case and avoid the assertion check

BUG: (6/6/11, DN) Rotated nodes connected with rigid arcs constrain badly (Bug #3278jn).
FIX: Fixed LayoutCell.java

************************* Version 9.01-d: ******************************

BUG: (5/9/11, SMR) Missing extension in file read not always resolved (Bug #3152jn).
FIX: Fixed reading file and preferences.

BUG: (5/5/11, SMR) Expansion status gets turned off (Bug #2630jn).
FIX: Fixed many operations (change, rename, etc.)

IMP: (5/5/11, SMR) Initial Gerber export added (Bug #3305).

BUG: (5/4/11, SMR) Expansion state not being used properly (Bug #3302).
FIX: Fixed PostScript, HPGL, SVN, Array, cut/copy/paste, cell package/extract,
    Get-info.  Also added first Gerber output module.

BUG: (5/4/11, SMR) CIF regression crashes (Bug #3303).
FIX: Handle cell expansion tests better.

BUG: (5/3/11, SMR) Cell instance expansion wrong inside Jobs (Bug #3302jn).
FIX: Caching expansion before calling Jobs.

BUG: (5/3/11, SMR) Arcs in lower-levels of HPGL are incorrect (Bug #3296jn).
FIX: Transform arcs appropriately.

BUG: (5/3/11, DN) Assertion while reading minarea file found in simple.tar.gz (Bug #3291)
FIX: In MinArea.convertLayoutCell use Cell.newInstance to avoid creation of CellCenterNode.

BUG: (5/2/11, SMR) Technology editor crashes on bad technology (Bug #3292jn).
FIX: Fixed technology generation to be more informative and forgiving.

BUG: (4/28/11, SMR) Waveform window has memory leak (Bug #3145jn).
FIX: Moved CachingPageStorage to Stimuli and improved cleanup there.

BUG: (4/14/11, SMR) Behavioral Verilog netlists (with Sun menu) should suppress
     parameters on standard cells; should write "parameter" statements for
     cell parameters, and should use those names instead of values (Bug #3050).
FIX: Done in Verilog.java.

BUG: (4/12/11, SMR) Text Preferences doesn't complain about invalid size numbers (Bug #3039).
FIX: Check number validity.

BUG: (4/11/11, SMR) IRSIM waveform window resets all signals at 10ns (Bug #3048).
FIX: Fixed Analyzer.convertStimuli() and also Panel.setXAxisRange.

BUG: (4/11/11, SMR) Verilog compiler should ignore behavioral code (Bug #3049).
FIX: Ignoring "initial begin" blocks.

************************* Version 9.01-c: ******************************

IMP: (4/6/11, SMR) New GDS Export Preference: "Export all cells in Library" (Bug #3047).

BUG: (4/4/11, SMR) Want to reduce the number of Verilog compilers (Bug #2991).
FIX: Switched all Verilog compilation to the new one.

BUG: (4/4/11, SMR) Want to convert Verilog to schematics (Bug #3046).
FIX: Added Verilog preference to choose the cell type.

BUG: (3/30/11, SMR) Existing Verilog parser crashes (Bug #3032).
FIX: Switching the "File / Import / Verilog" command to use the new Verilog parser.

BUG: (3/29/11, SMR) Text Preferences gives error if sizes is blank (Bug #3039).
FIX: Do not change size if new value is invalid.

IMP: (3/27/11, DN) Add command "TOool|DRC|check minarea...".

BUG: (3/9/11, SMR) Mirroring a node with the "getinfo" dialog doesn't adjust
     text that is offset and non-centered (Bug #3042).
FIX: Added calls in GetInfoNode.ChangeNode.doIt() to use CircuitChangeJobs methods.

BUG: (3/4/11, SMR) Node "getinfo" dialog doesn't work for polygonally-defined nodes (Bug #3041)
FIX: In GetInfoNode.ChangeNode.doIt() handle polygonal nodes specially.

IMP: (3/2/11, GVG) How to generate lay files from Electric libraries (Bug #3038)
Scale is set to largest common divisor of all coordinates.

IMP: (3/2/11, GVG) How to generate lay files from Electric libraries (Bug #3038)
Made available export to vectorCache format from ToolMenu/DRC menu.

BUG: (2/25/11, GVG) Exception on verilog netlisting (Bug #3032)
FIX: Moved module reading so anything coming in the file will be ignored and
there is no need to add new parameters. Modules must be defined before they are
instantiated.

BUG: (2/25/11, GVG) Out of Bounds Exception in Verilog reader (Bug #3037)
FIX: Due to parameters now described with instances (start with #). Skipping them now.

BUG: (2/25/11, SR) Verilog external code must appear at beginning of netlist (Bug #3026)
FIX: moved the top-level cell's external code to the top of the file.

BUG: (2/25/11, DN) Add Import minarea test to DRC menu.

BUG: (2/24/11, SMR) Editing text cells in an external editor is broken (Bug #3035).
FIX: Fixed recovery of external editor data. Also added context menu entry
     in Explorer Tree that lets you edit a cell without displaying it first.

BUG: (2/23/11, GVG) exception on verilog netlisting (Bug #3032)
FIX: Added more elements to ignore while parsing the Verilog file

BUG: (2/22/11, FS) exception on verilog netlisting (Bug #3032)

FIX: add the missing libraries to maven.dependencies

BUG: (2/22/11, FS) Add information about the installed plugins to the About Dialog (Bug #2981).
FIX: If Java3d is not installed in the JDK folder, the compilation and the about dialog crashes.

BUG: (2/21/11, DN) Add information about the installed plugins to the About Dialog (Bug #2981).
FIX: Add information about plugins to "About" dialog.

BUG: (2/20/11, DN) Manhattan minarea checker can't handle serpentine transistors (Bug #3031).
FIX: In database.geometry.bool.VectorCache recognize Manhattan polygons.

************************* Version 9.01-b: ******************************

IMP: (2/16/11, SMR) Improved "About" dialog to show Electric environment (Bug #3008).

IMP: (2/8/11, SMR) New command "Tools/Placement/Floorplan and Place Current Cell"
    automatically selects appropriate placement sequence from cell characteristics. (Bug #2977).

IMP: (1/31/11, GVG) Make available routing quality metrics as a command (Bug #3027)
Submenu "Routing Quality Metric" was added. It works on current cell.

IMP: (1/31/11, GVG) Adding execution time to WireQualityMetric

BUG: (1/31/11, GVG) exception when attempting to change net name (Bug #3026)
FIX: Defining constructor ArcInstKey() with no parameters.

BUG: (1/31/11, DN) Arc creation is slow (Bug #3016).
FIX: In NodeInst.getShapeOfPort avoid call of getCellTree() when handle shape of subcell ports.

************************* Version 9.01-a: ******************************

IMP: (1/28/11, DN) Set electric-irsim version to 0.1 .

BUG: (1/278/11, SMR) Invalid networks in Sea-of-Gates router are ignored (Bug #3023).
FIX: Remove them and report error in error-log (not messages window).

IMP: (1/27/11, GVG) UnroutedNets and StackedVias metrics for Bug #3013

BUG: (1/27/11, GVG) NPE in Select Object if no cell is in EditWindow (Bug #3024)
FIX: Detecting the null cell

IMP: (1/27/11, GVG) Better ErrorLog Info in SeaOfGates when it can't route nets (Bug #3022)

BUG: (1/27/11, SMR) Infinite loop in sea-of-gates router (Bug #3020).
FIX: DRC loop in SeaOfGatesEngine.advanceWavefront() exits on no-progress.

BUG: (1/27/11, SMR) Sea-of-gates router does not always abort (Bug #3019).
FIX: Pass "job" to all routing methods and use it.

IMP: (1/26/11, GVG) Metrics for routing tool (Bug #3013)

IMP: (1/21/11. GVG) Cells created by Bookshelf importer should use a layout tech (Bug #3005)
     Mocmos will be used as layout tech and m1 pins

BUG: (1/21/11, GVG) ImportBOOKSHELF test doesn't pass (Bug #2996)
FIX: Just updating the data since nothing wrong with the latest generated library.

IMP: (1/20/11, SMR) More Verilog compilation features (Bug #2991).

BUG: (1/12/11, SMR) Placement framework creates invalid arcs (Bug #3014).
FIX: In PlacementAdapter.doPlacement(), compute arc end coordinates.

BUG: (01/07/11, FS) Concurrent modification exception in ForceDirected2 (Bug #3011)
FIX: Use Iterator instead of for-each loop

IMP: (01/6/11, SMR) Added new Placement algorithm for row/column based
     Simulated Annealing (Bug #2977).

BUG: (01/06/11, FS) Unexpected assertion in Genetic Placement 1 (Bug #3010)
FIX: remove assertion

BUG: (01/04/11, FS) Exception in experimental SeaOfGates (Bug #2997)
FIX: Use the electric worker strategy

BUG: (12/18/10, DN) Failure in GDS reader when include text is enabled.
FIX: In input.GDS makeText fix if condition to ulm != null.

BUG: (12/28/10, SMR) Unroute removes well/substrate contacts (Bug #3003).
FIX: In Routing.findNetEnds() allow well/substrate primitives.

BUG: (12/27/10, SMR) Crash when drawing arc (Bug #3006).
FIX: Fixed Highlighter.findAllInArea() to calculate need for temp names only if necessary.

IMP: (12/22/10, FS) Add logging facade and logging environment

Bug: (12/22/10, FS) AStar 2 doesn't care about timeouts
FIX: Add some timeout information

Bug: (12/22/10, FS) Lee Moore 1 doesn't terminate on small designs (Bug #3001)
FIX: Accept small partitions on small designs

BUG: (12/22/10, FS) Lee Moore 1 doesn't care about timeouts (Bug #2999)
FIX: Timeout handling added

BUG: (12/20/10, GVG) Bookshelf reader could not read all files (Bug #2992)
FIX: Detect cases when invalid weight values are found in the file. Assigning Integer.MAX_VALUE

BUG: (12/18/10, GVG) NPE in CompileVerilogStruct with Verilog file generated by Design Compiler (Bug #2994)
FIX: Detect the case and stop the execution.

IMP: (12/13/10, SR) Want to read structural Verilog for place-and-route (Bug #2991).
First changes in.

BUG: (12/12/10, DN) Silicon Compiler can't handle Alliance structural VHDL because of vdd/vss names (Bug #2989).
FIX: Enhance handling power/ground names in CompileVHDL .

BUG: (12/13/10, FS) Eval<Languaga>.java in database package (Bug #2980)
FIX: Java files moved to com.sun.electric.tool.lang and created a JUnit test case

IMP: (12/12/10, DN) CIF reader can read Exports (disabled b io.input.CIF.MAKE_EXPORTS = false.

BUG: (12/12/10, DN) Should the configurator messages be avoided by default (Bug #2978).
FIX: In XmlInitSav.int log with CONFIG level instead of INFO level.

BUG: (12/12/10, DN) Ability to read structural VHDL generated by Alliance (Bug #2988).
FIX: Do necessary fixes in CompileVHDL. Add adder4{vhdl} to Generation regressions.

************************* END OF Version 9.00, GNU RELEASE *************
************************* Version 9.00-r: ******************************

BUG: (12/8/10, DN) CIF reader stops at unknown user commands (like 4 ... ) (Bug #2983).
FIX: In io.input.CIF.parseStatement issue USERS command on unknown user commands.

BUG: (12/8/10, DN) CIF reader numerate lines from 0 in error messages (Bug #2982).
FIX: In io.input.CIF.errorReport use 1-base line numbers.

BUG: (12/8/10, DN) CIF reader truncates layer names to 4 characters (Bug #2979).
FIX: In io.input.CIF.parseStatement() remove 4-characters restriction.

BUG: (12/8/10, DN) Crash if Max Perm Space is set (Bug #2963).
FIX: Launcher launches Launcher with -NOMINMEM instead of Main.

BUG: (12/8/10, DN) electric-core doesn't compile on 64-bit compiler.
FIX: Increase compiler memory from 256m to 384m.

BUG: (12/8/10, SMR) CIF input loses precision in scaled cells (Bug #2971)
FIX: In CIF.java, round values after scaling them.

BUG: (12/7/10, DN) maven.dependencies in electric-core includes electric-sunlabs (Bug #2975)
FIX: Exclude maven.dependencies in huge-jar distribution (bin, gnu, gnubin).

BUG: (12/5/10, DN) javax/media/Manager on MacOSX? No 3D Control dialog?
FIX: Less print when JMF is absent.

IMP: (12/3/10, DN) Repair build in maven-2.3.1 in electric-parent.
     Switch to version com.sun.electric:electric-parent:2

BUG: (12/2/10, GVG) java.lang.OutOfMemoryError while running "mvn install" (Bug #2969)
FIX: Increased maxmem in pom.xml to 256m

IMP: (12/1/10, DN) Rename package com.sun.electric.scala to com.sun.electric.database.geometry.merge .

BUG: (12/2/10, FS) Test errors in BlockedRangeTest (electric-concurrent)? (Bug #2967)
FIX: fix heap size issue

IMP: (12/1/10, DN) Add build.xml and scala runtime to the GNU distributions.

************************* Version 9.00-q: ******************************

BUG: (11/25/10, DN) Too verbose message when there no scala runtime.
FIX: Handle LinkageError during parsing econfig.xml .

BUG: (11/21/10, FS) well check hangs (Bug #2965)
FIX: handle if number of well areas is smaller then number of threads

BUG: (11/19/10, FS) Not possible to set thread number in ERC (Bug #2960)
FIX: Use a preinitialize variable to set #threads

BUG: (11/18/10, SMR) GDS output is bad for polygons with holes (Bug #2957).
FIX: In GDS.outputBoundary() fixed point generation.

IMP: (11/18/10, FS) New task structure in PI

IMP: (11/16/10, DN) Current version and buildDate in Version.java are obtaned by Maven filtering.

IMP: (11/16/10, FS) Handle enums as parameters in the configuration framework

BUG: (11/15/10, SMR) R-Tree is not marked "dirty" when nodes added/removed (Bug #2956).
FIX: Fixed in Topology.java

IMP: (11/14/10, DN) Irsim doesn't import electric classes.

BUG: (11/13/10, DN) Version number must be updated in many places (Bug #2950)
FIX: Request filtering for maven.dependencies .

IMP: (11/10/10, FS) Remove unnecessary system.out: electric-configuration (Bug #2947)

BUG: (11/10/10, DN) Memory leak in IRSIM simulation (Bug #2953).
FIX: Don't keep pointers to Panels, Signals, Listeners in static variables in com.sun.electric.tool.user.waveform .

IMP: (11/9/10, DN) Replace ProgressDialog in electric-irsim by ProgressMonitorInputStream in electric-core.

IMP: (11/9/10, DN) Move electric-jmf to trunk/plugins/electric-movie-api and trunk/plugins/electric-movie-jmf .

BUG: (11/6/10, DN) In samples:tech-MOSISMOS n-transistors are connected to vdd and p-transistors are connected to gnd (Bug #2952)
FIX: Edit samples:tech-MOSISMOS - mirror transistors bottom<->up and rename exports.

BUG: (11/4/10, DN) "ant mac-app" using mvn? Doesn't work for sunlabs (Bug $2948)
FIX: Copy app-resources from electric-distribution to electric-sunlabs.
   This is a quick solution that violates "Don't repeat yourself"

IMP: (11/3/10, DN) Move OpenFile dialog and IOException handling out of IRSIM and ALS Engines.

IMP: (11/3/10, DN) Add com.sun.electric.api.movie.MovieCreator API .
  Wrap JMFImageToMovie in com.sun.electric.plugin.JMF.MovieCreatorJMF .

IMP: (11/2/10, DN) Create release of com.sun.electric:electric-parent:1 .
    Tag it in "https://svn.sunlabs.com/svn/electric/tags/electric-parent-1 .
    Upload this pom artifact to java.net repository .
    Switch "trunk/electric/pom.xml" to use electric:parent:1 instead of electric-parent:1-SNAPSHOT .

IMP: (10/31/10, DN) Make pom hierarchy similar to Maven (add trunk/electric/electric-distribution) .

IMP: (10/31/10, DN) Set project version in maven pom.xml files to 9.00-q-SNAPSHOT .

BUG: (10/31/10, FS) ArrayIndexOutOfBoundsException in Parallel Infrastructure (Bug #2945)
FIX: Fix parallel for work distribution

IMP: (10/30/10, DN) distro is created only when profile -Pdistor is activated .
   The electric launcher "trunk/electric/electric-core/target/electric-core-SNAPSHOT.jar"
   loads other components from local maven repository.

IMP: (10/30/10, DN) One more assembly target "distro" .
    This is a directory with all jars and unix/windows scripts to launch the main jar.
    Scripts were derived from maven startup scripts.
    Distro is invoked by scripts trunk/electric/target/electric-9.0-SNAPSHOT-distro/bin/electric[.bat]

BUG: (10/29/10, DN) "ant mac-app" using mvn? (Bug $2948)
FIX: Reorganize maven projects a little. The parent of all maven projects is electric/electric-parent .
     Project electric is a container of subprojects and a project to package huge jar.
     Insert a call of osxappbundle-maven-plugin into pom.xml as a template for Gilda .

BUG: (10/28/10, FS) econfig.xml information printed not only in debug mode (Bug 2946)
FIX: removed, because it is not really necessary

************************* Version 9.00-p: ******************************

BUG: (10/20/10, DN) Make syntax of Electric version compatible with maven version (Bug #2943)
FIX: Dash is allowed in Version string. The current version is renamed to "9.00-p" .
     Library writers still write version in old format.

IMP: (10/20/10, SMR) GDS import can handle references to existing libraries (Bug #2942).

BUG: (10/19/10, DN) GDS import is all zero-size (Bug #2941).
FIX: Constructors of all subclasses of Input.InputPreferences respect parameter "factory" now.

BUG: (10/19/10, FS) Why did we add the xxxMB/yyyMB text on the bottom bar? (Bug #2940)
FIX: Show memory usage only in debug mode + fix license issue

BUG: (10/19/10, SMR) GDS import is all zero-size (Bug #2941).
FIX: In FileMenu.ImportLibrary constructor, restore call to initFromUserDefaults().

IMP: (10/18/10, SMR) Updated author information in About dialog (Bug #2937).

IMP: (10/18/10, SMR) Standardized error messages for missing components (Bug #2933).

BUG: (10/18/10, SMR) Waveform window and other places show small numbers as zero (Bug #2936).
FIX: Fixed TextUtils.convertToEngineeringNotation().

BUG: (10/14/10, DN) Compiling issue in frehley after last update in main branch (Bug #2935)
FIX: Rename util.config.SetterInject.CreateBy to util.config.CreateBy.

IMP: (10/14/10, FS) Electric-Dependency-Injection: include + parameter + singleton handling

IMP: (10/13/10, FS) Initial version of Electric-Dependency-Injection

BUG: (10/13/10, SMR) "New" graphing commands in Sun Async menu do not compile
     if plugin is missing (Bug #2931).
FIX: Made the code use reflection.

IMP: (10/13/10, DN) Add Spring-less dependency injection environment and use it in ERC again.

BUG: (10/13/10, DN) Some Compaction tests failed on Ubuntu boxes (Bug #2932)
FIX: Launch the compareJob before the QuitJob.

BUG: (10/12/10, SMR) Want to be able to rename Waveform Window signals (Bug #2788).
FIX: Can now double-click over signal name in Waveform Window and rename it.
     Does not rename crossprobed object in Electric...just assigns a new display name in the Waveform Window panel.

BUG: (10/11/10, DN) java -jar electric.jar doesn't longer work (Bug #2927)
FIX: In Launcher.initClasspath check for null combinedArray.

BUG: (10/11/10, SMR) Spice should not write OPTIONS NOMOD NOPAGE line (Bug #2925).
FIX: Removed the line from Spice.java.

BUG: (10/11/10, SMR) Postscript output fails for colored text (Bug #2922).
FIX: Use EGraphics to make colors.

************************* Version 9.00o: ******************************

BUG: (10/12/10, GVG) Main branch doesn't longer compile (jarLight2) after last sync with Maven (Bug #2929)
FIX: Lines causing the compilation failure in Launcher.java commented out.

BUG: (10/12/10, FS) Rollback log4j + commons-logging + spring (Bug #2926)
FIX: rolled back in trunk

IMP: (10/11/10, FS) Add spring environment and use it in ERC for ThreadPool

IMP: (10/11/10, FS) Additional folder handling for experimental stuff

IMP: (10/11/10, FS) Use log4j and common-logging

BUG: (10/8/10, GVG) TextUtils.eatWhiteSpaces v/s String.trim() (Bug #2907)
FIX: Per our discussion, trimLeading removed from the code.

BUG (10/8/10, FS) Strange debug message in CircularArray (Bug #2920)
FIX: debug message removed

BUG: (10/7/10, DN) Display didn't refresh after changing Text Preference from Bug #2790.
FIX: Implement new TextPreference in GraphicsPreferences instead of EditingPreferences.

IMP: (10/6/10, SMR) New Text Preference to show temporary names on nodes (Bug #2790).

BUG: (10/5/10, SMR) Missing technologies in GNU/debug mode should not give errors (Bug #2916).
FIX: Fixed in TechFactory.p().

IMP: (10/5/10, DN) Cleaned maven and trunk builds.

BUG: (10/5/10, SMR) No confirmation dialog when deleting a cell group (Bug #2915).
FIX: Added dialog in ExplorerTree.java.

IMP: (10/5/10, DN) Jar manifest contains SplashScreen-Image and Class-Path attributes.

BUG: (10/4/10, SMR) Interactive resizing allowed when nodes are locked (Bug #2914).
FIX: In SizeListener.sizeObjects() check for change prevention.

BUG: (10/4/10, SMR) Rotating mirrored nodes does not adjust text properly (Bug #2913).
FIX: In CircuitChangeJobs.RotateSelected.rotateText() removed special case
     that depends on the "wasSameMirror" parameter.

BUG: (10/4/10, FS) TextUtils.eatWhiteSpaces v/s String.trim()
FIX: rename TextUtils.eatWhiteSpaces to TextUtils.trimLeading

IMP: (10/3/10, FS) Electric shows used memory and total memory size in status bar

IMP: (10/3/10, DN) Electric tries to add plugins from maven repository on startup.

BUG: (9/30/10, DN) Electric-bundle hangs on machine without java3d.
FIX: Catch NoClassDefFoundError in MenuCommands.makeExtraMenu .

BUG: (9/29/10, SMR) Waveform window may be wrong (Bug #2912).
FIX: In BTreeSignal.BTreeRasterView constructor, adjust requested number of
     samples if it is close to the actual number of samples.

IMP: (9/28/10, SMR) SVG now has preferences panel to specify scale and margin (Bug #2907).

IMP: (9/24/10, DN) Replace calls of plugins.Java3D by similar inline code.

BUG: (9/23/10, SMR) GDS import ignores pins with bad names (Bug #2910).
FIX: Now convert to valid export names.

************************* Version 9.00n: ******************************

IMP: (9/22/10, DN) Refactor PlaceingFrame to isolate from Electric internals .

BUG: (9/22/10, SMR) SVG coordinates are not integers (Bug #2909).
FIX: Adjust transformations to produce integer coordinates.

IMP: (9/20/10, DN) Move Orientation.java to electric.util.math .

IMP: (9/20/10, SMR) Added Spice and Verilog Model Files preferences
     to use or force Verilog views (Bug #2908).

IMP: (9/19/10, DN) Class RoutingFrame.RoutingFramePrefs to control routing preferences.

IMP: (9/17/10, DN) Remove plugin with Russian manual because it is too old.

IMP: (9/16/10, SMR) Can now read multiple Nanosim files (Bug #1413).

IMP: (9/11/10, DN) Move getJarLocation from Launcher to Main.

IMP: (9/10/10, GVG) TechEditor and area rules (Bug #2903)
     MinArea MinEnclosedArea supported now in the txt file.
     Added minarea and minenclosedarea to 40nm tech for more testing.

BUG: (9/8/10, GVG) build.xml and Scala compilation (Bug #2906)
FIX: Forcing "ant -DNOSCALA" and modifications in build.xml to deal with no ScalaProjects dir.

BUG: (9/8/10, GVG) Can't run anymore (Bug #2905)
FIX: Made ElapseTimer serializable plus new GenMath/DBMath imports in tests code

IMP: (9/8/10, FS) Move GenMath and DBMath com.sun.electric.util.math

IMP: (9/8/10, FS) Refactoring: ElapseTimer, use ElapseTimer instead of single
     timestamps. This refactoring removes the function: getElapsedTime, this is
     solved inside the ElapsedTimer

BUG: (9/7/10, SMR) Cannot read simulation output that is broken into multiple
     files (Bug #1413).
FIX: Fixed HSpiceOut.java to read multiple .tr files.

BUG: (9/3/10, FS) StackOverflowError in ERC regression (Parallel.ThreadPool.initialize) (Bug #2902)
FIX: Solve infinite-recursion + added test case for this bug

IMP: (9/2/10, FS) Refactoring of parallel infrastructure: no dependencies to other
     electric packages

BUG: (8/30/10, SMR) Need to warn users who request too much memory (Bug #2900).
FIX: Improved the General Preferences dialog to advise on upper memory limits.

************************* Version 9.00m: ******************************

IMP: (8/28/10, DN) Add Scala LayoutMerger for area check.

BUG: (8/26/10, DN) No time reporting in MTDRC (Bug #2897)
FIX: Print time in MultiTaskJob. Use startJobOnMyResult in DRCToolTest.basicMTDRCTest.

IMP: (8/26/10, GVG) Working on "DRC slow for the tfc chip" (Bug #2851).
Using map instead of list to check cell interactions.

BUG: (8/24/10, SMR) Going down-hierarchy into arrayed schematic node
     doesn't show the path in the status bar (Bug #2890).
FIX: Fixed EditWindow.showCoordinates().

BUG: (8/23/10, DN) Natural sort order of NodeInst is not consistent with order of NodeInsts in a Cell.
FIX: Use TextUtil.STRING_NUMBER_ORDER in NodeInst.compareTo .

IMP: (8/23/10, DN) Methods Cell.addNodes with ImmutableNodeInst args.

BUG: (8/23/10, SMR) Array command gives preference access errors (Bug #2894).
FIX: Made pref class for the creation job.

IMP: (8/23/10, SMR) Improved "Manipulate Exports" dialog to change many
     characteristics at once (Bug #2895).

IMP: (8/23/10, GVG) Working on "DRC slow for the tfc chip" (Bug #2851).
Work done with worstInteractionDistance values.

IMP: (8/21/10, GVG) Working on "DRC slow for the tfc chip" (Bug #2851).
More ways to reduce getShapeOfNode() for only layers with rules.

BUG: (8/20/10, GVG) MDT DRC not properly skipping layers without rules (Bug #2991)
FIX: Applying rules filter during task creation

IMP: (8/20/10, DN) ErrorLogger knows about ImmutableNodeInsts.

BUG: (8/20/10, DN) Round-off errors in NodeInst.setTrace (Bug #2893)
FIX: Use EPoints in NodeInst.setTrace.

IMP: (8/19/10, GVG) Remove class MOSRules (Bug #2880)

BUG: (8/18/10, GVG) NPE in Multi-threaded DRC (Bug #2889)
FIX: Detecting properly non-layout layers (Universal from generic in the particular design)

BUG: (8/18/10, SMR) Rotated nodes do not interactively resize correctly (Bug #2887).
FIX: Fixed in SizeListener.getNewNodeSize().

IMP: (8/18/10, FS) Bookshelf Weights + Bookshelf Header per file (export) +
Speedup export (net list)

BUG: (8/18/10, FS) Simulated Annealing 2 eats up memory without running the tool (Bug #2886)
FIX: create all arrays at execution time of the placement tool (while calling runPlacement)

IMP: (8/18/10, FS) Add immutable list

IMP: (8/18/10, FS) Test of private methods: Annotation TestByReflection

IMP: (8/17/10, GVG) More changes for "DRC slow for the tfc chip" (Bug #2851).
Looking for way to reduce getShapeOfNode() for only layers with rules.

BUG: (8/16/10, DN) Node bounds is incorrect (Bug #2884).
FIX: Let busPinNode always has NodeLayers.

BUG: (8/12/10, SMR) SUE import fails (Bug #2883).
FIX: Fixed importing to make parameters have inheritance and to autostitch when done.

************************* Version 9.00l: ******************************

IMP: (8/11/10, GVG) Improve error message in Verilog when encountering signature problem (Bug #2882)

BUG: (8/11/10, GVG) NPE in Verilog parser (Bug #2881)
FIX: Added handling of nested loops in always statement.

IMP: (8/9/10, GVG) Working on "DRC slow for the tfc chip" (Bug #2851).
Reducing # of calls of Technology.getRuleIndex.

IMP: (8/6/10, DN) Cell.getUniqueNameIndex considers both prefix and suffix.

IMP: (8/6/10, DN) Methods Cell.addExport and Cell.addExports with ImmutableExport args.

BUG: (8/5/10, SMR) Cannot outline-edit hard-to-select nodes (Bug #2875).
FIX: In OutlineListener.mousePressed() set "findSpecial" to true.

IMP: (8/5/10, SMR) Can now use Node Properties to resize a node with outline data (Bug #2873).

BUG: (8/5/10, SMR) Textual HSpice import fails (Bug #2874).
FIX: Fixed reader to handle Text and Binary.

IMP: (8/5/10, FS) Bookshelf exporter

IMP: (8/4/10, JKG) fix bug 2154: update the preferred contact list more often.
Might be too often because tech palette calls the contact prefs code a LOT, but now at least it works.

************************* Version 9.00k: ******************************

BUG: (8/3/10, SMR) Node extraction creates DRC errors (Bug #2829).
FIX: In Connectivity.doExtract() detect off-grid better.
     In RouteElementArc.newArc() avoid using universal arcs

IMP: (8/2/10, SMR) Gerber import alternates layer assignment (Bug #2860).

BUG: (7/30/10, JKG) Hitting escape to cancel a wiring tool action does not reset the highlights (Bug #2842)
FIX: This case was missing in the code for 'escapePressed' in ClickZoomWireListener

IMP: (7/29/10 GVG) Removing deprecated functions in experimental 2 and 3,
new routers codes, Bug #2803

BUG: (7/29/10, DN) NPE in WaveformTests using the GUI (Bug #2868).
    I guess that WindowFrame.finished() should be called from SwingThread only.
    Assertion is added to WindowFrame.finished() .

BUG: (7/29/10, SMR) Vertical waveform axis zero value drawn badly (Bug #2870).
FIX: Fixed in Panel.drawPanelContents().

IMP: (7/29/10, SMR) Added import regressions (Bug #2869).

BUG: (7/29/10, FS) Add "terminal-flag" to electric (Bug #2867)
FIX: Set terminal cells as locked (bookshelf) + propagate terminals to placement nodes
     But: no placement tool uses this information at the moment

IMP: (7/29/10, DN) Skip non-manhattan layers in MANHATTAN mode of DRC area check.

BUG: (7/28/10, FS) ArrayIndexOutOfBoundsException in matrix example
FIX: Data Race on bottom index pointer in UnboundedDEQueue

IMP: (7/27/10, GVG) DRC Warnings reported more than once (Bug #2865)

IMP: (7/17/10, GVG) Getting Waveform script working in regression (Bug #2864)

IMP: (7/26/10, SMR) Added initial waveform window regression tests (Bug #2861).

BUG: (7/26/10, GVG) Exception in Gerber reader because it tries to read wrong file? (Bug #2859)
FIX: Extra filtering of files. Fixed unnecessary concatenation of file path. Removed  topDirName
from gerber files.

BUG: (7/26/10, FS) MultipleQueues + FCQueue not possible
FIX: PJob didn't use all queues for work distribution

BUG: (7/24/10, FS) German umlauts cause compiler warnings
FIX: Use international translation of German umlauts

BUG: (7/24/10, FS) Interrupt Exception in LockFreeStack (Bug #2856)
FIX: Fixed. Save return from backoff algorithm instead of exception.

IMP: (7/22/10, GVG) DRC regression failing due to memory problem in sport test (Bug #2854)
Just disconnecting sport/area/local test since it takes too much time to run.

IMP: (7/22/10, SMR) Added 6 experimental routers from Karlsruhe (Bug #2803).

************************* Version 9.00j: ******************************

IMP: (7/21/10, FS) Add Scheduler Factory to Parallel Infrastructure

IMP: (7/20/10, FS) Add FCQueue proposed by Nir Shavit and integrated the queue
	as a scheduler for the parallel infrastructure.

IMP: (7/20/10, FS) Parallel metrics: bounding box - minimum spanning tree (MST)

BUG: (7/20/10, SMR) Canceling undo warning dialog with ESC fails (Bug #2852).
FIX: Fixed ToolBar.undoCommand.run().

IMP: (7/19/10, FS) Add progress bar to bookshelf import

BUG: (7/19/10, DN) Database regression fails due to UnsupportedOperationException in testMakeGridPoly.
FOX: In ImmutableArcInstTest.MyBuilder implement addIntBox.

IMP: (7/18/10, DN) The last argument of basicDRCTest specifies min area check algorithm.

IMP: (7/18/10, DN) Add min area check algorithm DRCCheckMinArea.AREA_MANHATTAN .
    It is fast, but accepts only manhattan layout.

IMP: (7/17/10, DN) Laze allocation of "sons" in PolyBase.PolyBaseTree ..

IMP: (7/16/10, DN) Fast path for grid-aligned boxes in AbstractShapeBuilder.pushPoly .

IMP: (7/15/10, SMR) Added Spice Opus output format (Bug #2848).

BUG: (7/15/10, SMR) Going up hierarchy can duplicate selection (Bug #2843).
FIX: In WindowFrame.setCellByHistory() and in EditWindow.upHierarchy()
     clear selection before setting new ones.

BUG: (7/14/10, SMR) Restore waveform window functionality (Bug #2846).
FIX: Redid many things.

BUG: (7/13/10 GVG) KeyBehavior not picking arrow keys (Bug #2845)
FIX: Added KeyEvent.KEY_RELEASED as valid ID to accept the event.

BUG: (7/12/10, SMR) Nanosim/Epic waveform reader crashes on bad file (Bug #2816).
FIX: Rewrote Epic reader to use new waveform model.

BUG: (7/11/10, SMR) Changing component choice in component menu should
     change all component menus (Bug #2154).
Fixed in TechPalette.PlacePopupListListener.actionPerformed().

BUG: (7/8/10, SMR) LTSpice (raw format) doesn't display properly (Bug #2841).
FIX: Fixed RawSpiceOut.java to use new sweeps.

BUG: (7/8/10, SMR) Waveform window doesn't handle HSpice sweeps (Bug #2782).
FIX: Added SweptSample class, added getSweepNames() to Signal.

BUG: (7/5/10, SMR) Waveform window draws AC stimuli wrong (Bug #2839).
FIX: Changed ComplexSample constructor to compute hypot() instead of atan2().

BUG: (7/2/10, GVG) Placement regression failed due to change in test library? (Bug #2837)
FIX: Rolled placementTests.jelib to original revision (r1576). Revision r1720 was
modified inadvertent and gives different results.

BUG: (7/2/10, SMR) Explorer-tree context command to create a new cell should
     choose the proper library as the default (Bug #2836).
FIX: Improved NewCell to take a default library.

BUG: (7/1/10, SMR) AC waveform signals crash (Bug #2835).
FIX: Added Adam's patch.

BUG (7/1/10, FS)  Placement regression failed due to missing static method
FIX: add static method from history

BUG: (7/1/10, SMR) Interactive sizing misaligning coordinates (Bug #2827).
FIX: Fixed SizeListener to avoid transforming into the space of the node.

BUG (6/30/10, FS) Force-Directed-1 do not terminate (Bug 2800)
FIX: Kill barrier after termination

BUG (6/30/10, FS) Add Placement Tools to Test Menu (Bug 2831)
FIX: Added, each tool has the following parameters (#threads 2, runtime 10sec)

BUG: (6/30/10, GVG) Test -> TestPlacement -> Placement1 doesn't work (Bug #2832)
FIX: Don't assume libraries have *.jelib extension. Fixed regression as well.

BUG: (6/30/10, DN) I am not able to perform error-free Node Extraction (Bug #2829).
FIX: I replaced tech.getFactoryScaledResolution() by tech.getFactoryResolution().
  This fix allows to recognize transistors by there are still some DRC errors.
  This fix doen't solve the entire issue but I hope that this fix is reasonable.

IMP: (6/29/10, AM) Remove Signal.isAnalog(), Signal.isBussed()

IMP: (6/29/10, AM) Remove Signal.isDigital()

BUG: (6/29/10, DN) Inconsistency in how export names are compared using canonicString (Bug #2826).
FIX: ElectricObject.uniqueObjectName maintains case-sensitive uniqueness.

IMP: (6/28/10, AM) Eradicate Analysis.java for all eternity.

IMP: (6/28/10, AM) Remove Analysis.getSignals()

IMP: (6/28/10, AM) Remove calls to Analysis' constructor

IMP: (6/28/10, AM) Analysis extends HashMap<String,Signal>

IMP: (6/28/10, AM) Remove Analysis.getSignalsFromExtractedNet()

IMP: (6/28/10, AM) Remove Analysis.findSignalForNetwork()

IMP: (6/28/10, AM) Remove Analysis.getTitle()

IMP: (6/28/10, AM) Remove Analysis.findSignalForNetworkQuickly()

IMP: (6/28/10, AM) Remove Analysis.get{Min,Max}.

IMP: (6/28/10, AM) Remove Analysis.AnalysisType.

IMP: (6/28/10, AM) Remove Analysis.getStimuli().

IMP: (6/28/10, AM) Clean up Analysis.java.

IMP: (6/28/10, AM) Expunge DigitalAnalysis.

IMP: (6/28/10, AM) Remove legacy "bussing" kludge.

IMP: (6/28/10, AM) Have VerilogOut use BusSample.

IMP: (6/28/10, AM) Finish implementing BusSample.createSignal().

************************* Version 9.00i: ******************************

BUG: (6/27/10, AM) Waveform window exception at different places (Bug #2824)
FIX: Deal in a more robust manner with Signals having fewer than two samples.
     Also improve error reporting if things go wrong.

IMP: (6/26/10, GVG) highlight the outline of the geometry in ERC errors (Bug #2752)

BUG: (6/25/10, AM) Waveform window pans wildly when Command-5 is pressed
FIX: Make WaveformWindow.centerCursor() center on the "main" cursor instead
     of the mouse.

BUG: (6/25/10, AM) Extrapolation is not being done when zoomed-in (Bug #2822)
FIX: Make BTreeSignal.RasterView far more clever than before.

BUG: (6/25/10, AM) IRSIM no longer crossprobes as main cursor is dragged (Bug #2807)
FIX: Remove the line that Steve said to comment out.

BUG: (6/24/10, GVG) NPE in ERC if cell to ERC is null (Bug #2821)
FIX: Detect the case and abort the test.

BUG: (6/24/10, AM) interior of waveform appears shaded (Bug #2809)
FIX: Fix incorrect branch test in BTree range query code.

BUG: (6/23/10, GVG) Missing text while editing text in MacOSX Snow Leopard (Bug #2819)
FIX: Add extra width and height depending on the font size rather than fixed numbers (5).

IMP: (6/23/10, FS) Split task parallel runtime classes and pipeline classes

BUG: (6/23/10, SMR) Further improvements needed for LEF output (Bug #2764).
FIX: Added extra LEF statements to output.

BUG: (6/23/10, SMR) Verilog bus display is slow (Bug #2814).
FIX: Optimized triple-nested loop in Panel.processSignals().

BUG: (6/22/10, FS) Using the new version of ERC well check (bucket, path check) (Bug #2804)
FIX: moved old ERC Version to ERCWellCheckOld

BUG: (6/21/10, AM) PSpice not reading (Bug #2812)
FIX: Assign "*.txt" to PSpiceOut.

BUG: (6/21/10, AM) I want to favor HSpice so that it reads the TR0/PA0
     file, even in the presence of the other files (Bug #2815)
FIX: Change priority order in SimulationData.java.

IMP: (6/21/10, FS) First fully draft of SeaOfGates router with new parallel
     infrastructure. Added a two way thread pool: Use this thread pool if you
     want to do two different jobs in parallel, where one job starts the other
     one.

BUG: (6/21/10, AM) LTSpice import throws an exception
FIX: Be more forgiving of bogus data supplied to ScalarSample.createSignal()

BUG: (6/21/10, AM) RawSpiceOut reader complains "Unknown analysis:
constants" (Bug #2811)
FIX: Kludge around ridiculous text/binary nonsense in Input.java.

BUG: (6/21/10, AM) ALS simulation throws an exception (Bug #2806)
FIX: Get ALS.java to call the right method.

BUG: (6/19/10, AM) HSimModel force/release doesn't do error checking
     (Bug #2574)
FIX: Add error checking in HsimModel.java.

BUG: (6/19/10, AM) Electric throws UnsupportedOperationException when
     run with EmptyPreferencesFactory.
FIX: Do not attempt to set the working directory when running in batch
     mode.

IMP: (6/19/10, AM) Finish support for ComplexSample.

BUG: (6/18/10, SMR) Control-key axis-gridding of placed instances fails
     if mouse moving at release (Bug #2437).
FIX: Do gridding on button release.

IMP: (6/19/10, SMR) Added debugging for Karlsruhe parallel routers (Bug #2803).

BUG: (6/18/10, SMR) Layer visibility tab crashes (Bug #2802).
FIX: In LayerTab.setInvisibleLayerConfiguration() handle unset technologies.

IMP: (6/18/10, FS) Experimental version of SeaOfGatesRouter: New parallel
     infrastructure

************************* Version 9.00h: ******************************

IMP: (6/18/10, FS) Refactored SeaOfGatesRouter to have the possibility to
     create different versions

BUG: (6/18/10, FS) Use 1 evaluation step per minimum in placement tool
     Genetic-2 (Bug #2801)

BUG: (6/16/10, AM) Simulation input file reads correctly but looks
     wrong (Bug #2796)
FIX: Correct the erroneous indexing in HSpiceOut.java.

BUG: (6/16/10, AM) The waveform window comes up with no signals but it
     should have remembered the last ones (Bug #2798).
FIX: Fix long-standing confusion between
     WaveformWindow.showSimulationData() by splitting it into
     showSimulationDataInNewWindow() and refreshSimulationData().

IMP: (6/17/10, SMR) When placing an instance of a cell, holding Control
     forces the instance to be on one of the axes (Bug #2437).

BUG: (6/17/10, SMR) Cannot select ports on layout resistors (Bug #2761).
FIX: Generalized code in Highlighter.distToNode() to handle all layout resistors.

BUG: (6/17/10, SMR) Interactive resizing grid-aligns too much when dragging an edge (Bug #2795).
FIX: In SizeListener.getNewNodeSize() set grid direction if edge-dragging.

IMP: (6/16/10, AM) Add BusSample.

IMP: (6/16/10, AM) Add LatticeOperation (lub/glb), and use that
     instead of min/max to compute summaries.  Complex numbers and
     vectors (aka "buses") don't have a meaningful comparison
     operation, but they do have lubs and glbs.

IMP: (6/16/10, AM) Add Sample.lub() and Sample.glb().

IMP: (6/16/10, FS) Modeling the load balancing of work stealing as a uniform distribution.
     (only debug mode)

BUG: (6/16/10, FS) Use a 1x1 grid as smallest in placement tool: Genetic-2 (Bug #2797)

IMP: (6/15/10, AM) Remove AnalogAnalysis.

BUG: (6/15/10, AM) Waveform window signals no longer saved correctly (Bug #2777)
FIX: Ignore analysis stored in preferences.

IMP: (6/15/10, AM) Remove AnalogSignal (use Signal<ScalarSample>).

BUG: (6/15/10, AM) Various complex-valued simulation data were being
     plotted incorrectly.
FIX: Remember to do a Math.hypot() to compute the amplitude.

IMP: (6/15/10, FS) Adding steal tracker debug to concurrent package
     Add additional test cases for parallel infrastructure

IMP: (6/14/10, FS) Adding common metrics for all placement tools and calculate
     Bounding Box and Minimum Steiner Tree after a placement (only debug mode)

BUG: (6/14/10, AM) Reading HSpice output throws an exception (Bug #2793)
FIX: Remember to update parent pointers after splitting a node.

BUG: (6/14/10, AM) HSpice reader attempts to re-insert value that
     already exists (Bug #2749)
FIX: Check to see if the value has already been inserted.

IMP: (6/12/10, AM) Add and document "Display / Display Control / Dock
     messages window to each edit window" preference (off by default).

IMP: (6/12/10, AM) Allow more than one instance of MessagesWindow.

BUG: (6/11/10, GVG) UnsupportedOperationException while running Placement regression (Bug #2792)
FIX: Don't call param.makeTempSettingReal if running in regression mode.

IMP: (6/11/2010, FS) Add sleep and wake up to thread pool

IMP: (6/10/10, AM) Can now view an analog signal as if it were
digital via thresholding (Bug #2789).

BUG: (6/10/10, AM) Analog waveforms missing icons in upper right (Bug #2784)
FIX: in Stimuli.isAnalog()

BUG: (6/10/10, AM) Title of Waveform window is strange (Bug #2783)
FIX: in WaveformWindow.setTitle().

IMP: (6/10/10, AM) RadixTrie improvements (incomplete).

IMP: (6/10/10, AM) Stub for PageStorageWithDeallocation.

IMP: (6/10/10, AM) Fix CachingPageStorage.fsync(int), remove
     PageStorage.fsync()

IMP: (6/10/10, AM) Replace Infrastructure.waitSeconds() with Thread.sleep()

IMP: (6/10/10, SMR) The Measurement display should have be able to show
     in a user-specified color instead of using the highlight color (Bug #2787).
FIX: Added User.ColorPrefType.MEASUREMENT.

IMP: (6/9/10, FS) Extend CollectionFactory (ConcurrentHashSet, copySet methods)
     add debug possibilities to thread pool (load balancing)

BUG: (6/9/10, SMR) EDIF import places instance parameters too far apart (Bug #2786).
FIX: Fixed Cell.newVarOffset() to place parameters closer together.

IMP: (6/9/10, FS) Add possibility to reset ThreadIDs

IMP: (6/9/10, FS) Add test infrastructure for parallel placement tests

IMP: (6/8/10, FS) Experimental work stealing for parallel infrastructure

IMP: (6/7/10, GVG) Measurement tool and new style (Bug #2785)
Added preference to use Cadence style. Old style by default.

IMP: (6/7/10, SMR) Layer Visibility Configurations are now handled in a
     per-technology fashion (Bug #2758).

IMP: (6/7/10, FS) Add parameter to force directed placement 2

IMP: (6/7/10, FS) New concurrent data structures, circular array, unbounded
   double ended queue

IMP: (6/3/10, DN) Remove Technology.State class to simplify things.
   This class is not necessary because Technologies are immutable now.

************************* Version 9.00g: ******************************

BUG (6/3/10, FS) Bug #2770 fixed through the new bucket work distribution

IMP: (6/3/10, SMR) Added code to ignore hidden node names and reset them
     in the Properties dialog (Bug #2768).

IMP: (6/3/10, FS) Add a new work distribution to ERCWellCheck2
          - add a 2-dimensional view of threads
          - overlay the current cell with an 2-dimensional grid
          - each thread works on one cell of the grid (bucket)

IMP: (6/3/10, DN) The nameDescriptor of NodeInst can be non-displayable (Bug #2768).

BUG: (6/3/10, AM) Verilog simulation not working (Bug #2780)
FIX: Assign ".dump" extension to VerilogOut per Steve's request.

BUG: (6/2/10, AM) Adding panel to waveform window takes a long time (Bug #2776)
FIX: cache bounds in Analysis.java.

BUG: (6/2/10, AM) LT Spice stimuli not reading properly (Bug #2778)
FIX: Be more permissive in parsing the analysis type.

IMP: (6/2/10, AM) Merge LTSpiceOut with RawSpiceOut.

BUG: (6/2/10, AM) Verilog simulation not working (Bug #2780)
FIX: Fix DigitalSample.fromOldStyle().

BUG: (6/2/10, AM) IRSIM is still broken (Bug #2679)
FIX: Check for reinsertions in Analyzer.java

BUG: (6/2/10, AM) SmartSpice not reading (Bug #2779)
FIX: ".txt" is now handled by SmartSpiceOut

BUG: (6/2/10, GVG) NPE while importing Cadence errors with no current cell (Bug #2781)
FIX: Detecting the case when no current cell is selected.

BUG: (6/2/10, AM) Crash reading simulation data (Bug #2775)
FIX: Check for reinsertions in HSpiceOut.java.

BUG: (6/2/10, AM) The command "Plot Spice for This Cell" no longer
     works (Bug #2773)
FIX: Total overhaul of Simulate.java.

BUG: (6/1/10, AM) ALS needs Signal to be able to alter samples after
     they have been added (Bug #2679)
FIX: Add BTree.remove() and BTree.replace().

IMP: (6/1/10, AM) Implement BTree.remove().

IMP: (5/29/10, AM) Finish implementing hierarchical "undriven nets
     check".  Marina full-chip schematics pass except for
     arrays-of-cell-instances, which the netlister does not seem to
     handle properly.

IMP: (5/29/10, AM) Network.java: when determining connectivity, check
     all wires of a bus instead of only using the 0th wire.

IMP: (5/28/10, AM) Use EquivalenceClasses in undriven nodes check.

IMP: (5/28/10, AM) Add EquivalenceClasses.

IMP: (5/28/10, AM) Add ability to open simulation data from command line.

BUG: (5/28/10, GVG) NPE in cross library copy (Bug #2771)
FIX: Detecting when cell doesn't longer have a group.

IMP: (/5/28/10, GVG) Unknown tag in Client.read() (Bug #2759)
Added extra code to detect the source of the unknown tag

IMP: (5/27/10, SMR) New EDIF Preference to hide arc or node names (Bug #2768).

IMP: (5/27/10, DN) The nameDescriptor of ArcInst can be non-displayable (Bug #2768).

IMP: (5/25/10, DN) Technologies are immutable - new Technology objects are used if technology parameters are changed.
   Can be disabled by Tecyhnology.IMMUTABLE_TECHS = false;

IMP: (5/25/10, SMR) New "Display Control" Preference to keep modeless
     dialogs on top (Bug #2767).

IMP: (5/24/10, FS)
     - Use new parallel infrastructure in ERC Well Check Tool
     - Refactoring of ERC Well Check Tool

BUG: (5/24/10, SMR) Merging LEF and GDS fails (Bug #2765).
FIX: Do not copy node names when creating exports.

BUG: (5/24/10, SMR) LEF input gives errors on some ANTENNA keywords (Bug #2764).
FIX: Added these keywords to the ignore list.

BUG: (5/24/10, SMR) Multi-object Properties crashes when in resize mode (Bug #2763).
FIX: Fixed Highlight.HighlightSorting class to handle null returns from "getInfo()".

IMP: (5/24/10, SMR) New "Display Control" preference "Shift window to show errors"
     moves the window to focus on errors if they are not visible (Bug #2755).

BUG: (5/24/10, SMR) Greeked cells are not re-evaluated when layer visibility changes (Bug #2756).
FIX: Fixed VectorCache and VectorDrawing to recompute the cell color.

IMP: (5/24/10, FS) First refactoring (improved interface)
     features: parallel (for|reduce), and simple task scheduler for own algorithms

IMP: (5/21/10, FS) First commit of a parallel infrastructure,
     com.sun.electric.tool.util.concurrent

************************* Version 9.00f: ******************************

BUG: (5/21/10, GVG) False DRC errors on tsmcsun40gp poly resistors (Bug #2762)
FIX: Special case to detect network associated to poly in resistors.

IMP: (5/20/10, SMR) Initial version of Gerber reader.  Has Preferences panel for
    some controls (Bug #2749).

IMP: (5/20/10, GVG) Error window in TechEditorWizard in case of loading Parameters file that
doesn't comply with format.

BUG: (5/18/10, SMR) Small arcs of a circle may draw as full circles (Bug #2757).
FIX: Fixed PixelDrawing.drawCircleArc().

BUG: (5/18/10, GVG) Some layers have wrong default visibility settings for layer visibility groups (Bug #2753)
FIX: Make sure top layers are defined as overglass in the 40nm tech

BUG: (5/18/10, FS) Bug #2746
IMP: - Cache networks and transistors for faster progress
     - handle more then two transistors per network

BUG: (5/17/10, GVG) Still null messages in jobs (Bug #2747)
FIX: Pref values cached before ExternalScript is executed.

IMP: (5/17/10, DN) Minor changes in Added Design Summary code from GNU user (Bug #2734).
   - Skip icon of parent and Generic primitives
   - Better diagnostics when library has no fileURL
   - Clean comments

BUG: (5/12/10, FS) Bug #2746
FIX: Fixed for small chips

BUG: (5/7/10, SMR) Schematic DRC missing wire and bus arcs connected
     at a bus pin but not really connected (Bug #2748).
FIX: Now reported.

BUG: (5/7/10, SMR) Schematic DRC missing arcs touching if they are labeled (Bug #2748).
FIX: Also check for unconnected pins laying on an arc.

IMP: (5/5/10, AM) Add skeleton of RadixTrie (a Map<String,V> that
     maintains the statistics needed to detect the hierarchy
     separator).

IMP: (5/5/10, AM) Finally remove Signal.getAnalysis() for good.

BUG: (5/4/10, SMR) AutoStitch gives errors and fails to correctly route bus ports (Bug #2745).
FIX: AutoStitch.testPoly() handles busses separately when deciding whether or not ports
     are already connected.  It also has a bug in which it fails to report that it has made
     a connection.  Other fixes in InteractiveRouter.planRoute(), RouteElementArc.doAction().

BUG: (5/3/10, GVG) Autostitch creating 2 arcs when connecting bus ports in icons (Bug #2745)
FIX: Calling getNetwork(Nodable no, Name portName) in case of busses (temp fix)

IMP: (5/01/10, AM) Merge EpicOutProcess and EpicAnalysis into
     EpicOut.java (which follows the same naming convention as the
     rest of the simulation output readers).

IMP: (5/01/10, AM) Add Signal.extrapolateToRight to avoid more calls
     to Signal.getAnalysis().

IMP: (5/01/10, AM) Turn WaveformWindow.treePathFromAnalysis into
     treePathFromSignal.

IMP: (5/01/10, AM) Add Signal.getAnalysisType(), first step towards
     removing Signal.getAnalysis().

IMP: (4/30/10, JKG) Removed spacebar toggle of fat wiring mode, as it is now a preference.
Substrate and well contacts included in as contacts for finding width of connecting wire.
Ignore default-sized arcs when choosing arc size to connect to portinst,
as RouteElementArc.doAction creates default-sized arcs for 0 length connections.

************************* Version 9.00e: ******************************

BUG: (4/30/10, SMR) Interactive resizing of multiple nodes doesn't work right
     when they are different size (Bug #2732).
FIX: Fixed SizeListener.getNewNodeSize().

IMP: (4/29/10, SMR) Component menu now remembers the which variation of a node
     is selected (Bug #2741).

BUG: (4/28/10, SMR) Constraint system does not keep alignment between nodes
     and moves too much (Bug #2736).
FIX: In LayoutCell.java, scale sizes more uniformly (in transformByPort())
     and allow nodes to stay where they are if slidability can be done.

BUG: (4/28/10, SMR) Autostitch makes arcs that are not grid-aligned (Bug #2740).
FIX: Added alignment to AutoStitch.AutoStitchJob constructor and fixed bug
     in InteractiveRouter.getClosestValue().

IMP: (4/27/10, AM) Remove MultiSweepSignal.
IMP: (4/27/10, AM) Remove AnalogSignal.getIndexInAnalysis()

BUG: (4/27/10, SMR) Bean Shell cannot access currently highlighted objects (Bug #2739).
FIX: Added EvalJavaBsh.getHighlighted() to access the list from inside a Job.

IMP: (4/26/10, AM) Waveform viewer Panel no longer has a hardwired
     analysis type (will accept a Signal from any Analysis).

IMP: (4/26/10, JKG) Set netlist nonstandard cells to false for runSTA command.
Changed verilogA option to false for STA runs when writing verilog netlist.

BUG: (4/26/10, GVG) Exception when running STA (Bug #2738)
FIX: Caching Verilog Preference in RunPrimeTime constructor now.

BUG: (4/26/10, SMR) PostScript output does not handle background color (Bug #2735).
FIX: In color mode, fill background color.

BUG: (4/25/10, AM) Spice input crashes (Bug #2727)
FIX: Remove special-purpose code in HSpiceOut, use general-purpose code
     from BTreeSignal.

IMP: (4/25/10, AM) AnalogSignal extends ScalarSignal.

IMP: (4/25/10, AM) Allow null keys in getSummaryFromKeys() when one or
     both ends of a range are unbounded.

IMP: (4/19/10, SMR) Added Design Summary code contributed by GNU users.
     The command is "Cell|Cell Info|Summarize Cell Contents" (Bug #2734).

BUG: (4/22/10, SMR) The ruler should have tick marks (Bug #2718).
FIX: Redid MeasureListener to draw Cadence-like rulers.

BUG: (4/22/10, SMR) Text Properties dialog changes non-centered text on rotated nodes (Bug #2733).
FIX: Ignore code in PolyBase.unRotateType() which is not needed since Bug #2635.

BUG: (4/21/10, GVG) Adding pure layer nodes in palette and those warning messages (Bug #2726)
FIX: Added PrimitiveNode instances into tech.pureLayerNodes while parsing XML tech.

IMP: (4/21/10, JKG) Added menu commands to wire up and down one layer in layout

IMP: (4/21/10, SMR) Can now resize multiple nodes and multiple arcs (Bug #2732).

BUG: (4/21/10, DN) Netbeans build doesn't create manifest.
FIX: Add "trunk/srcj/manifest.mf" template.

IMP: (4/20/10, GVG) TechEditorWizard: better handling of asymmetric rules (Bug #2656)
Added WizardRuleFields class which should be the first step for this request.

IMP: (4/19/10, DN) More strict checking in ImmutableArcInst.newInstance and ImmutableArcInst.withAngle.

BUG: (4/19/10, SMR) Undefined arc angles still cause trouble (Bug #2729).
FIX: Added new ArcInst and ImmutableArcInst methods: getDefinedAngle() which
     returns 0 instead of -1.

IMP: (4/19/10, DN) Experimental "Cell|Cell info|Design Summary" command (only in -debug mode).

BUG: (4/19/10, DN) Placement of pure layer nodes inconsistent with highlighter (Bug #2730)
FIX: Set correct center in "Fix highlighting when place asymmetrical primitive" on 4/13/10

BUG: (4/19/10, DN) Slidable arc should slide along contact array (Bug #2728).
FIX: In CircuitChangeJob.ManyMove.doIt don't move a node on head/tail of slidable arc if it is still in port.

BUG: (4/16/10, GVG) Placement of pure layer nodes inconsistent with highlighter (Bug #2730)
FIX: Undone ""Fix highlighting when place asymmetrical primitive" on 4/13/10

************************* Version 9.00d: ******************************

BUG: (4/16/10, GVG) F-P-Well contact size broken in tsmcSun40GP (Bug #2725)
FIX: SizeOffset for p well contact in a substrate process corrected.

BUG: (4/16/10, DN) Slidable arc should slide along contact array (Bug #2728).
FIX: In CircuitCHangeJob.ManyMove.doIt don't move a node on head/tail if it is still in port.

IMP: (4/15/10, SMR) First pass of generalized routing framework (Bug #2724).

BUG: (4/15/10, GVG) DRC error when diff contact serves two transistors of diff sizes (Bug #2683)
FIX: Undoing "Better solution for "false drc error between pdiff contacts in
tsmcsun40GP (Bug #2311)" for now.

BUG: (4/14/10, GVG) NPE in TechPool.getThreadTechPool (all regressions) (Bug #2723)
FIX: Removed Technology.findTechnology in TechFactory.newInstance. Added extra
code to detect if a new soft tech has same name as a pre-defined one.

BUG: (4/14/10, SMR) Multiple technologies with the same name are not detected (Bug #2714).
FIX: Detect this both for built-in and added technologies.

BUG: (4/13/10, SMR) Verilog reader throws exceptions on bad Verilog (Bug #2722).
FIX: Catch errors more gracefully.

IMP: (4/12/10, JKG) Added Verilog option to write non-standard cells when writing standard cell netlist.

BUG: (4/7/10, DN) The ruler text is too small (Bug #2718).
FIX: In EditWindow.paintComponent select font for rule text with size 15*globalTextScale instead of 10*globalTextScale.

IMP: (4/8/10, GVG) Added more error messages to detect failures in gateLayGen regression (Bug #2717)

BUG: (4/8/10, GVG/SMR) New zero-length def of arcs and non-Manhattan shapes (Bug #2720)
FIX: ImmutableArcInst:isManhattan() and ImmutableArcInst:makeGridBoxInt handle angle=-1
(introduced by Bug #2713)

BUG: (4/7/10, SMR) The "Measure" cursor is ambiguous (which side is the pointer?)
     and the measurement mode should snap the mouse when moving around (Bug #2718).
     Measurement snapping-control is now in the "Grid" Preferences.
FIX: The cursor now looks like a tape measure; the mouse snaps.

IMP: (4/6/10, SMR) Zero-length arcs can stretch in either direction (Bug #2713).

BUG: (4/6/10, SMR) Invisible Pins under Annotation Text should be selectable (Bug #2712).
FIX: These pins are now "hard to select" and can be selected when in that mode.

BUG: (4/5/10, SMR) Option reconciliation truncates fields (Bug #2709).
FIX: Put full string into tooltip.

************************* Version 9.00c: ******************************

IMP: (4/2/10, GVG) Two new layers in 40nm

BUG: (4/2/10, DN) Changes in MoCMOS parameters don't immediately redisplay (Bug #2708).
FIX: In PreferencesFrame.OKUpdate.terminateOK call cloaseDialog(null).

BUG: (4/1/10, SMR) Exiting technology editor destroys its own colormap (Bug #2706).
FIX: Detect technology-editor color maps in PixelDrawing.

IMP: (3/31/10, SMR) Added VerilogA output with "Tools / Simulation (Verilog) /
     Write VerilogA Deck..." command (Bug #2705).

BUG: (3/31/10, SMR) Parasitic preferences has User and Project preferences swapped (Bug #2701).
FIX: Swapped the panels.

BUG: (3/31/10, DN) Key Q doesn't work properly in Cadence color scheme (Bug #2704).
FIX: Replace short cut for "Cycle Windows" in Cadence color scheme from 'Q' to 'W'.

BUG: (3/29/10, DN) Array indices are not being generated correctly (Bug #2703).
FIX: In Array.makeArray compare objects by STRING_NUMBER_ORDER.

IMP: (3/29/10, GVG) Amending tsmcSun40GP.xml and TechEditorWizard regression due to Bug #2702 changes.

BUG: (3/29/10, DN) Technology Wizard doesn't write gate_contact_spacing to DRC deck (Bug #2702).

FIX: In TechEditWizardData.addStandardElements write spacing rules.

BUG: (3/28/10, DN) Fill generation failed.
FIX: In CapCell use parameters for Well contact (not diffusion contact).

IMP: (3/25/10, DN) Select layers in generator.layout.TechType by function (Bug #2696).
    Almost all values in TechType subclasses are initialized from technology and DRC deck .

BUG: ConcurrentModificationException in gate generator (Bug #2700).
FIX: In NetSchem.updateSchematic fix a test that old Netlist is still valid.

BUG: Layer order not restored with preferences (Bug #2699).
FIX: In UserInterfaceAll.loadPreferences call LayerVisibility.loadPreferences.

IMP: (3/35/10, GVG) Compaction regression and changes in API (Bug #2633)

BUG: (3/25/10, GVG) NPE if layer is not found by name (Bug #2698)
FIX: Just detect the case and allow to catch any exception in writeXML()

BUG: (3/25/10, DN) Technology Wizard crashes in GDS panel after adding metal layer (Bug #2697).
FIX: In TechEditWizardData.setNumMetalLayers initialize "metal_layers" correctly.

IMP: (3/25/10, DN) Add command "Tool|Generation|Generate gate layouts (C_urrent tech)" (Bug #2696).

IMP: (3/25/10, DN) Remove TechTy.eTechTypeNum (Bug #2696).

IMP: (3/24/10, DN) gateLayRegression compares output and original JELIBs (Bug #2696).

BUG: (3/23/10, GVG) TechEditWizard not cleaning previous values uploaded from a txt file (Bug #2695)
FIX: Clearing the variables before the reading operation.

BUG: (3/22/10, DN) Copy crashes when from old schematic view (Bug #2694).
FIX: In Snapshot.reuseSchemId allow null oldSchemEq in groups with many schematic cells.

BUG: (3/22/10, AM) Implement SignalDifference(Signal,Signal) (Bug #2476)
FIX: Add DerivedSignal.  See DebugMenuAdam for example code.

IMP: (3/22/10, AM) Remove special-case handling of AnalogSignal in Panel.java

BUG: (3/22/10, SMR) Crash when referenced library is missing (Bug #2693).
FIX: In LibraryFiles.readExternalLibraryFromFilename() do not call
     getOpenFileType() if the file is not valid.

BUG: (3/22/10, SMR) Showing errors while editing down-in-place may shift
     the window (Bug #2690).
FIX: In UserInterfaceMain.reportLog() handle down-in-place transformation when
     checking for error visibility.

BUG: (3/22/10, SMR) Assertion error when primitive port does not connect (Bug #2692).
FIX: Removed assertion in User.getArcNamesSorted().

BUG: (3/21/10, DN) Project settings / external technology (Bug #2124, #2687).
FIX: Move initialization of SoftTechnologies to Environment.implementSettingsChanges.

************************* Version 9.00b: ******************************

IMP: (3/21/10, AM) Use monoid min/max code for waveform rendering.
     See demo at http://www.youtube.com/watch?v=0-5h60nOOzQ

IMP: (3/21/10, AM) Fixed many bugs in monoid summary code.  Appears to
     work now.

BUG: (3/18/10, GVG) NPE after re-exporting an ErrorLogger that contains invalid cells (Bug #2691)
FIX: Detecting case when cellId is null. Adding stack trace in debug mode.

IMP: (3/18/10, SMR) When pasting cell instances, should convert the view
     so that layout instances become icons when pasting into a schematic cell
     and icon instances become layout instances when pasting into a layout
     cell (Bug #2381).
FIX: Added new Node Preference to do this.  "Convert between schematic and
     layout when pasting" is on by default.

BUG: (3/18/10, DN) CIF/GDS output doesn't merge boxes (Bug #2689).
FIX: In io.output.Geometry.Visitor.exitCell add "gMerge.postProcess(true);".

IMP: (3/17/10, AM) Finish range query support.  Still a few bugs.

BUG: (3/17/10, DN) "-client" option doesn't work.
FIX: Add Main.InitClient Job.

BUG: (3/16/10, DN) Crash after creating new technology (Bug #2686).
FIX: Add WindowContents.loadTechnologies() and load it after TechPool change.

BUG: (3/15/10, SMR) Want to add pure-layer nodes to component menu (Bug #2685).
FIX: Added a list of pure-layer nodes in the Technology XML data structures.

IMP: (3/15/10, DN) First variant of multi-threaded JELIB/DELEB reader in
     "File|Import|Fast JELIB Reader|Database" (enabled only in -debug mode).

IMP: (3/14/10, DN) Refactor LibraryFiles.readExternalLibraryFromFilename to use from new JELIB reader.

IMP: (3/13/10, DN) Add method "Netlist.getNetwork(Nodable no, Name portName)" (Bug #2533).

BUG: (3/13/10, DN) "VIA{x,y,z}.W.1" not valid for artwork arc? (Bug #2682).
FIX: If Jelib file contains invalid arc name, put it into ART_message Variable.

BUG: (3/10/10, SMR) CIF input fails on some cell instances (Bug #2684).
FIX: Use lists instead of linked-lists so that objects are processed in proper order.

BUG: (3/9/10, DN) Exception in regression due to private in EditingPreferences (Bug #2681).
FIX: In PrefPackage.putPrefs insert "field.setAccessible(true)".

IMP: (3/9/10, DN) Encapsulate fields in EditingPreferences (Bug #2672).

IMP: (3/8/10, GVG) Add OD18ud15 Transistors to the 40nm tech (Bug #2680)

IMP: (3/8/10, AM) Finish implementation of MinMaxOperation.

IMP: (3/7/10, AM) Start using MinMaxOperation.

IMP: (3/7/10, AM) Add skeleton for MinMaxOperation.

IMP: (3/7/10, AM) Re-enable summary update on BTree.insert()

IMP: (3/7/10, AM) Re-enable LeafNodeCursor.getSummary().

IMP: (3/7/10, AM) BTree.java: let REPLACE specify the old value;
     enables one-pass replacements.

IMP: (3/7/10, AM) Add InvertibleOperation.

IMP: (3/6/10, AM) DigitalSignal: add support for varying drive strength.

************************* Version 9.00a: ******************************

IMP: (3/3/10, GVG) Ability to define exports per cell in Stitch fill gen (Bug #2677)
Option format: e[layerN1;layerN2;...;layerNn]

IMP: (3/3/10, AM) DigitalSignal extends BTreeSignal<DigitalSample>

IMP: (3/3/10, AM) DigitalSample implements Comparable.

IMP: (3/3/10, AM) Move getTree() from ScalarSignal to BTreeSignal.

IMP: (3/3/10, AM) Create new subclass ScalarSignal of BTreeSignal,
     make BTreeSignal package-private.

IMP: (3/3/10, AM) Add Unboxed instances to subclasses of Sample.

IMP: (3/3/10, AM) Add DigitalSample.

IMP: (3/3/10, AM) Add UnboxedByte.

IMP: (3/3/10, GVG) Ability to define exports per cell in Stitch fill gen (Bug #2677)
Part of the implementation.

BUG: (3/2/10, DN) "Fat mode" option can't be turn off in Arcs pref (Bug #2672).
FIX: Temporary solution: Remove "final" attribute from annotated fields of EditingPreferences.

BUG: (3/2/10, SMR) ALS cannot simulate transistors (Bug #2674).
FIX: Redid "GenerateVHDL.java" to handle layout transistors correctly.

IMP: (3/1/10, SMR) Placement preferences now allows algorithm-specific
     parameters (Bug #2673).

BUG: (2/26/10, GVG) DRC fails when transistor has more than 1 active layer (Bug #2669)
FIX: Condition removed for carbon-nanotube transistors.

BUG: (2/26/10, GVG) 3D View doesn't allow transistors with more than 2 active regions (Bug #2670)
FIX: Detecting CN transistors now whose active layers are not merged

IMP: (2/26/10, GVG) -debug and -regression don't work very well (Bug #2668)

BUG: (2/25/10, DN) Icon vs sch ports (Bug #2533).
FIX: In NetSchem connect exports by Name instead of by portImplementation.

BUG: (2/25/10, GVG) NPE in Preferences -> Technology -> Icon
FIX: Switch IconTab from Frame to PreferencesFrame constructor

IMP: (2/24/10, AM) Rename Approximation->View, add
     Signal.getRasterView() which returns a RangeSample

IMP: (2/24/10, AM) Add RangeSample.

IMP: (2/24/10, AM) Sample does not implement Comparable (but
     ScalarSample does).

IMP: (2/24/10, AM) Remove old Waveform.java methods.

IMP: (2/24/10, AM) Remove "using old/new code" marker on waveform window.

IMP: (2/24/10, AM) Merge Waveform.java into Signal.java.

BUG: (2/18/10, GVG) Electric litters files in my home directory without
     my permission (Bug #2613)
FIX: Not using File.createTempFile for now.

IMP: (2/17/10, AM) Remove SignalSimpleImpl.

IMP: (2/17/10, AM) Rename SimulationSample to Sample.

IMP: (2/17/10, AM) Remove WaveformImpl and ComplexWaveform, add ComplexSample.

BUG: (2/17/10, AM) Plotting Spice output from the cell (not a file) fails (Bug #2665).
FIX: Try all file types.

BUG: (2/17/10, SMR) Plotting Spice output from the cell (not a file) fails (Bug #2665).
FIX: When doing this, use the Spice Preference to determine the engine.

BUG: (2/17/10, SMR) SVG output not right (Bug #2664).
FIX: Now handles underline, centers on page, and has a test.

IMP: (2/16/10, AM) Merge NewSignal.java and Signal.java

IMP: (2/16/10, AM) Remove ArchSimOut.java

IMP: (2/16/10, AM) Separate "Signal" from "Stimuli".

IMP: (2/15/10, AM) Remove old Epic reader.

IMP: (2/15/10, AM) When reading in SPICE output files, detect the
     "flavor" automatically.  Now the user no longer has to change
     his/her preferences in order to read in simulation files.

BUG: (2/15/10, AM) Electric litters files in my home directory without
     my permission (Bug #2613)
FIX: Stop littering.

************************* END OF Version 8.11, GNU RELEASE *************
************************* Version 8.11e: ******************************

IMP: (2/15/10, AM) Fix repaint logic in EditWindow to comply with
     guidelines which distinguish "System-triggered" painting from
     "App-triggered" painting; see
     http://java.sun.com/products/jfc/tsc/articles/painting/#triggers
     for further details.

BUG: (2/14/10, SMR) Technology editor can't edit TFT technology (Bug #2663).
FIX: Allow metal1/metal2 instead of poly/active in transistor detection.

BUG: (2/14/10, GVG) Make command doesn't include helphtml/*.jelib and *.txt (Bug #2655)
FIX: Manual files not filtered by junk command

BUG: (2/14/10, GVG) Wrong location of silicide block and hi-res layers in analog resistors (Bug #2658)
FIX: Database amended yet. Considered as done.

BUG: (2/14/10, DN) Assertion error after technology editor makes new technology (Bug #2662).
FIX: Don't modify in LayerInfo.parseCell an reference to internal rectanle returned by ni.getBounds.

BUG: (2/13/10, DN) Crash when reconciling preferences (Bug #2661).
FIX: Update MoCMOS.getPatchedXML because previously <menuNode>Poly1-Poly2-Capacitor</menuNode>
    was replaced by <menuNodeInst protoName="Poly1-Poly2-Capacitior"...>.

BUG: (2/12/10, SMR) Crash in Vector drawing algorithm (Bug #2660).
FIX: Detect null cell in VectorCache.VectorCell.initTopOnlyShapes().

BUG: (2/12/10, DN) Importing GDSMap twice causes a crash (Bug #2659).
FIX: In GDSMap keep savedAssoc in Preferences instead of Prefs.

BUG: (2/12/10, GVG) More stuff for Bug #2658
FIX: mocmos.xml was re-generated. Database hasn't been amended yet.

BUG: (2/12/10, DN) IllegalStateException when importing GDS Map file (Bug #2657).
FIX: In GDSMap.java create OKUpdate Job to save map preferences on server side.

BUG: (2/12/10, DN) NotSerializableException for ImmutableArcInst (Bug #2652).
FIX: Remove "EditingPreferences ep" from IconParameters.

BUG: (2/11/10, GVG) Part of "Wrong location of silicide block and hi-res layers in analog resistors" (Bug #2658)
FIX: Changes in TechEditWizardData for now. mocmos.xml must be re-generated

IMP: (2/11/10, GVG) Better error if test library is not found in electric.jar (Bug #2653)

BUG: (2/11/10, SMR) Need fixes to Red and Purple libraries (Bug #2651).
FIX: Updated.

BUG: (2/11/10, SMR) Error highlighting fails when done in same cell (Bug #2646).
FIX: Fixed UserInterfaceMain.reportLog() to use proper window.
     Also fixed pulsating highlighting in EditWindow so that it uses proper
     paint() methods, and made it NOT the default.

BUG: (2/11/10, SMR) Placement regression fails (Bug #2650).
FIX: Make test request Min-Cut algorithm.

BUG: (2/10/10, DN) Routing regressions make fat wires.
FIX: Make fatWire and explicite field of InteractiveRouter.

IMP: (2/10/10, SMR) Added new placement code from Karlsruhe (Bug #2649).

BUG: (2/10/10, DN) Crash in ProjectTool initializer.
FIX: Make iconParameters alocal variable instead of static one.

IMP: (2/10/10, DN) Move plugins.menus.ScanChainXML into tool.simulation.test .

IMP: (2/10/10, DN) Refactor plugins.sctiming.SCRun into
    tool.simulation.sctiming.SCRunBase and plugins.sctiming.SCRun .

BUG: (2/9/10, SMR) Color PostScript ignores text color (Bug #2624).
FIX: PostScript.psText() now uses text color.

BUG: (2/9/10, SMR) Crash simulating layout resistors in IRSIM (Bug #2397).
FIX: In IRSIM.createBucket() handle missing values.

BUG: (2/8/10, SMR) Layer drawing does not update screen when exports visibility changes (Bug #2648).
FIX: Have LayerDrawing.visibilityChanged() return true instead of false.

IMP (2/4/10, GVG) electric litters files in my home directory without my permission (Bug #2613)
Two new user preferences added: (1) to enable logging (2) to generate multiple logs.
Back to original strategy for logfile paths. See details in Bug #2613.

BUG: (2/4/10, SMR) Exports on rotated nodes draws wrong (Bug #2635).
FIX: Undid change made for Bug #2622; made PolyBase.rotateType() do nothing;
     made Poly.transform() do no text rotating; and made
     CircuitChangeJobs.RotateSelected.doIt() rotates Export text.

BUG: (2/4/10, GVG) NPE in min size layer rule if it didn't exist before (Bug #2647)
FIX: Detect if the rule existed before trying to remove it from the map.

IMP: (2/3/10, GVG) Remove PIE plugin and any reference to it (Bug #2645).

BUG: (2/3/10, SMR) Renaming schematic exports should rename ALL icon exports (Bug #2644).
FIX: Fixed in Export.rename().

BUG: (2/3/10, SMR) Verilog netlisting emits strange module names (Bug #2631).
FIX: Added a Verilog Preference "Write Separate Module for each Icon" which is
     FALSE by default (the old behavior).  Also fixed strange cell names
     (with three underscores).  Also made Spice NOT write separate modules for
     each icon.

BUG: (2/3/10, SMR) Well check should not run on schematics (Bug #2642).
FIX: Disable on non-layout cells.

IMP: (2/2/10, SMR) Converted "Cell.acquireUserNetlist()" and
     "Cell.getUserNetlist()" to be "Cell.getNetlist()" (Bug #2641).

IMP: (2/2/10, SMR) Removed "build.xml" from packaging (Bug #2640).

IMP: (2/2/10, SMR) Fixed copyright in tool.simulation.test and database.geometry.btree (Bug #2639).

IMP: (2/2/10, SMR) Removed obsolete simulator: ArchSim (Bug #2638).

BUG: (2/1/10, SMR) Carbon nanotube technology causes assertion failure (Bug #2637).
FIX: Fixed assertion in AbstractShapeBuilder.genShapeOfNode().

BUG: (2/1/10, SMR) "Change" fails when ports are coincident (Bug #2536).
FIX: Fixed NodeInst.portAssociate() to handle coincident ports.

BUG: (1/29/10, GVG) Client's protocol version incompatible with Server's protocol version (Bug #2630)
FIX: Project tool can't call IconParameters.makeInstance() with true.

BUG: (1/28/10, GVG) Assertion in Verilog running in debug mode (Bug #2634)
FIX: No checking port names for supplies

IMP: (1/28/10, SMR) Added first pass of SVG export (Bug #2003).

IMP: (1/28/10, GVG) Accessing many user values in Make Export (Bug #2630)
Important refactorization due to icon preferences used in new exports.

BUG: (1/28/10, SMR) Technology editor fails to identify objects (Bug #2632).
FIX: Use correct database in Manipulate.getLayerCell().

************************* Version 8.11d: ******************************

BUG: (1/26/10, SMR) Autostitch missing some arcs (Bug #2628).
FIX: Rearrange order of elimination tests in AutoStitch.testPoly().

BUG: (1/26/10, SMR) Cell groups with multiple icons should netlist with
     multiple copies of the schematic (Bug #1957).
FIX: Changed Topology.java to handle this (added writeCopyForEachIcon()) and
     modified Spice and Verilog to use it.

BUG: (1/26/10, GVG) NPE in PS export (Bug #2623) (another fix)
FIX: Detect the null case and assign corresponding TextDescription default for exports.

IMP: (1/26/10, GVG) Keeping suffix ".log" for Electric's logfiles (Bug #2613)

BUG: (1/25/10, GVG) SeaOfGate router should not depend on NotUsed elements (Bug #2508)
FIX: NODSIZE indices not longer overlap with single layer indices. See more details in report.

BUG: (1/25/10, SMR) NCC should respect the "Display Preference" to keep
     cells in the same window (Bug #2572).
Fixed in HighlightTools.getHighlighter().

BUG: (1/25/10, SMR) Setting the Display Preference to keep cells in the same
     window is not respected when browsing through errors (Bug #2573).
FIX: Use the Display Preference for error browsing.

BUG: (1/25/10, SMR) Change dialog still gives popup error messages for every node
     that fails to change (Bug #2618).
FIX: Show just one popup at the end.

MAN: (1/25/10, GVG) NCC gets confused with two lay cells in the same group (Bug #2627)
Added comment in NCC manual.

BUG: (1/22/10, GVG) Runtime exception in LoadImage to create logos in Layout (Bug #2626)
FIX: Added extra code to check if file format is valid (png, jpeg so far)

IMP: (1/21/10, GVG) Message in MessagesWindow that a print job is running even though there is no
way to know if it is printing to file.

BUG: (1/21/10, GVG) NPE in PS export (Bug #2623)
FIX: Detect the null case and assign TextDescriptor.EMPTY

BUG: (1/21/10, SMR) Export text on rotated nodes reads wrong (Bug #2622).
FIX: In Export.getNamePoly(), adjust coordinates properly.

BUG: (1/21/10, SMR) Resizing a cell instance crashes (Bug #2621).
FIX: Prevent the crash and disallow the sizing.

IMP: (1/21/10, AM) Per Gilda's request, uniquify log file name and
     print it in the messages window on startup. Related to Bug #2613

IMP: (1/21/10, GVG) Ability to save text in MessagesLog to a file (Bug #2620)
     Only available in debug mode.

BUG: (1/20/10, SMR) Change dialog gives popup error messages for every node
     that fails to change (Bug #2618).
FIX: Show just one popup at the end.

BUG: (1/20/10, DN) Arc creation is very slow (Bug #2615).
FIX: Replace ArcInst.makeInstance by ArcInst.newInstance without checking that arc ends are in PortInst's polys.

BUG: (1/20/10, GVG) SeaOfGates not considering spacing rule in the "to" surround
FIX: Extra code added. It didn't affect the regression

BUG: (1/20/10, SMR) Auto-stitcher making too many arcs (Bug #2617).
FIX: Force it to use proper layer and prevent wide arcs from expanding coverage in cells.

************************* Version 8.11c: ******************************

BUG: (1/19/10, GVG) "Hi-Res-Poly2-Resistor not properly check in MoCMOS.getPatchedXml (Bug #2616)
FIX: Name corrected in function. This element was not properly marked as "notUsed".

BUG: (1/19/10, GVG) Not counting properly analog elements found in MoCMOS.getPatchedXml()
FIX: Removing null elements before counting.

IMP: (1/17/10, AM) Enable dotted/dashed lines in plots (for
     black+white publications).  Clean up handling of panel aspect
     ratios.  Disable "plot as PDF" because the gnuplot pdf driver is
     unreliable; use "plot as PS" instead and ps2pdf.

BUG: (1/17/10, AM) Electric litters files in my home directory without
     my permission (Bug #2613)
FIX: In ActivityLogger, use java.io.tmpdir instead of $HOME.

IMP: (1/16/10, AM) Waveform plotting: support for: multiple panes,
     multiple waves per pane, using user's colors for plotted waves,
     using user's names for plotted waves, x-axis label.

BUG: (1/16/10, DN) Assertion Exception in netlist/network tool (Bug #2611).
FIX: In NetSchem.updateSchematic clear map exportNameMapOffsets.

************************* Version 8.11b: ******************************

IMP: (1/15/10, GVG) Ability to specify exports in top layers (Bug #2610).
New syntax: "@exports = {layerName1, layerName2}

BUG: (1/14/10, GVG) ConcurrentModificationException in Netlist.checkForModification from Stitch job (Bug #2609)
FIX: Modifications are cached now before running the actual changes.

BUG: (1/14/10, GVG) FillCell not working with SeaOfGates option (Bug #2608)
FIX: Remove the condition only for PortProto == Export.

BUG: (1/14/10, GVG) NPE in getBasePort (Bug #2607)
FIX: Detected invalid exampleHigh in Highlighter.getSimiliarHighlight(). Added extra assertion to future cases.

BUG: (1/14/10, GVG) Runtime exception in fill if it was run with a diff tech before (Bug #2606)
FIX: Static final dependencies removed.

BUG: (1/14/10, GVG) Some preference causes NCC to fail (Bug #2604)
FIX: Fixed rounding issue in sizes match for the absolute value.

BUG: (1/14/10, SMR) Getting ports and arcs on network is very slow (Bug #2590).
FIX: Now using bulk methods Netlist.getArcInstsByNetwork() and Netlist.getPortInstsByNetwork() .

IMP: (1/14/10, DN) Self-test of a method "Netlist.getNetwork(Name exportName);" (For Bug #2533).

BUG: (1/13/10, GVG) NPE in CelLFile with one contact as cell (Bug #2605)
FIX: Detecting when # of gnds is not availabel (capCell==null). Similar to fix for vdds.

BUG: (1/13/10, GVG) NPE in VectorCache while renaming library whose cell was displayed (Bug #2589)
FIX: Nothing fixed since it is hard to reproduce. Added extra code to detect the case.

BUG: (1/13/10, GVG) Undo/Redo history is partially lost after undoing "SaveLibrary" (Bug #2539)
FIX: Implementd Dima' suggestion.

BUG: (1/13/10, GVG) overlapping metal arcs not detected (Bug #2567)
FIX: Undoing again the changes. See Bug #2567 for details.

BUG: (1/12/10, DN) Getting ports on network is very slow (Bug #2590).
FIX: Create a method Netlist.getArcInstsByNetwork() .

BUG: (1/12/10, SMR) Preferences window is too small on JDK 7 (Bug #2554).
FIX: In PreferencesFrame constructor, invoke pack() in a new thread.

IMP: (1/12/10, SMR) Updated built-in Purple/Red/Orange libraries (Bug #2603).

BUG: (1/12/10, GVG) overlapping metal arcs not detected (Bug #2567)
FIX: Adding bounding box for the interaction information to avoid so many collisions
with the same pair of geometries.

IMP: (1/12/10, GVG) More generic contacts geneted by TechEditorWizard (Bug #2597)

BUG: (1/11/10, GVG) Exception in SPICE with Poly1-Poly2 cap (lay) (Bug #2599)
FIX: Missing port added. Technology.check() will report the error now.

BUG: (1/11/10, SMR) Messages window not scrolled quickly enough (Bug #2575).
FIX: Schedule scrolling for later.

IMP: (1/11/10, SMR) Fixed calls to Cell.copyNodeProto() (Bug #2587).

BUG: (1/11/10, SMR) "Duplicate Cell" doesn't swap icons (Bug #2598).
FIX: Fixed CellChangeJobs.DuplicateCell.doIt() to use CellIds.

IMP: (1/08/10, GVG) Part of "More generic contacts geneted by TechEditorWizard" (Bug #)

************************* Version 8.11a: ******************************

IMP: (01/08/10, GVG) Add DRC annotation to skip cell (Bug #2596)
Added memu Tools -> DRC -> Add Skip Annotation to Cell.
Many files modified due to the move of LayoutLib.error function to Job.error.

BUG: (01/08/10, DN) Getting ports on network is very slow (Bug #2590).
FIX: Add method Netlist.getPortInstsByNetwork to get ports in bulky way.

BUG: (01/08/10, DN) Difference between immutable and mutable nodes in cell? (Bug #2594).
FIX: Comment experimental code for now.

IMP: (01/07/10, GVG) TechEditWizard writing metal-based technologies (Bug #2595).
This also changed the order of elements in tsmcSun40GP.xml and the regression.

IMP: (01/07/10, SMR) "Change" dialog now shows different types of schematic
     components (nMOS, pMOS, transistors, for example) and also shows
     hierarchical list of new object types (Bug #2550).

BUG: (01/07/10, SMR) Highlighting broken for down-in-place (Bug #2593).
FIX: Changes to Bug #2577 did not consider down-in-place.

BUG: (01/06/10, SMR) Explorer tree has problems viewing hierarchically (Bug #2591).
FIX: Fixed ExplorerTree.java and ExplorerTreeModel.java

BUG: (01/06/10, SMR) Dumping many lines to the messages window is slow (Bug #2582).
FIX: In MessagesWindow.appendString(), use a different way to scroll to the bottom.

BUG: (01/06/10, DN) Not serializable exception after library rename.
FIX: In CellChangeJobs make newCells a map from CellId to Cell.

BUG: (01/06/10, DN) NPE in getBasePort while deleting exports displayed in 2 windows (Bug #2588).
FIX: In StatusBar.updateSelectedText skip highlights which are not valid.

BUG: (01/06/10, SMR) Highlighting and objects are different when zoomed close (Bug #2577).
FIX: In Highlight.drawOutlineFromPoints(), use grid coordinates.

BUG: (01/06/10, GVG) exporting preferences to xml and re-importing causes some
     keybindings to disappear (Bug #2336)
FIX: "UTF-8" doesn't work on MacOSX (Snow Leopard). Back to original fix (default charset in MacOSX)

BUG: (01/06/10, DN) Assertion when running GNU version with a cmos90 library (Bug #2578)
FIX: In ImmutableNodeInst.addVar ignore TRACE on Cell instances and Cell-Centers.

BUG: (01/06/10, DN) Duplicate Cell assigned current tech instead of orig cell tech (Bug #2586)
FIX: In Cell.copyNodeProtoUsingMapping call NodeInst.copyStateBits instead NodeInst.copyStateBitsAndFlags.
   In CellChangeJobs and in CrossLibCopy copyExpansionStatus on client side.

BUG: (01/05/10, GVG) Exception in CellChangeJobs if it is executed from another job (Bug #2585)
FIX: Detect the case when this job is started by another one.

IMP: (01/05/10, SMR) "Change" dialog now reports the number of changes to make (Bug #2583).

BUG: (01/05/10, SMR) Duplicating cells may crash (Bug #2576).
FIX: Keep a separate copy of the cell group before exploring it.

BUG: (01/05/10, GVG) exporting preferences to xml and re-importing causes some
     keybindings to disappear (Bug #2336)
FIX: Trying "UTF-8" instead on MacOSX (Snow Leopard)

BUG: (01/05/10, DN) Wiring problem (Bug #2569).
FIX: In LayoutCell.doMoveArcInst() use proper ArcInst constructor for arc "ar3".

IMP: (01/04/10, GVG) Analog flag reported as "Vertical NPN Transistor pbase"
     preference (Bug #2581).  Manual might need to be reviewed.

IMP: (01/04/10, GVG) Calling the default PSubstrate process instead of PWell.
     This goes aligned with the changes done for Bug #2561. Figure in 7-1-2 needs to be updated.

IMP: (01/04/10, GVG) Fix "AlgorithmName is accessed from Place cells" (Bug #2580)

BUG: (01/04/10, GVG) JELIB reader reporting errors in non-existing lines (Bug #2579)
FIX: Removed the adding of cc.lineNumber in the error report.

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

IMP: (12/30/09, DN) Remove thread-unsafe code.
   "ToolMenu|Network|Redo Network Numbering" was also removed.

************************* 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: (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: (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: (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.
