[go: up one dir, main page]

0% found this document useful (0 votes)
460 views161 pages

UPDATE en

The document provides release notes for various versions of EAGLE software, summarizing new features and bug fixes. EAGLE 9.6.2 included fixes for crashes related to deleting net classes and issues with Fusion Sync. EAGLE 9.6.1 addressed bugs involving group move operations and quickroute airwires. EAGLE 9.6.0 introduced a spline drawing tool and updated the Fusion Sync command.

Uploaded by

Dl Freitas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
460 views161 pages

UPDATE en

The document provides release notes for various versions of EAGLE software, summarizing new features and bug fixes. EAGLE 9.6.2 included fixes for crashes related to deleting net classes and issues with Fusion Sync. EAGLE 9.6.1 addressed bugs involving group move operations and quickroute airwires. EAGLE 9.6.0 introduced a spline drawing tool and updated the Fusion Sync command.

Uploaded by

Dl Freitas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 161

EAGLE Update Information

========================

This file contains information for users of previous EAGLE versions.


Please read this file entirely if you are updating from an EAGLE version
prior to 9.6.2!

Release notes for EAGLE 9.6.2


=============================

* Bugfixes:
- Fixed a crash that could occur when deleting net classes.
- Sometimes it happened that an issue stopped Fusion Sync from working with
custom 3D Packages.
- Fixed issue that lost the link to Fusion Sync after an EAGLE restart.
- Fixed a problem where the REROUTE command sometimes left routes ripped up.

Release notes for EAGLE 9.6.1


=============================

* Bugfixes
- Fixed GROUP MOVE with a rotation that could cause short airwires showing up
between pads
and already routed wires.
- The QUICKROUTE AIRWIRE command could happen to cause a crash.
- Fixed the DRC ERRRAS window to properly refresh the number of reported
airwires.
- Fixed crashes and issues when using the FUSIONSYNC command.

Release notes for EAGLE 9.6.0


=============================

* SPLINE Command:
- The SPLINE command allows to place a 3rd order spline curve in the layout. The
SPLINE command
is restricted to using it in layer 20 Dimension. There is a new command icon for
SPLINE in
the command menu of the Layout Editor.

* FUSIONSYNC Command:
- Updated FUSIONSYNC command to connect to the new 3D PCB document which is
compatible with
Fusion 360 Electronics.
The "new 3D PCB" was introduced in Fusion 360 January update and it separates
the 3D PCB
into a different Fusion document. You can insert this 3D PCB document as x-ref
in more
than one mechanical assembly.

Release notes for EAGLE 9.5.2


=============================

* Bugfixes:
- Fixed a bug where in board, traces connected to locked components were moving
when trying to
move the component.
- Improved various performance issues related to MOVE, UNDO/REDO etc.
- No more multiple warning message popups when trying to delete a persistent
group in board
that has wires.
- Fixed update issues with persistent groups in board when an object was deleted
in schematic
and vice versa.
- Fixed a bug where locked members of a persistent group in board were also
deleted when the
persistent group was deleted.
- Fixed slow performance QuickRoute.
- Fixed the REROUTE command for a device that would fail to sometimes route power
nets.
- Panels will stop resetting to default position after opening new documents.
- Added missing items to selection filter in library.

Release notes for EAGLE 9.5.1


=============================

* CAM Processor:
- The system now produces warnings for inconsistencies between the defined layer
stack
and the CAM File Gerber item layers.
- When generating paste mask Gerber output for a variant, the system now
suppresses
tCream and bCream layer objects residing in Devices that are not populated in
the variant.

* Design Manager:
- Reduced the minimum size of the Design Manager panel.

* Filters:
- Now it is allowed to use a dash character "-" inside target values
(e.g. Name = XYZ-100 used in a filter criteria).
- Circular filter issue has been fixed and will now not allow a circular filter
to be saved or
run (filter saved as "A" and includes criteria "InFilter A", or filter "A"
includes pointer
to "B" which points to "A", etc).

* Library Editor:
- Improved performance for updating assets in the Library editor.

* Persistent Groups:
- Splited wires will be part of the same persistent group as they were before
splitting.

* User Language Programs:


- Updated pcb-service.ulp to order PCB layout service from PCBLayout.com owned
and operated
by Royal Circuit Solutions. Get a price quote for PCB layout service using PCB
QUOTE
button from Schematic and Board editor window.

* Bugfixes:
- Fixed performance delay issue on MOVE and ROUTE commands in the board editor.
- Fixed an error that would show an error dialog when copying a device from the
Schematic
editor to a Library.
- Fixed a non-working "File/Open" menu action.
- Miscellaneous improvements with memory consumption.
- Fixed an EAGLE crash related to updating a library on a Schematic which has a
Device without variants.
- Fixed QuickRoute airwire failures on signals with many pins, typically power
signals.
- Fixed issues where the buttons in the net class manager dialog would not
respond accordingly

Release notes for EAGLE 9.5.0


=============================

* Control Panel:
- New managed folders based hierarchy display of libraries. Now the user can find
all
the managed libraries within the managed folders they belong.
- Libraries can be copied from one managed folder to another. Start this branch
operation with
a right mouse click on the managed library and select the "Copy to Another
Managed Folder"
option.

* Persistent Groups:
- Added Persistent Groups in boards and schematics.
- New commands:
+ NEWGROUP: add a selected object to a persistent group.
+ UNGROUP: remove a persistent group.
+ EDITGROUP: add/remove objects to/from existing persistent groups.
- Groups View in board and schematic Design Manager to create/manipulate
persistent groups.

* Design Manager:
- The new Design Manager in the schematic editor includes a "Browser" tab which
contains "Parts",
"Nets" and "Groups" views, and a "Filter" tab. The Browser tab views give a set
of hierarchical
panels to allow the user to drill down from Sheet to Part to related Part items
in the Parts
view, from Netclass to Net to related Net Items in the Nets view, and also
offers a special
Groups view to create and edit Persistent Groups.
- "Filters" allow for precise and dynamic selections of design objects based on
name, value,
attributes, and other properties. Each filter is a combination of Filter
Criteria combined into
logical expressions using AND and OR operators. The "Filter Composer" offers an
interface to
create Filter Expressions.
- Filter Expressions can also be created/shared in text form. Filters can be
saved in a design
or across designs (in the EAGLE settings), and both in schematic and in pcb.
- Detailed help on Filter Criteria and valid syntax and operations is available
in EAGLE.
- "Groups" view shows persistent groups. They can be hierarchical. New commands:
NEWGROUP command
to add selected objects to a persistent group, UNGROUP command to remove a
saved group,
EDITGROUP command to add/remove objects to/from existing persistent groups.

* Libraries:
- Parts in EAGLE libraries now can have a popularity score between 0 and 100. You
can filter
popular parts in the ADD dialog based on the popularity score threshold.
- The popularity threshold can be set in the Options/User Interface menu.
- The popularity score of a part can be changed or newly set, with an attribute
with the name
POPULARITY, in the library editor.

* Library Editor:
- The creation of a new managed library now requests a target managed folder for
the library.
- It's possible now to select multiple Devices, Footprints, 3D Packages and
Symbols in
order to remove multiple assets.
- You are allowed to select multiple Devices, Footprints, 3D Packages and Symbols
in order
to import them into the current library.
- It's possible to select multiple Device variants in order to delete them.

* CAM Processor:
- The Assembly output section has a new Pick and Place output type.
- Default template and example CAM Job files now include a default Pick and Place
output item.
- When a CAM job is processed from the command line and a non-existent output
folder provided,
the system now creates the required path.
- When specifying layers for a Gerber CAM job item, you can now access custom
layer presets.
- When the current Assembly Variant is a critical aspect of a CAM output item
(BoM, PnP, Paste Mask),
the system produces a warning message to inform you of this condition.

* DELETE Command:
- Improved performance when deleting parts from schematic on large designs.

* LOCK Command:
- The LOCK command has additional options. Lock all object, Unlock all objects,
Lock all
objects in the currently active layer. This three options can be executed via
icons
in the parameter toolbar or in the command line.
- Additional options to lock/unlock objects in specific layers by layer name or
layer number.

* NAME Command:
- Fixed issue where a PCB polygon pour signal would not be properly renamed when
the corresponding
net in the schematic was renamed, usually with a power symbol rename.

* ROUTE Command:
- Improved ROUTE command pushing results and performance. Cases where the push
would fail
for no obvious reason now have better results with less lag.
- Fixed crashes or hangs that could occur when completing a differential pair
route.
- Fixed cause of unexpected condition in ROUTE command
(d_interactiveroute.cpp(555)).
- Fixed case where undo logging could be turned off incorrectly in ROUTE command.
- Fixed case where the Quick Route Airwire could cause EAGLE to hang.
- Fixed crash in router due to parentheses characters in the layer names.
* REROUTE Command:
- The new REROUTE command will ripup and route/fanout signal pads on a selected
device.

* Bugfixes:
- [MacOS only] Fixed scrollbar overlap on update icons in the Library Editor.

Release notes for EAGLE 9.4.2


=============================

* Bugfixes:
- Fixed issue where GROUP command snaps to grid after using Bus Breakout command.
- Fixed several issues with docking panel behavior, floating panels now show/hide
with their respective editor window.
- Fixed a crash in the ROUTE command that could happen while pushing against a
device with embedded signal layer wires.
- Fixed an Unexpected Condition using the ROUTEMULTI command with a complex
arrangement of starting objects.
- CAM Processor now produces paste mask Gerber output with stencil features
suppressed for surface mount
devices that are not populated in the current assembly variant.

Release notes for EAGLE 9.4.1


=============================

* Bugfixes:
- Fixed issue where changing visibility of certain layers affected visibility of
others.
This also affected some issues when redrawing in certain cases.
- Fixed issue where Ratio checkbox was greyed out in cases where "Always use
Vector font"
flag was enabled.
- Fixed crash when using non-default assembly variant in schematic.
- Fixed issue where panels (Selection filter, Inspector) would come back after
re-opening
Library editor if the user had closed them.
- Allow row selection in multiple objects inspector to apply changes only to a
subset of
the selected objets.
- Fixed issue where SLICE command cut through layers in Single Layer Mode even
though
they are greyed out.
- Some crashes or lockups that could occur using Quick Route tools are fixed.
- Fix ROUTE command to allow placing a via at the route start point.
- Change the default ROUTE command behavior of keeping the route straight when
the cursor
is within a short distance of the routed wire endpoint. If the CTRL/CMD key is
now pressed
and held, the route becomes a single wire snapped to the nearest 45 degree
direction.
- The ROUTE command now highlights the routed net in the Schematic editor
correctly.
- Fixed a problem with ROUTE command where the attached airwire could jump to the
editor origin.
- Fixed the ROUTEDIFF command that could fail (obstruction indicator displayed)
when the
line width was reduced.
- Fixed selection issues of the ROUTEDIFF command where sometimes the wrong
paired
object could be picked.
- The assignment of Ctrl+S in the default assignment script now works correctly.
- In CAM Processor, Drill outputs now reliably respect the Units setting.
- CAM Processor now initializes without errors when design has Assembly Variants
defined.

Release notes for EAGLE 9.4.0


=============================

* Object Inspector:
- The new Object Inspector shows properties of selected objects. The Inspector
panel is available
in the schematic, board, footprint and symbol editor windows. Use the GROUP
command to select
objects. Depending on the selected objects it is possible to change its
properties directly in the panel.

* Selection Filter:
- The Selection Filter panel allows to pre-select the objects and the layers or
layer sets you want to
execute a command on. With the Reset button you can restore the initial
settings.

* CAM Processor:
- When the CAM Processor dialog is launched from the Manufacturing Fly-out, its
location is centered
in the PCB Editor window.
- A new Auto Drill output item has been added to the CAM Processor, providing
comprehensive drill output
for any layer stack configuration.
- A new Assembly section and BOM output item have been added, providing a simple
bill-of-materials output.
- Output Sections are now presented in an order that conforms more closely to a
manufacturing process order.
- System template and example CAM files have been updated to utilize the new Auto
Drill and BOM Output types.

* Managed Libraries:

- Added the ability to remove/re-install bundled Eagle managed libraries using


library manager.
- Creating a managed library (or a new version of a managed library) can now be
done in the
background (i.e. the progress dialog and library can be hidden).
* COPY Command:
- The COPY command now has options to copy Devices, Symbols, Footprints, and
Packages
from a design file into a library.
- The context menu of assets in design files now has entries for copying assets
into a library.

* EDIT3D Command:
- This new command can be used on an element or part and allows you to edit the
associated managed
3D package. If the element or part has an override_package3d_urn (see CUSTOM3D
command), it will
edit that associated custom package instead of the originally managed 3d
package.
* CUSTOM3D Command:
- This new command allows to assign a custom 3D package to a part or element in
schematic or board.
If there was already a reference to a 3d package, it will be ignored in favor
of the custom
3D package in the Fusion ECAD/MCAD process.

* REMOVEOVERRIDE Command:
- This command removes the overriding custom 3D package assigned to an element or
part.

* ROUTE related Command and modes:


- ROUTE modes that were once specified as command modifiers have been converted
into explicit
individual commands. You will find them logically grouped together as dropdown
listboxes of icons
on the command toolbar when a route command is active. See the online HELP for
details about these
commands.
- The new ROUTEMULTI command has been added to allow you to interactively select
multiple signals,
and then route them concurrently as a parallel configuration of wires. The new
command operates
consistently with existing single wire ROUTE command, in that it can avoid
obstacles with
walkaround or push and shove, responds to the BACKSPACE/DELETE key by deleting
the prior committed
wires (prior mouse click), and more. See the online HELP for complete details.
- The ROUTEDIFF command has been added to allow you to interactively route
differential pairs. This
command behaves similar to the ROUTEMULTI command, in that you concurrently
route both sides of
the pair; however, maintenance of the pair's mutual proximity is automatic. See
the online HELP
for complete details.
- The ROUTE command will now properly utilize a microvia for a layer change, if
the design rules
and conditions dictate that placement of a microvia is appropriate.

* Miscellaneous:
- When a Wire has an extremely small Curve value (virtually linear) which would
cause an overflow
of the Radius field, EAGLE automatically adjusts the curve to 0.0.
- Single Layer Mode will no longer select objects on greyed-out layers
- Performance improvements for MOVE commands and live DRC
- Fixed crash in SLICE command with ripup towards coincident point of 2 wires

Release notes for EAGLE 9.3.2


=============================

* Bugfixes:
- Now different nets are allowed to touch when on a bus.
Normally nets of different name cannot touch, but this is the exception where
different nets can touch
without requiring a merge, if they are on a bus and part of the bus
specification. Bus breakout and
net operations now allow this functionality so the user can breakout different
nets on either side of a bus.
- Fixes to the opening of public managed libraries in read-only mode.
- Fixes to 3D packages in the Beagle Bone Blue 3D example.

Release notes for EAGLE 9.3.1


=============================

* CAM Processor:
- File name field character limits have been increased.
- File Save option is now disabled when you have not modified loaded CAM data.
- When you load a board file from projects/tutorial folder, the behavior of the
Save As option is now more predictable.
- File Load options now provide explicit access to examples folder.
- You can now delete all characters from File Name fields without causing CAM
Processor to lock up.
- Drill details are now updated properly as you select different Drill Output
Items.

* Bugfixes:
- Fixed crash bug when keeping simulation dialog open and opening a different
design.
- Fixed issue where copy and paste of a simulation probe results in unattached
probe.
Simulation probes need to be placed/added where needed.
- Fixes to the opening of public managed libraries in read-only mode.
- Added 3D versions of the Beagle Bone Blue and Beagle Bone Wireless example
projects.

Release notes for EAGLE 9.3.0


=============================

* CAM Processor:
- Automatic generation of Drill Output Items and manufacturing Fly-out Drill tab
now reflect all
valid via layer spans (even interior spans implied by blind vias in layer stack
definition).
- Example JSON CAM Job Files now reside in $EAGLEDIR/examples/cam/examples sub-
folder of EAGLE installation.
- Load and Save of CAM Job files now behaves more predictably, with "Save" and
"Save As" options added.
- Detection of modified CAM Job file data in CAM Job editor has been improved.
- Load performance of board files containing large polygons is improved by
deferring creation of
preview data until actually required.
- Drill Output Item dialog page now shows preview of drill holes.

* FANOUT command:
- Added a new "Allow Violations" mode to allow performing a fanout even if the
via causes violations.
This can ease trying to track down the source of problems when the fanout can
potentially fail for
some vias. This mode is available through an icon on the parameters toolbar.
- The command line now allows an optional input for the fanout direction IN | OUT
| ALTERNATE.

* GROUP and INFO command:


- Added a new selection feature that allows for filtering out attributes for
either group or single
selection. The option is found on the parameters toolbar when the INFO or GROUP
commands are active.

* FUSIONTEAM command:
- With this command you can send schematic, board, and manufacturing files to
Fusion Team.
Once published a design to Fusion Team, the user can view, share, and comment
on the schematic
and board file in the web, and additionally view the 3D board on Fusion Team,
even if you
do not have EAGLE or Fusion installed.

* SPICE Simulation:
- Simulation dialog is now non-modal. It will watch schematic design changes and
let user know when
update is needed, instead of blocking.
- Bugfixes:
+ Several fixes related to model mapping, particularly when changing the spice
type of an already
mapped part.
+ Performance lag issue fixed in schematics with lots of parts, pins, and lots
of connectivity.
- LTSpice support removed. It was confusing to users since EAGLE has an
integrated ngspice simulation.

* Bugfixes:
- Local and global attributes in devices are now displayed correctly, if
multiple attribute texts
of the same attribute are used in the device.
- After changing layers while routing in the layout editor it could happen that
the board display
was not properly refreshed.
- Fixed a crash in the layout editor that could potentially occur while changing
the thickness
value while editing the layer stackup in the Design Rules.
- The warning message shown on placing a part that has more than two pins with
two of its pins
on a common net that could not be split into two parts has been corrected.

Release notes for EAGLE 9.2.2


=============================

* Bugfixes:
- Fixed issue where several recently added commands caused out of order execution
in scripts.
- PINBREAKOUT: Added warning and required user confirmation for case when pin
breakout
would create shorted connections, for example, two parts broken out with the
same pins,
and using Pin Name option.
- The CAM Processor no longer automatically adjusts to negative image mode based
on mask
File Function settings. Additionally, all 'Template' and '3rd Party CAM Job
Files' are
modified to remove negative image conditions in their Gerber Output
definitions.
- Now a text that contains space characters can be copied with COPY and PASTE
into a
NAME dialog. The space characters will be removed. A text like "AB CD" will
result in
"ABCD". Such texts could not be handled in previous versions.
- Fixed an issue when using the BUS command after a GROUP selection operation.
- Fixed an issue with COPY or PASTE with schematic parts that could possibly
result
in misaligned placement of the board element's attributes not being located in
their default location.

Release notes for EAGLE 9.2.1


=============================

* Miscellaneous:
- Replaced Eurocircuits DRU files with updated ones.
- Added tooltips for multiple fields in PIN/PAD/SMDARRAY command dialogs.

* Bugfixes:
- Fixed issue where OP simulation results were not possible to turn off due to
missing layers
in mapgates example file.
- Fixed an issue with an "invalid condition" error message referencing the file
oPart.cpp.
- If a value for "min length" is given in the NETBREAKOUT dialog, now the
checkbox for using it
will be enabled automatically, as soon as there is a value in the field. This
avoids previous
problems with having the checkbox not enabled.
- Fixed a drawing issue where adding a part to the schematic generated a warning
or error message.
- Digital Source Parts related:
+ Fixed issue with new Digital Source type part, where it could not simulate
after
copy/paste operation.
+ Icon for Digital Source Setup made more distinct visually from Analog Source
Setup icon.
+ Improved error checking for CSV import into new Digital Source setup table
input interface.
- Fixed issue where loading an EAGLE file created in 9.2 into an earlier version
of the software
would create duplicate device attributes.
- Fixed PCB issue where the board file contained zero-length arcs that would
cause zooming and
viewing problems in the editor.
- Fixed an Unexpected Condition when importing a P-CAD PCB file.
- Fixed the ROUTE command to ignore airwires when layer 19, Unrouted, is turned
off.
- Fixed COPY/PASTE and Add Design Block to not restore the attribute positions to
their default
(library) location.
- Fixed a crash related to moving or routing after undoing a delete or ripup of a
trace.
- Fixed an issue where MOVE in preserve angle mode could remove a wire.
- Fixed an issue where MOVE in preserve angle mode could reverse an arc's
direction.
- Fixed Shift+MOVE for polygons in preserve angles mode.
- Alternate core and prepreg materials in new layers stackup dialog.
- PINARRAY/PADARRAY/SMDARRAY related fixes:
+ Fixed issue where new PADARRAY command did not properly draw a rectangle
around pads, if
pad shape was chosen as "long" or "offset".
+ PINARRAY, PADARRAY, and SMDARRAY now will place NAME and VALUE labels
automatically in their
recommended positions, above and below the part outline.
+ Fixed issue of multiple popups of the PIN/PAD/SMDARRAY dialog when "sides"
are not chosen
after clicking OK.
+ When adding an outline via the PIN/PAD/SMDARRAY command it could get
connected to an already
existing outline, leading to placement issues.
+ PAD/SMDARRAY now always properly supports placing pads with the currently
chosen rotation.

Release notes for EAGLE 9.2.0


=============================

* EXPORTSTEP Command:
- This new command exports the board into a STEP model using the cloud service
for FusionSync.

* FANOUT Command:
- The new FANOUT command performs fanout operations on selected devices (SMDs and
BGAs) or
signals, while providing control over the direction of the fanout and the via
size. This
command has an icon in the command toolbar and is also available from the
command line.

* NET Command:
- Removed automatic label mode from NET command. Proper auto-label function comes
with the
NAME command for nets.

* PINARRY, PADARRAY, SMDARRAY Commands:


- New PINARRAY, PADARRAY, and SMDARRAY commands, available via CLI (command line)
and from the PIN
and PAD/SMD parameter toolbars, allow creation of an array of PINS, PADS, or
SMDS in a regular pattern.
These commands offer configurable naming options, and automatic NAME and VALUE
text object
and outline placement.

* PAINTROLLER Command:
- Transfers selected properties of a selected object to other similar objects.

* PATTERN Command:
- The PATTERN command creates multiple copies of an object and arranges them in a
linear or circular pattern.

* SMASH Command / Reposition Attributes:


- The Smashed property has been removed from devices and elements, so instead all
placed devices or
elements are automatically smashed. Loading legacy designs will automatically
smash any unsmashed
devices or elements.

* SPICE Simulation:
- New digital and mixed-mode simulation feature.
* Digital models enabled for simulation.
* New library ngspice-digital contains simulation-ready digital parts and parts
for use in
mixed-mode simulations.
* New examples provided using the new parts under /examples/ngspice/.
* Re-organized examples into Analog, Digital, and MixedMode folders.
* Check added to make sure analog and digital parts are not mixed on the same
net.
* Added new digital plotting mode for use with digital simulations.
* Changed previously named SOURCESETUP command to have a description of "Analog
Source Setup",
and added new command DSOURCESETUP with description "Digital Source Setup".
This command has a
UI that allows the user to specify digital data for multiple source pins,
either manually by
entering in a table, or by importing a properly formatted csv file.
- Measurement functionality added to plotter: click once at two locations and a
table will popup
to show the difference in x and y axis values for all plotted signals.
- Added check for frequency of 0 when DEC type AC simulation is run.
- Fixed bug to make sure simulation configurations parameters are saved for all
fields, not
only those corresponding to the chosen simulation type.

* Library Editor:
- When a new 3D package is copied into a library, it is now added to any device
variants that reference
the 3D package's footprint (if the device has no 3D package and no other 3D
package in the library
references the footprint).

* CAM Processor:
- Improvements and issues resolved when using the CAM Processor within EAGLE:
* The CAM Processor dialog can now be resized.
* A CAM Job File that specifies an output file containing a non-existent
directory prefix now successfully
creates the directory path.
* The default Gerber format for Template CAM Job Files and newly created CAM
Job File Gerber Items is RS274-X.
* Seeed Studio CAM Job Files have been added to the CAM Processor Third Party
category.
* Beta Layout CAM Job Files have been added to the CAM Processor Third Party
category.
* The Negative Polarity checkbox has been added to CAM Processor's Gerber Item
page. It affects the
Preview display and Gerber output.
* Some file function settings (e.g. Solder Mask) produce negative image
polarity by default.
* Display of Legacy Gerber CAM Item layers in CAM Processor has been improved,
especially when operating
from EAGLE Control Panel with no active PCB design.
* Drill, Gerber, and Drawing Output Sections all have output file prefixes,
with corresponding
symbols for use in their Output Item's file name.
* Size capacity of Output Section prefix fields and Output Item file name
fields have been increased.
- Several issues have been resolved when executing EAGLE CAM Processor from a
command window:
* The -dCAMJOB option to completely process a JSON CAM Job File is now fully
documented in the user manual.
* The -N option now completely suppresses all output messages.
* DXF output generation using -dCAMJOB no longer produces an "unexpected
condition" failure.

* Design Rule Check:


- Updated DRC engine, so that it does not flag wire stubs, if they are absorbed
by copper pours (polygons).
- Improved user interface for DRC > Layers tab.

* Miscellaneous:
- Added missing semicolon to eagle.dtd.
- Added CUT command on keyboard shortcut Ctrl/Cmd+X. This operation copies the
selected objects to the
clipboard, and deletes them from the design.
- Improved connectivity of wire segments in the schematic after some MOVE
operations.
- Improvement to coupling of buses and nets - changes in one will be reflected in
other, where applicable.
- Updated help for POLYGONIZE and MOVE updates.
- Pins with Direction NC (Not Connected) are now marked with a distinct cross
symbol.
- Added support for XREF labels with PINBREAKOUT and NETBREAKOUT commands.
- Placing a part with two unconnected pins on an existing net in the schematic
will split the net in two
parts instead of shorting it.
- The wire bend icons and via shape icons have been consolidated into drop-down
list boxes in the parameters
toolbar to save space so that on smaller displays the parameter toolbar would
fit within the window.
- Stopped bundling 84 obsolete libraries with EAGLE. They are still available for
download using the
Library Manager. See the ChangeLog in the cache/lbr folder for a list of the
libraries.

* Bugfixes:
- Fixed a bug that caused the REPLACE command to fail to update the library
reference when replacing the
second and subsequent parts/elements in a design with a device variant in a
device of the same name and
a library of the same name, but different URN (or a URN instead of no URN, or
vice-versa).
- Fixed a crash issue when opening a new simulation-ready design file after
simulating another.
- Fixed issues when BUS is started with a selection of nets made beforehand:
* do not start from selection, if Group Default is not on,
* do not start from selection of nets, if first click is on an existing bus,
* should not have to click twice when drawing bus from selection of nets.
- A number of issues related to the MOVE command have been solved:
* Fixed issue where traces get removed unintentionally during GROUP MOVE.
* Fixed crash that occurs sometimes when moving a via.
* Fixed issue where moving a component using the DISCONNECT mode leaves the
reference designator
(>NAME text object) behind.
* Fixed Ctrl+MOVE for rectangle and circle (adjust size) and Shift+MOVE for
polygon (move entire polygon).
- Fixed issue where live DRC does not update when global attributes are changed.
- Fixed issue where DRC reports an error on placeholder instead of attribute
value.
- Fixed crash when opening board.
- Fixed issue where polygon did not get reverted to outline when moving.
- Fixed issue where moving a polygon edge could corrupt the polygon resulting in
incorrect pour.
- Fixed the OPTIMIZE function to work properly during LINE related command
placement and during
MOVE operations.
- The import-gerber.ulp utility has been improved to operate correctly when the
ULP's path contains spaces,
and to update its dialog fields properly following Gerber file selection.

Release notes for EAGLE 9.1.3


=============================

* Bugfixes:
- Fixed issue where via could get disconnected during preserve angle MOVE
- Fixed snapping issues with MOVE

Release notes for EAGLE 9.1.2


=============================

* Bugfixes:
- Several minor bugs related to simulation and file and directory permissions are
fixed now.
- The simulation output format has been changed to ASCII; this fixes an
(unreported) issue with long
net names being clipped by the simulator, leading to plot errors.
- A connectivity issue that occurred after copying and pasting objects using the
PASTE command or
Ctrl+V has been fixed.
- A Design Rules file (.dru) now can be loaded directly into the currently opened
Board by a right-click
on the .dru file entry in the Control Panel's Tree View.
- When a Board file contains a polygon definition with no vertices, the polygon
is discarded with a
warning instead of an unexpected condition.
- Added two options to the user interface settings to help deal with HDPI issues
(enable auto screen scale
factor & enable hdpi scaling).
- Pasting a group or design block in PCB now draws the pasted objects properly
when zooming or panning.
- Quick Route now correctly handles restrict objects between SMD pads that could
have prevented a successful route.
- Quick Route now handles non-ascii characters in signal names, like a micro
symbol.
- The route command no longer prematurely ends a route when the width is edited
and the <ENTER> key is used to finish the width edit.
- The Line, Wire, Arc, Circle, Rect, Dimension, and Poly commands now allows
editing on the t/bNames and t/bValues layers.
- PCB variant devices that are not populated now display correctly.
- Quick Route now will always try to complete the route from the last routed
point when the <ENTER> key is pressed while actively routing.
- Fixed issue where display command was not transparant to MOVE
- Fixed issue where undo breaks when triggered during MOVE
- Fixed issue where MOVE command gets cancelled when invoking a WINDOW command
- Fixed issue where ports could no longer be moved on modules
- Fixed crash when moving specific groups
- Fixed issue where MOVE command got stopped when invoking GRID
- Fixed crash where MOVE would crash when invoking ZOOM
- Fixed issue where MOVE from the command line would snap to grid instead of
using the exact coordinates
- Fixed issue where via got disconnected during preserve angles MOVE
- Fixed issue where smashed attributes would disappear when group moving to
another sheet.

Release notes for EAGLE 9.1.1


=============================

* Miscellaneous:
- Added a query for a layer when using POLYGONIZE in COPY mode.
- Now you are allow to change objects from signal to non-signal layers.
- The error message shown when trying to make a bus with the same alias, but
different specification
as another bus already existing in the design within the same schematic scope,
has a better
understandable wording now.
- The behavior of Mirror button in the MOVE command are now relative to avoid
confusion when
using MOVE on groups.

* Bugfixes:
- Fixed an issue where the MIRROR command started from the middle mouse button
was reverted after
the first mouse move.
- Performance issues during panning are fixed now.
- Fixed an issue with the Quick Route modes when routing signals connected to
devices rotated by some non-90
degree multiple. The resulting routes could leave a very small air wire
underneath the pad.
- Fixed order of OK/Cancel buttons on a few recently added/modified dialogs (pin
breakout, bus breakout,
net breakout, and the bus dialog).
- The CAM Processor once again includes zero-width wires in exported Gerber files
(became discarded
in Version 9.1.0).
- The ROUTE command's Walkaround and Push Obstacles modes now operate reliably
when the board outline
is a single closed circle.
- Fixed a crash when using Quick Route on a design that had a layer name that
caused an
internal conflict, like "Power".
- Fixed issue where POLYGONIZE would not work in Symbol and Footprint editor.
- Fixed issue where the DRC dialog did not show up even though there were
approved errors.
- Fixed issues where moving a polygon wire could result in moving a via or wire
that overlaps with
a vertex of the polygon.
- Fixed issue where only visible layers were showing up in the layers combobox.

Release notes for EAGLE 9.1.0


=============================

* NET Command:
- The NET command offers a new feature that allows the user to breakout nets from
any
symbol pin from any number of parts in the schematic. It is accesible from the
command
line with the command NET BREAKOUT or through the Net Breakout icon in the
parameter
toolbar of the NET command. It includes custom label formatting options and an
auto-increment feature.

* Files and Directories:


- The Documentation folder is now accessed form the Help pull down menu.
- The Options/Directories dialog in the Control Panel now has an option that
allows
to hide the example directories.
- The installed example files are in read-only mode now.
- All files saved by the user will now be stored in the $HOME/EAGLE path.

* Library Manager and Libraries:


- The in-design tab in the Library Manager now considers managed libraries as
equivalents
for unmanaged libraries of the same name (since they will be used when updating
the
design from libraries).
- 3D packages can now be edited inside EAGLE (if the user is online).

* Manufacturing Flyout:
- In the Drills View, different hole layer spans are now separated into different
row
entries, with an indicator of their start and end layers. JSON and CSV output
now also
includes new start_layer and end_layer fields.
- The Highlight Drills utility's Previous button now correctly cycles through the
design's hole objects.
- The Preview color assignments are now saved in the .brd file, so they are
specific to each EAGLE PCB design.
- When configuring Manufacturing Preview color assignments, Color dialogs are now
initialised
with the current color assignment, not the default colors. A new Default Colors
option has been
added to the Configure Preview colors menu.

* CAM Processor:
- The CAM Processor's Board shape and Cutouts checkboxes now have tooltips that
indicate the
resulting 10 mil drawing width of the board/cutout edges.
- In the Advanced options sections, the Mirror Horizontal, Mirror Vertical, and
Rotate buttons
now change their color to indicate when they are in effect.
- In the Advanced options sections, the decimal portions of specified Offset X
and Offset Y
values are now processed correctly (and not discarded).
- In Excellon drill output, the Advanced section's Mirror Horizontal option now
work as expected.
- In the Gerber RS-274X output, the output file's header comment now indicates
the correct output format.
- In the Gerber output of rounded-rectangle SMDs, the overlap of neighboring
interior fill
strokes has been adjusted to produce a more positive overlap.

* User Language:
- When an User Language Program creates a zero-length wire object in an EAGLE
database, the
zero-length wire is now displayed.
- Updates to the Export/Libraries ULP: buttons for selecting managed or unmanaged
libraries
and a fix to the creation of the output directory on Windows.
- Updated dxf-export ULP to export blind and buried vias properly.
- Added new aliases for ULPs (UL_FOOTPRINT, footprint(), .footprints,
.footprint);
the previous syntax (e.g. UL_PACKAGE, package()) remains for backwards
compatibility.
The <package> tag in EAGLE XML files was retained.

* Miscellaneous:
- Now using "footprint" instead of "package" in the EAGLE interface to refer to
component land patterns.
- Added a new alias, ".fpt", for disambiguation when referencing assets by name
in the EAGLE
command line (".pac" remains for backwards-compatibility).
- Single airwires now can no longer be copied and pasted into a board design.
Only as a part
of larger selections that also contain all connected objects.
- The name of the Netlist button in simulation dialog in the schematic has been
changed from
"Save Netlist" to "Update Netlist" for a better reflection of the related
operation.
- Updated help for NET and BUS commands to better describe the recently added new
features.
- Added checks to make sure that the bus alias uniqueness is enforced.
- Enhanced connectivity by automatically connecting nets to pins, as soon as a
net's
endpoint touches a pin.
- When shrinking/swelling rounded-rectangle SMDs for paste/solder masks on
t/bCream and t/bStop
layers, the corner-round calculation has been corrected in order to to produce
a uniform
offset around SMD corners.
- Changed QuickRoute to use the ROUTE command parameter bar width setting for the
width for
the route results, or the minimum width rule, whichever is larger to avoid DRC
error.

* Bugfixes:
- Fixed a bug that caused the replacement technology from a previous UPDATE or
REPLACE command
to be used in a subsequent REPLACE command.
- Addressed an issue that prevented Managed Libraries from being stored on case-
sensitive Mac file systems.
- Fixed an issue with unicode characters not being able to be used in BUS
specifications.
- Fixed an issue that would cause duplicate footprints of the same name to remain
when updating
a board file without schematic. The issue occurred when the library contained a
footprint with
the same name as one used in the board, but a different URN, and different 3D
packages
referenced that footprint between the board and the library.
- Fixed an issue that could cause the ADD dialog in the board editor and the
import 3D package
dialog to associate 3D packages with the wrong footprint in certain cases.
- Fixed a crash in QuickRoute that could occur when routing signals multiple
times that exceed the tool's limit.
- Fixed an unexpected condition in Locator and a crash after a "Take" error
message that could happen while routing.
- Fixed Window Flip to draw the grid dots properly.

* Bugfixes already in 9.0.1 (but not in the release notes):

- Addressed several UI bugs associated with the new UI style, including cropped
text, menu font
size and spacing, Design Manager tabs, custom menu dropdown styling, accurate
placement, default
sizing of dialogs and table column widths.
- Fixed a bug where escaping the Display Layers dialog would overwrite the
'Display Last' setting.
- When multiple CAM Directories are specified in Control Panel, CAM Processor's
Job File Loader
now correctly lists them in Local CAM Jobs list.
- Access Violation on EAGLE shutdown is now avoided after legacy CAM Job has been
loaded into CAM Processor.
- Addressed several UI bugs associated with the new UI style, including cropped
text, menu font
size and spacing, Design Manager tabs, custom menu dropdown styling, accurate
placement, default
sizing of dialogs and table column widths.
- Fixed a bug where escaping the Display Layers dialog would overwrite the
'Display Last' setting.

Release notes for EAGLE 9.0.1


=============================

* Bugfixes:
- Fixed a bug that caused duplicate <package3d> tags to be inserted when updating
a board file without a linked schematic, which caused an error when re-opening
the board.
- Miscellaneous fixes related to buses:
+ Do not allow duplicate bus members.
+ Do not allow characters like , : [ ] in Alias field.
+ Do not allow ; (semicolon) anywhere in the bus specification field.
+ Do not consider order when checking bus name uniqueness, for example
I2C:SDA,SCL should
be same as I2C:SCL,SDA.
+ Make sure to always prompt when a merge is needed.
+ Do not show default/empty buses in the "in design" dropdown list.
+ Bus breakout target locations for new nets are now checked for nets and buses
in the
way (only checked nets before).
+ EAGLE now enforces unique bus aliases. When loading an old file that may have
duplicate names
(for example, members out of order), now a merge is performed so there is no
"cannot load"
error on loading the design file. Current EAGLE can no longer produce files
with duplicates.
+ Fixed issue where bus breakout nets did not connect to part pins if placed on
top of pins during
breakout operation
- Fixes related to ROUTE command:
+ Snapping to wires during loop removal is smoother and less jumpy now.
+ The ROUTE command does not end the route when a new route starts at the end
of an
exiting trace and a via is placed at the start location with a mouse click.
+ Now it allows a proper placement of micro vias stacked on top of each other.
+ Typing in a new width and pressing the enter key does no longer prematurely
end the command.
+ The Smooth Route option no longer disconnects T shaped routes.
+ The ROUTE command no longer produces an Unexpected Condition when
Copper/Dimension
DRC Distance is set to 0, and using a very small wire width.
+ The ROUTE command no longer creates occasional shorts in Walkaround Obstacles
mode
when you drag the route target into an unroutable area.
- The SET WIRE_BEND @... command works properly now.
- Fixed a crash on closing a project after the RATSNEST command was run.
- Fixed PCB commands that use PASTE (Design Block, clipboard paste) to properly
associate
the pasted device pads to the pasted signal.
- Fixed a bug where Pin breakout in some cases showed gate name twice.
- When generating CAM data in an unsaved PCB design (especially a new Untitled
design),
the system now exits gracefully when you dismiss the File Save dialog without
saving.
- Fixed crash found when using Ctrl/Cmd+Q to exit EAGLE after simulation dialog
was open.
- Fixed issue where automatic label placement mode was not automatically started
after bus creation in certain circumstances.

Release notes for EAGLE 9.0.0


=============================

* PCB Design Manager:


- The Design Manager in the Layout Editor window allows you to quickly and easily
browse, filter, and inspect complex data in your Layout. By clicking on the
entries
in the Design Manager you can
+ identify and highlight your components and signals on the board, explore
their
relationship and inspect various attributes (location, span, pin count, via
count,
airwire and routed wire length...),
+ browse and filter items hierarchically by name/keyword, as well as object
type,
allowing you to quickly drill down in the minutest details,
+ select items across the board that might be hard to select otherwise,
+ directly launch the object's Properties dialog, as well as commonly used
ROUTE
and RIPUP command options.

* BUS Refresh:
- New simple workflow and user interface for creating busses that flows
as follows: start BUS command, draw bus, define specification, (optional) place
label.
- New "Prefix Nets" checkbox option in new bus dialog that allows for simple bus
member prefixing when creating new buses (i.e.,
SPI1:SPI1_MISO,SPI1_MOSI,SPI1_CLK).
- New BREAKOUTBUS command in schematic, used from a bus right-click context menu,
allows user to breakout a single net, selection of nets, or all nets as new
nets
with labels extending from the bus.
- New PINBREAKOUT command that allows user to right-click on a part instance (or
a
pre-selected group of part instances) in schematic, and breakout all, or a
selection
of pins from the part. New nets are created that are connected to the chosen
pins,
with labels that match a one of a user-selectable list of label formats.
New CLI format "PINBREAKOUT partname type" allows for making the label format
type
choice and to select which part to breakout.
- New BUSFROMSEL command allows the user to select any number of nets in
schematic,
and create a bus using those selected nets to pre-fill the bus specification.
Select nets, then right-click and choose "Make Bus", or type BUSFROMSEL on the
commandline, then continue on through finalizing the new bus per new normal
workflow.
- New PINTOBUS command allows the user to automatically breakout nets from parts
in
schematic to nearby buses facing the corresponding part pins. Select one or
more
buses, then right-click on a part and choose "Connect pins to bus". If any of
the
members of the selected bus match any of the names of pins on the part, and if
there is no connection already made from those pins, and there is a straight
horizontal or vertical line path available out to the bus from the
corresponding pins,
then new nets will be created from the part pins to the nearby bus(es).

* SPICE Simulation:
- New REMOVE MODEL command added to be able to remove all SPICE
attributes and properties from mapped parts.
- Use the DeviceSet prefix (if set) as first guess for spice type when in
Library Device editor and setting SPICE type in Add Model dialog.
- Improvement to SPICE model support: support subcircuits that require input
parameters when verifying simulation models.

* Library Editor:
- New "In Design" tab in library manager shows libraries open in the current
schematic/board. A banner notification is shown if the user opens a design that
references libraries that can be downloaded or updated.
- The 3D packages of device variants are now shown in the device editor.
- New right-click context menu items for adding devices to a schematic or
packages to a
board directly from the library editor table-of-contents view.
- New dialog for importing 3D packages from other libraries.
- New UI and command line syntax for replacing the package and 3D package of an
existing device variant ("PACKAGE @vname package", etc).

* CAM Processor:
- Excellon drill output now correctly creates individual drill files for each
specific
via layer span.
- When a CAM job file or CAM template contains an integer or decimal significant
digits specification that falls outside the legal range, the CAM processor now
produces an error message, instead of an unexpected condition.

* LAUNCH Command:
- Command line syntax for launching the package generator and web-based package
search
updated to "LAUNCH package3d-generator" and "LAUNCH package3d-web-search"
respectively.
* PACKAGE Command:
- New command line syntax for replacing the package and 3D package of an existing
device variant. See HELP PACKAGE.

* RIPUP Command:
- The RIPUP command now has a number of modes that can be selected with the right
mouse button
or with the icons on the parameter toolbar. There are the following modes
available:
Default, Signal, Connected Copper, Connected Copper on Same Layer, Between
Components,
All Signals, All Polygons.

* ROUTE Command:
- Performance improvement in several cases of obstacle avoidance, mostly
involving
collisions with board edge.
- When starting a route from a multi-layer object, Shift+Middle mouse key now
presents
a start layer selection dialog.
- Several new routing modes are added: Quick Route Airwire, Quick Route Signal,
Quick Route Multi-Signals, and Smooth Route.
- When routing in Walkaround or Push Obstacles mode, Enter key now auto-completes
the
route to the airwire anchor object.

* Miscellaneous:
- The algorithm for highlighting allows for greater range of darker and brighter
values.
- Now EAGLE supports Unicode on Windows out of the box. The Option.Codec setting
was removed
and UTF-8 encoding is used for all files on all platforms.
- Offline period extended from 14 to 30 days.

* Bugfixes:
- Fixed a bug in the Display/Layer dialog where cancelling or pressing ESC after
changing the layer filter would adversely affect which layers were visible.

Release notes for EAGLE 8.7.1


=============================

* Miscellaneous:
- Added a Cancel button to the Visible Layers dialog (DISPLAY) that will restore
the previous visibility and color settings of the layers to whatever they were
when
the dialog was opened. The ESC key will also work for this.
- Improved performance of board shape rendering.

* Bugfixes:
- Fixed a bug that could lead to schematic/board inconsistency when updating
using a
library with a 3D package that contains multiple references to the same (2D)
package.
Such a library could have been created due to a bug when importing a library
with a Device
in which multiple variants reference the same footprint.
- PASTE pin list now properly handles forward slash characters "/" in single
column mode.
- Fixed copying pin list from Adobe Acrobat on Mac OS.
- Fixed a crash when starting the ROUTE command from the command line on a signal
that is already routed.

Release notes for EAGLE 8.7.0


=============================

* Managed Libraries:
- New package generator creates packages and corresponding 3D models from package
parameters. Supports multiple SMD package types, including QFP, SOIC, BGA,
SOT23,
Chip, and more.
- The generated 3D models can be used for EAGLE/Fusion 360 or downloaded in STEP
or OBJ format. Note: 3D models are generated using maximum values of the input
parameters.
- Generated copper land-patterns should conform with IPC 7351-B specifications.
Note: courtyards are not generated; solder mask and solder paste are derived
from the
generated pad geometry using the default EAGLE expansion algorithm as
configured by the
Design Rules in the PCB.
- New package search allows searching for packages from the library.io community
site.
Search results can be filtered using package-specific metadata, e.g. # of pins,
pitch, body size,
lead span, etc. (This metadata is automatically created for packages using the
package
generator and can be manually input for existing packages.)
- It's now possible to update libraries to new versions of 3D packages from
within EAGLE desktop.
- 3D packages can be removed from libraries.
- Can now import packages from other libraries when creating a new device
variant.
- Managed packages and 3D packages can now be shared across libraries (i.e. their
URNs are
retained when they are copied between libraries).
- EAGLE now stores references between 3D packages and their associated
footprints. New device
variants can be created from a combination of a 3D package and its package(s).

* SPICE Simulation:
- User SPICE models directory now configurable in the Options/Directories dialog.
- Simulation O.P. results labels on nets and part instances can now be moved
like other text objects in schematic.
- Precise plot range controls added to simulation plot.
- New waveform save/recall feature for comparative analysis.

* Manufacturing Flyout:
- Improved behaviour of zooming, panning and right mouse click in the
Gerber/Manufacturing previews.
- Manufacturing preview window resolution can now be set by user.
- Gerber preview images can be saved to file.

* Layer Colors and Settings Management:


- Selecting a layer in the DISPLAY dialog no longer displays or hides the layer.
This is done
by clicking into the new left column represented by an eye icon (similar to the
SHOW icon).
- The new buttons "Show layers" and "Hide layers" will show or hide all of the
selected layers.
- Pressing the spacebar should toggle the visibility of the selected layers only.
- Right-click on the layer list opens a context menu offering the Show/Hide
layers options.
If there is only a single layer selected, it offers a third option for
accessing the
Preferences of this layer.
- The Layers dialog of the DISPLAY command now allows to set the layer colors.
Double-click the
layer entry in the list to access the "Change layer properties" window.
- The highlight color is automatically set as soon as you select a color for the
layer. These values
are stored in the eaglerc file.
- The intensity of the highlight color can be set applicationwide with a slider
in the
Options/Set/Colors menu.
- The color swatch for the highlight color is not selectable / not a button / not
user editable
in any way.

* NAME command:
- Automatic label placement mode after NAME command used on nets and busses.
The Label checkbox is checked by default checked, if no label exists. If there
is already a label set, it is unchecked.

* PASTE command:
- Symbol editor now supports copying list of pins from external sources (e.g.
text,
PDF or spreadsheet). Note: multiple modes are supported including well formed
curated
pin lists as well as free-style copying directly from source (i.e. text or
PDF).

* ROUTE command:
- When the ROUTE command contours obstacles with a 90-degree bend style, wires
now conform to
90 degree orientations, when possible.

* Miscellaneous:
- CAM export via the command line no longer requires unnecessary user input.
- The CAM Processor now shows a warning if the EXCELLON output configuration
doesn't include
all drill sequences specified in the board's layer setup.

Release notes for EAGLE 8.6.3


=============================

* Bugfixes:
- Fixed an issue where zero-length airwires disappeared for overlapping SMD pads
resulting in inconsistency issues.

Release notes for EAGLE 8.6.2


=============================

* Miscellaneous:
- Updated Design Blocks DESCRIPTION in Control Panel.

* Bugfixes:
- Manufacturing preview bottom view soldermask was not transparent, which caused
traces not to be visible.
- Removed some leftover compiler warnings related to CAM.
- Minor CAM related fixes (substrate color selection dialog title, ignore always
export to project directory for single file exports).

Release notes for EAGLE 8.6.1


=============================

* Miscellaneous:
- Minor updates to CAM templates.
- Legacy CAM style options are now displayed in the CAM dialog
- Added a warning message for when a user runs a mixed job (legacy and new).
- Added an export to project directory option to the new CAM exporter.

* Bugfixes:
- Fixed an issue that caused all layers of the Symbol Editor to be set not
visible when
changing the properties of a layer of the Package Editor in the LBR: section of
eagle.scr.
- An unexpected condition error (undo.cpp(530)) that could occur while routing a
differential
pair has been fixed.
- A gate swap could cause an inconsistency error.
- It could happen that all approved DRC errors were lost after changing the
assembly variant
or editing the Design Rules.
- The error polygons of the last error entry of the Approved Errors list remained
visible
in the drawing.
- Fixed a ROUTE command Walkaround Obstacles mode issue where committing a route
at an obstacle
boundary and then continuing caused an Unexpected Condition Error at
routepath.cpp line 259.
- Fixed an issue with CAM and non-existent layers.
- Fixed an issue with invalid DXF files caused by net names with special
characters.
- Global attributes are now exported to Gerber.

Release notes for EAGLE 8.6.0


=============================

* MANUFACTURING command:
- The new MANUFACTURING command provides access to the Manufacturing Flyout and
the CAM Processor. The Manufacturing Flyout displays a Live Board Preview,
drill map,
and Board properties.

* ROUTE command:
- Improved Push Obstacles mode can now successfully push oddly angled wires, and
multiple
wires of different widths.

* CAM Exporter/Processor:
- CAM Exporter shows a Live Board Preview.
- Supports export of DXF and Gerber X2 data format.
- New one-click manufacturing data export function for common layer stacks.

* User Language Programs:


- Bug fixes and improvements to the exp-lbrs.ulp (File/Export/Libraries):
+ added support for a replace script when exporting to multiple libraries
+ added progress indication/status updates while exporting
+ if a specified folder does not exist, it will be created
+ corrected issues with missing or extra "/" at the end of paths
+ the replace script now works correctly with libraries containing space
characters in the name
+ fixed an issue where two libraries containing a package with the same name
prevented the package being exported to the second library
+ removed option to create replace script from Layout editor where it was not
applicable
+ updated German translation

* Miscellaneous:
- Updated Design Rule files for Multi-CB.
- The "Make" button has been removed, due to the new CAM Exporter options.

* Bugfixes:
- Now user defined text menus are retained correctly when switching from/to the
Library editors's Table Of Contents mode.
- Fixed EXPORT IMAGE of a windowed area to properly output a flipped board view.

Release notes for EAGLE 8.5.2


=============================

* Bugfixes:
- Fixed bug where the ROUTE command could sometimes leave a very small airwire
after finishing
a route to a pad.
- Fixed bug where nets are incorrectly displayed from one sheet on another, when
drawing nets on
the second sheet under some conditions.

Release notes for EAGLE 8.5.1


=============================

* Bugfixes:
- Under some circumstances in the ADDMODEL dialog a wrong model could be loaded.
- The ROUTE command shortcut key Ctrl+Space for changing the start route layer is
now correctly assigned on Mac computers.
- Removed "Save as image" feature on simulation plotter canvas. This was a non-
working feature
embedded in browser.
- It could happen that the drawing did not refresh after changing the names
names.
- Added dropdown menu to new ULP and SCR dialogs to allow switching betweeen all
paths
specified in the directory path. This fixes a bug where users with multiple
paths would
not see items in the dialog.
- Fixed bug where EAGLE would freeze upon execution of certain ULP’s.
- Fixed the ROUTE command to not remove a loop that contains locked wires and/or
vias.

Release notes for EAGLE 8.5.0


=============================

* Simulation:
- Simulation plot enhancements and fixes:
+ Style changes
+ Corrected a problem in log scale plotting
+ Updated number formatting
+ Clear All and Select All options added to signal selection menu

* Design Rule Check:


- Added option to omit tValues/bValues layers from DRC checks.

* User Language:
- Update of exp-lbrs-replace2.ulp so that the dialog window can be resized.
Improved
handling of Managed Libraries and Export/Libraries menu for exp-lbrs.ulp and
exp-lbrs-replace2.ulp.

* ROUTE command:
- Push Obstacles is a new mode that allows you to route critical wires while
dynamically
pushing existing routes aside and out of your routing path.
- When routing from a through-hole pad or via, the routing start layer can now be
changed
with a keyboard shortcut: Ctrl+Spacebar toggles the start layer in the forward
direction,
Ctrl+Shift+Spacebar toggles the start layer going backwards.
- The existing Avoid Obstacles mode now allows you to route wires in areas where
the routed
wire fits perfectly between obstacles. This was not the case in some situations
in previous versions.

* LOCK command:
- Added the lock feature to WIRE, HOLE, VIA and POLYGON objects.

* Managed Libraries:
- Add "Open in library" option for Managed Libraries device/package/symbol in the
Control Panel.
- A backup of a Managed Libraries is made before downloading new versions from
the library manager.
- A backup of the local draft of a Managed Library is made when creating a new
server version or
reverting to server version.
- Fixed the behaviour when opening a Managed Library as Managed Library by the
File/Open menu in
the Control Panel and the Library Editor.

* Library Updates:
- Changes in con-molex, con-samtec, inductors, led, ngspice-simulation, rcl, ref-
packages, smd-ipc,
and switch-dil libraries. For details see Changelog file located in
$EAGLEDIR/Cache/lbr.

* Miscellaneous:
- New options in the Set dialog to control PCB canvas, Single Layer mode dim, and
route indicator colors.
- Updated the eagle.dtd file which contains the EAGLE file format decription.
- Added dialogs to ULP/SCR buttons with descriptions of specific ULP/SCR
functionality.
- Now retaining the URNs of packages when they are updated in a library.
- When duplicating a package in a library, now clearing the URN of the duplicate
package.

* Bugfixes:
- Made sure that tRestrict/bRestrict layers are visible in Active Layer mode.
- Fixed an issue where bottom pad names did not show up in Active Layer mode.
- A crash could occur when opening a package for editing after updating it in a
library.
- Open as Managed Libraries those Managed Libraries opened by File/Open/Library
menu
in Control Panel and Library editor.

Release notes for EAGLE 8.4.3


=============================

* Bugfixes
* Linux: OpenSSL update

Release notes for EAGLE 8.4.2


=============================

* Miscellaneous:
- Added Design Rule Files from WEdirekt.

* Bugfixes:
- Fixed a bug that could cause a crash when importing a package that replaces an
existing package in a library.
- Fixed bug when choosing "NO" to convert all parts named 'GNDxx' during the
Spice conversion process.
- Updated some ngspice examples that has some parts placed off grid.
- The rotation of simulation probes now works correctly.
- Minor cleanup of UI on simulation Map To Model dialog.
- Adjusted format of temperature in simulation, so that there is no loss of
precision after 'Save'.
- Added simulation parameter error checking so that negative values cannot be set
for TRAN time and AC analysis frequency values.
- Updated German translations.
- Fix a bug when pasting a Design Block to a consistent Schematic/Board pair,
e.g. texts were not handled properly.
- Now UNDO is working correctly after cancelling the Autoroute dialog.
- Fixed an assertion error message that was triggered when 2 wires became
collinear.
- The program could crash if the "EDIT *.dbl" command was used.
- Overlapping wires on the Dimension/Milling layers could cause the editor to
freeze.

Release notes for EAGLE 8.4.1


=============================

* Simulation:
- ADDMODEL command now checks for parts selected prior to command start and loads
all in table.
- Adjusted column widths in Add Model dialog table.
- Fixed bug when mapping SPICE models in Library Editor.
- Fixed bug where SOURCESETUP dialog showed incorrect information for the chosen
function.
- Removed duplicated error messages when DC Sweep parameters were error checked.
- Fixed selection area for SOURCESETUP command.

* Miscellaneous:
- Added preview window to the Table of Contents view in the Library Editor.
- The EDIT command supports URNs now.
- New attributes locallymodified and librarylocallymodified in the User Language.
- Now drawing the reference line for a label, if it's moved by click&drag (GROUP
default on).
If a group containing labels is moved, all reference lines to the according net
or bus segments
are shown now (regardless of the GROUP default on setting).

* Bugfixes:

- Added missing translation files.


- Now a Library will be removed from the Manage Libraries dialog, if it is no
longer
existing on the server.
- Selection mode fixes for "GROUP command default on":
+ Click&drag is fixed for the case of cycle selection (ambiguity). The
currently selected
object can be moved directly with click&drag.
+ Avoiding click&drag mode for airwires.
+ ESC key now will end the cycle selection, but not terminate the current
command. A second ESC
finally quits this command.
- Export/Image functionality was mistakenly hidden in 8.4. This feature is
restored.
- UNDO could be turned off when typing the ROUTE command into the Schematic
Editor's command line.
- Fixed crash when updating from a Library in the Schematic Editor.
- Using UNDO after updating from a Library in the Schematic Editor could cause a
crash.
- The ROUTE command could cause a crash wehn Loop Removal was off and a loop was
created while routing.
- Fixed an unexpected condition when trying to remove a part from a Design Block
in the Schematic Editor.

Release notes for EAGLE 8.4.0


=============================

* Simulation:
- Integrated open-source ngspice simulator with examples. See help for SIM
command within the
application to begin. UI supports making spice-compatible library parts, and
for converting existing
parts. The new ngspice-simulation library contains pre-configured parts. Spice
model cards and
subcircuit models, as well as native parts are supported, and an interface is
provided to map
gate pins to model inputs. Valid spice-compatible netlists are created and can
optionally be
manually edited before simulation.
Results are given in text form and plotted where applicable. OP analysis
results are shown in
schematic and can be toggled on/off.
Simulation types supported: AC, DC, Transient, and Operating Point.

* Live DRC:
- After a design change has been made or while routing, the Design Rule Check is
being
calculated and updated automatically. This feature can be turned on or off
through the
"Live DRC" checkbox in the Set/DRC menu or with the command SET LIVE_DRC ON |
OFF.
* Automatic Bend Style Switch:
- This feature automatically switches the corresponding bend style (WIRE_BEND)
for 45
and 90 degree modes. Works for all editor windows.

* DISPLAY command:
- As soon as you change layer settings in the Layers dialog, it will be shown
immediately
in the editor window.

* WINDOW command:
- New Flip Board feature which allows for viewing the board from the perspective
of the bottom side (WINDOW FLIP).

* Miscellaneous:
- New text placeholder ">SHEET_HEADLINE" added.
- Added an option for deleting a Managed Library in the Control Panel and a
"Remove from server" option.
- Commands typed into the command line will now offer autocomplete suggestions.
Pressing tab will accept the suggestion.

* Bugfixes:
- Now it does no longer matter from which Editor window the PASTE process of a
Design Block is started.
- Fixed issue in the ROUTE command where after swapping the route to the opposite
airwire endpoint
multiple times and clicking to fix the route location would result in the next
wire segments starting
at the original point.
- The contents of the "My Managed Libraries" folder in the Control Panel is
updated now when logging
in as a new user.
- Fixed a bug that caused the CHANGE PACKAGE dialog to show only the current
package when
"Show all device variations" is unchecked.
- Fixed a bug that prevented the appearance in the ADD dialog and Library Manager
of the URNs / file paths
for some libraries that share a name with other libraries.
- The "Open on web" button in FUSIONSYNC has been fixed for some files.
- Show the URN for those libraries that share the same name in the Manage
Libraries and ADD dialogs.

Release notes for EAGLE 8.3.2


=============================

* Library Editor:
- Added "Copy URN" for libraries in the EAGLE Library Editor.

* ROUTE command:
- Added a feature that allows switching the active route to the opposite end of
the airwire.
- The ROUTE command now snaps to a grid point when routing to an existing wire.
- Now the ROUTE command allows a microvia to be placed when routing out of a SMD.

* SLICE command:
- Added options to the SLICE command to ripup wires to the left or right of the
slice line.
- Improvement to show the width of the slicing line.

* User Language:
- Added ULP support for 3D packages (UL_PACKAGE3D) and for URNs in UL_DEVICESET,
UL_PACKAGE, and UL_SYMBOL.

* Miscellaneous:
- Speeded up the initial opening of the ADD dialog by approximately 20-30%.
- Added "View on Web" links and version in Control Panel for libraries and 3D
Packages previews.
- Added caching for 3D Package thumbnails.
- When creating a new version of a Managed Library, EAGLE shows the reason of
errors, if any, when
downloading the new Managed Library file.
- Disable FUSIONSYNC polling when Fusion 360 feature is disabled.
- We now remove URNs and 3D Packages when saving local copies of Managed
Libraries.
- Removed thumbnails preview of non-model 3D Packages.
- The OPEN command now supports opening Managed Libraries by URN.

* Bugfixes:
- EAGLE could crash after attempting to add a Design Block to a module.
- Fixed a bug that caused Managed Libraries to be set to draft status after saving
a copy of them.
- After UNDO/REDO it could happen that parts and elements in a design were set as
locally-modified.
- Fixed license check on pulling a design from Fusion containing components in
negative quadrant.
- Empty assets could prevent the parsing of a Managed Library.
- There could appear multiple "OK" buttons when an error was encountered in
discarding local
edits to a Managed Library.

Release notes for EAGLE 8.3.1


=============================

* Bugfixes:
- Restored behaviour of RIPUP command after pressing ESC
- Fixed bug with pad names / net name not showing up in PCB editor
- Fixed bug with background color in schematic preview
- Fixed bug with width of schematic preview
- Fixed crash on mac in full-screen mode
- Fixed behaviour of Fusionsync dialog

* Miscellaneous:
- Added help for board shape and active layer mode
- Added option to disable detection of board shape
- Updated tutorial/demo examples to reference 3D models.
- Bundled updated versions of managed libraries rcl, pinhead, diode, microchip,
special, 40xx, 41xx, 45xx w/ 3D models.

Release notes for EAGLE 8.3.0


=============================

* FUSIONSYNC command:
- The FUSIONSYNC command allows creating a 3D model of the EAGLE board in
Fusion360
and synchronising any changes between EAGLE and Fusion360.
* ROUTE command:
- The Avoid Obstacles mode now allows routed wires to connect to same-signal
arbitrary pad shapes.
- The new Single Layer mode greys out all layers except the one on which you are
routing.
Can be enabled/disabled with SET SINGLE_LAYER_MODE On | Off.

* SET command:
- Added option OBSTACLE_MODE which can be "Walkaround" or "Ignore".
- Added option LOOP_REMOVAL which can be "On" of "Off".

* Library Editor:
- The table of contents in the Library editor window now contains a column that
shows
the 3D package assigned.

* Managed Libraries:
- 3D Packages support. All footprints (2D packages) in Managed Libraries will be
assigned simple
3D boxes by default. These can be replaced with 3D models (STEP files) using a
web-based editor.
References to these 3D packages are retained by parts added to schematics and
elements added
to boards and can be updated using the UPDATE command.
- The "Managed Libraries" branch in the Control Panel's tree view now contains a
sub folder
"My Managed Libraries" for your own managed libraries.
- Added support for user creation and editing of Managed Libraries (private-only
for now).
- The "Manage Libraries" dialog now has an Edit button for managed user
libraries.

* Design Blocks:
- New Design Blocks from SparkFun, AdaFruit, and Nordic added.

* New EAGLE Vector Font:


- EAGLE now uses a new internal vector font which is very similar to OSIFONT, a
common font
implementation in the CAD industry. It covers a bigger set of characters, in
particular
common Western European, Greek, Cyrillic, other Eastern European characters and
many special
symbols. The new font does not become active unless the option "Keep old vector
font in
this drawing" in Options/User interface is unchecked. For new designs, the new
implementation
is taken by default.
We give special thanks to EAGLE long term customer Andreas Weidner, who
designed this font for us.

* Miscellaneous:
- Added detection of board shape based on information in layer 20 (Dimension) and
layer 46
(Milling). If a single, non-self-intersecting and closed outline is detected,
this will
become filled depending on the user's color profile. Holes will be shown in
background color.
- 3D thumbnail preview in the ADD and REPLACE dialog.
- In the Control Panel's, the ADD and the REPLACE dialog's preview are now shown
the versions
of Device, Package and Symbol.
- The INFO dialog (properties) of elements and parts now show the name and the
URN (Uniform
Resource Name) of the 3D package assigned.
- Removed limit for Layer Preset groups.
- Cosmetic changes to main UI.
- Enhanced import-accel.ulp. Added/improved error messages and warnings.

* Bugfixes:
- Opening and closing a schematic or board after selecting some objects could
cause a crash.

Release notes for EAGLE 8.2.2


=============================

* Managed Libraries:
- In the Manage Libraries dialog now it is possible to delete downloaded
libraries.
- In the Manage Libraries dialog now it is possible to hide not downloaded
libraries.

* Miscellaneous:
- With the current group definition highlighted, selecting the RIPUP command now
avoids unhighlighting the group.
- Avoid warning about forward and back annotation after switching to another
sheet
of the schematic.
- The library URN and version of a part and element is shown on the info dialog
(was already introduced in 8.2.1).
- Added 'Offline' mode with license cached locally for 14 days.
- Reduced start up time of EAGLE.

* Bugfixes:
- Option GROUP command default on:
+ Allow modal commands to use old style right mouse button cycle selection.
+ Pending text in the command line is no longer cleared by GROUP command auto-
selection.
+ Fixed an issue with rotation and a right-click to rotate would revert back to
original angle.
+ With this option switched off and defining a group, the previous active
command
is activated again.
+ The Esc key now exits the following commands and returns to the GROUP
command:
HOLE, JUNCTION, NET, PIN, PAD, and SMD.
- Fixed several issues with layers and layer presets behavior. Layer presets are
now
editable and removable via eagle.scr.
- A possible netclass inconsistency was fixed, if nets were created from a bus
connected
to a bus port.
- Fixed a bug that sometimes prevented updating of devices that share packages
with
other devices being updated.
- Control Panel was showing managed libraries that weren't in eaglerc file.
- After a library update the Manage Libraries dialog sorted the list by library
name,
now it uses the current sort column (was already introduced in 8.2.1).
- Stability improvements of 14 days local license cache.
- Multiple fixes of unexpected Sign In dialog showing up.
- Fixed the "ABORT: 'Take(object)'" crash that could occur during differential
pair
routing or Follow-me route mode.
- Fixed the ROUTE command when placing a via up against an obstacle could
potentially
move the via onto a nearby grid and cause a clearance error with the obstacle.
- Fixed the MOVE command to not disconnect airwires from connected vias or wires.
- Fixed drawing issue with ROUTE and board elements. If the element had been
moved and
then that operation undone, then using the ROUTE command near that element would
cause the element to not be drawn.
- The ROUTE command now is prevented to make changes in the Undo log, if Undo has
been turned off.
- Fixed the ROUTE command selection to ignore airwires that are hidden by their
parent signal.

Release notes for EAGLE 8.2.1


=============================

* Miscellaneous
- Removed the DRC's airwire error indicator that looked like and could be
mistaken for a real airwire.
- Improved the accuracy of airwire selection when zoomed out and attempting
to pick an airwire with nearby parallel airwires.
- Performance improvements of the ROUTE command's Avoid Obstacles mode. In
some cases it could take some seconds to respond to the movement of the mouse.
- Changed the character for backup file extensions from '#' to '$' to avoid
problems therewith in the Microsoft cloud.
– In the INFO/Properties dialog for Schematic parts and Board elements, the
Library field now includes the version for parts/elements from Managed
Libraries.
Hover over the Library field for a tooltip showing the URN of the Managed
Library.

* Bugfixes
- Made Ctrl-V in the EAGLE command line work again. Now it pastes into command
line or drawing window, depending on the contents of the paste buffer
(normal text or drawing objects).
- Removed a namespace collision between Layers and Layer Presets affecting the
display command.
- Fixed an issue where the popup from typing LAYER or selecting CHANGE Layer
would appear empty.
– Fixed a bug that prevented renaming of Libraries in Schematics and Boards using
the "UPDATE +@" command.
– The sort order of the lists in the Manage Libraries dialog is now maintained
when list items are added or removed.

Release notes for EAGLE 8.2.0


=============================

* Managed Libraries:
- Support for easily downloading updates to the built-in EAGLE libraries and
installing new libraries from our online library index.
When placing components from these libraries, the URN and version of the
library are stored in the resulting Schematic and Board files.

* Design Blocks
- Support for editing and creating new Design Blocks from the Control Panel's
tree view. While editing a Design Block you can't use the Autorouter and
CAM Processor.
- When a Design Block with a single sheet schematic is pasted into schematic
and board, it is possible to select a location in both editor windows by a
mouse click.

* ROUTE command:
- Changed the ROUTE command behavior, when the route begins in violation with
a neighboring object, by keeping the cursor shape as "forbidden". Doing this
is a strong reminder that the ROUTE command is temporarily changed from
Walkaround Obstacles to Ignore Obstacles.
- Improved the ROUTE command's loop handling by making the removal of a loop
interactive when it occurs with a mouse move and not requiring a mouse click
to see the result.

* Miscellaneous:
- Ctrl+A (Cmd+A for Mac) is assigned to the GROUP ALL command.
- Updated some of the Layout editor defaults (routing widths, drill sizes,
clearance values, grid) to bring them up to date with current common
manufacturing capabilities.

* Bugfixes:
- Fixed UNDO and the ROUTE command where zero-length airwires might sometimes
occur.
- Corrected the ROUTE command status line prompt when switching between
single-wire route and follow-me route modes.
- Fixed issue where parameter toolbar for one command stayed on screen when
switching to another command

Release notes for EAGLE 8.1.1


=============================

* PCB Alignment Tools

- PCB Editor now includes comprehensive object alignment tools with options
for Align Top, Bottom, Left, Right, Centers (Horizontal & Vertical), and
Distribute (Horizontal & Vertical).

* Design Rule Check

- DRC now reports any remaining Airwires as errors, displayed in the DRC
Errors dialog under a new heading called "Airwires".

* Library Editor:

- The "table of contents" view in the Library Editor now shows three buttons
"Add Device..", "Add Symbol..", and "Add Package.." at the bottom. These allow
the creation of new Devices/Symbols/Packages and the import of existing ones
from other libraries. The import functionality is also available from the
"Library Edit" dialogs.
- Selecting an asset (Device, Package, or Symbol) in the library Table-of-
Contents
view will highlight related assets (e.g. the packages and symbols used by a
device).

* Miscellaneous:

- The error message "Can't close window while command is running" now offers a
"Stop now?" option.
- Added single object click and drag without need to define group first (with
GROUP DEFAULT user option on).
- Added Ctrl-C operation to copy objects and Ctrl-V to paste them (Cmd on Mac).
- With group default on, allow INFO to show automatically when object is already
selected (do not have to click info then select object).
- Re-adjusted the help page format of the ROUTE command.

* Bugfixes:

- The ROUTE command now works correctly from the command line or Scripts.
- Fixed problems while actively routing and accessing commands that could alter
the undo list.
- Fixed the ROUTE command's middle mouse button behavior:
+ Previously chosen Next Layer (if any) is pre-selected in the popup Layer
dialog.
+ Next Layer message in the Status bar updates correctly now.
+ Correct removal of a via from the active route when the current route layer
is
chosen in the popup Layer dialog.
- Fixed a crash in the ROUTE command while actively routing and switching between
single-wire and Follow-me route modes.
- Avoiding a crash in the library editor when trying to switch to the module
editor e.g. with the command 'EDIT .m2'.
- Avoiding a crash when using the ULP function lookup() with an index that is
out of range.

Release notes for EAGLE 8.1.0


=============================

* ROUTE command:

- New route mode setting (Ignore Obstacles / Walkaround Obstacles) provides


capability of automatically detecting obstacles along the path of routed
wires, and contouring around them.
- Default condition of the Loop Remove option setting, is now Loop Remove On.

* Miscellaneous:

- The BGA Router now supports non-square BGAs.

* Bugfixes:

- Fixed middle mouse button behavior in ROUTE command to switch the routing
layer.
- Removed erroneous beep sound from GROUP command.
- Blank screen issue on loading EAGLE for a small number of users has been fixed
by a workaround for Windows (eagle_SW_OpenGL.bat starts EAGLE with OpenGL
software rendering) and Linux (see README file).
- Fixed some crashes that occurred when switching between Symbols, Packages, and
Devices in the Library editor.

Release notes for EAGLE 8.0.2


=============================

* Miscellaneous:

- Improved Linux performance.

* Bugfixes:

- Force software rendering for login window to prevent issues with some legacy
graphics drivers on Windows and Linux.
- Fixed an issue on Mac that would cause library editor to become unresponsive
when loading objects in the library.
- Fixed bug where moving objects from sheet to sheet causes crash on OSX 10.10
and 10.12, and some versions of Windows.
- Fixed bug related to commands in the command line (or scripts) were not
properly
processed when preceded by GROUP command.
- Fixed bug where DELETE command did not work from command line or in scripts
when user option GroupDefault was on.
- The assembly variants dialog now works correctly again.

Release notes for EAGLE 8.0.1


=============================

* Editions:

- The Standard Edition of EAGLE now supports four signal layers instead
of two.

* MITER command:
- When interactively mitering a corner, the miter edge now closely
follows the mouse cursor location.

* Miscellaneous:

- Added example for BGA Autorouter.


- Proxy servers are now supported (mirrors system proxy settings).
- Check for internet connection will now timeout after 10s.

* Bugfixes:

- Fixed running ULPs and loading drawings under specific LANG or


LC_NUMERIC environments.
- EAGLE for Mac now stores drawing files not inside a project correctly in the
EAGLE install directory and avoids permission errors.
- Repainting errors when routing after moving objects are fixed.
- Only when group is not empty the Delete key kicks off DELETE operations.
- Fixed Mac installer background image cutoff
- Mac installer now updates Launchpad shortcuts correctly.
- Printing now works correctly on linux.
- Fixed a bug regarding leaking UDP sockets on linux to avoid 'Too many
files open' error message.
- Avoid BGA Autorouter crash on Mac and sporadically on Linux/Windows with
particular example files.
- Fixed as an issue that would un-use all libraries when opening a project
without any project-specific libraries.
- Using the spacebar while actively routing will now skip over signal layers that
have been disabled (not displayed) through the Layer Settings.
Release notes for EAGLE 8.0.0
=============================

* Platforms:

- EAGLE for Windows, Linux, and Mac is available as 64 bit package.


32 bit is no longer supported.

* Licensing:

- Licensing now changed to subscription.

* Editions:

- EAGLE is available as a full package containing the modules Schematic Editor,


Layout Editor, and Autorouter in Free, Standard and Premium Edition.

* Design Blocks:

- A Design Block is intended to represent a kind of designed module consisting


of a schematic and its consistent layout which can be easily reused in EAGLE.
Design Blocks are imported with the PASTE DBL command.
It?s possible to select objects in schematic and board which are consistent
and save them as a Design Block.

* Autorouter:

- The Autorouter offers a new option (command AUTO BGA) to automatically route
a BGA fanout. It supports micro vias, if enabled. The user decides about the
signals to be routed and about the layers the signals should be routed in.

* LINE command:

- LINE replaces the WIRE command. For compatibility reasons WIRE is supported
furthermore.

* NET command:

- When drawing a net in the schematic and approaching a pin the net wire
automatically snaps into the pin's connection point.

* ROUTE command:

- The ROUTE command starts at any object (pad, via, smd, line) without having
to press the Ctrl key.
- Each wire segment that has been fixed in the current routing process can be
undone step by step with the Backspace key.
- Approaching a routing target an electrical snap indicator is shown within
the given Snap Length.
- A via is immediately displayed as soon as the routing layer is changed. The
following mouse click fixes the via and the wire segment in the new routing
layer.
- Loop Removal: If an already fixed trace is rerouted, the redundant wire path
will be removed automatically.
- Additionally to the middle mouse click, the Space key changes the routing layer
to the next available routing layer.

* SLICE command:
- The new SLICE command cut lines in two with a gap specified by the current
line width. Schematic wires that are sliced become separate nets, similar to
deleting a middle wire segment of the net. In board, the traces maintain their
connectivity. The gap is bridged with an airwire; similar to the RIPUP of a
wire segment.

* WIRE command:

- The WIRE command has been renamed to LINE. For compatibility reasons WIRE may
still be used, e.g. in scripts or User Language programs.

Release notes for EAGLE 7.7.0


=============================

* Licensing:

- Update of various spots in EAGLE regarding the license changes introduced


by Autodesk: Standard, Premium, Ultimate, Express and Educational.
The 30 day trial license has been removed.

* ULPs:

- Added 'manufacturing.ulp' provided by Autodesk. It supports an upload of EAGLE


drawing files to 'circuits.io' in order to generate manufacturing data which
can then be downloaded. The ULP is accessible as an icon in the board editor.
- Added 'ecadio.ulp' provided by Autodesk. It supports an upload of EAGLE boards
to 'ecad.io' in order to generate a 3D PCB for use in MCAD systems.
The ULP is accessible as an icon in the board editor.

* UI improvements:

- Added Option.SignalNames to display the signal names on the signal wires


and on the connected pads and SMDs.
It can be set in the Settings dialog under 'Misc/Display signal names'.
- The options Option.SignalNames, Option.PadNames and Option.ViaLength are
set to 'On' by default.

* Miscellaneous:

- Improved visibility of scrollbars for common window styles on Linux.


- Silently ignoring double references to a contact within a signal when loading
a board file.
- CAM Processor: when running 'Process Job' with more than one section,
it is checked if the job covers the Layer Setup only partially.
- The file locking option has been switched off by default. Use 'Backup/Locking'
under 'Options' in Control Panel to turn it on.
- Update of EAGLE logo to the new appearance since Autodesk acquisition.
- Update of Hungarian translation (GUI without help and manual).

* Bugfixes:

- Fixed UL functions strsplit() and lookup() to handle unusual UTF8 characters


as separator.
- Fixed potential crash of the 64 bit versions when loading EAGLE drawings
from old format (e.g. V3.55).
- Image export to TIFF format in monochrome: fixed a regression regarding the
compression method.
- The selected object is no longer removed from the group after running a ULP
started through 'SET CONTEXT Object ...'; the ULP might want to use this
one-object group afterwards with e.g. 'exit("move (>@)")'.
- Ensuring valid move of polygon wires or an entire polygon if selecting a
wire with 'SET CONTEXT Wire ...' or using setgroup() in a ULP.
- Fixed history of dlgStringEdit to become case sensitive.
- Fix for refresh of images in Control Panel preview on Windows.
- Added a check for identical pinrefs when loading a schematic to avoid a
possible crash.
- Fixed deleting/splitting busses with portrefs involved: it could happen that
new port connections couldn't be established anymore.
- Fixed selecting an end of a wire with the context menu.
- Fix for ULP function ingroup() returning true for too many objects after
UNDOing of transferring a group to another sheet.

Release notes for EAGLE 7.6.0


=============================

* Platforms:

- Since EAGLE requires OS X 10.8 or higher on MAC which are all 64 bit OS,
we are no longer providing the 32 bit version for MAC.

* EDIT command:

- Now the EDIT command allows changing to the proper editor window with
'edit .sch' and 'edit .brd' even in the library editor.

* USE command:

- Extended syntax for USE to unuse a specific library (use -a.lbr).


- The USE command can now also be called in the library editor (although the
list of used libraries is only relevant in schematic or board editor).

* Miscellaneous:

- Ensuring the requested precision on linear dimension values even if there


are trailing zeroes.
- Now the net class is copied if a signal polygon is renamed to a new signal.
- Termination of EAGLE by watchdog if the improper 'eagle.exe' is used together
with the CAM processor option '-X'.
- The User Language dialog object dlgTabWidget now accepts a parameter 'Index';
it has to be an integer variable and can be used to set the initial
dlgTabPage and to get the index of the current dlgTabPage.
- Added a note to help about eaglecon.exe including a warning regarding
the closing of it.
- Avoiding unintended deletion of several MUST gates w/o using Shift+Left.
- Added a 'save-brd-variants.ulp' which can be used to save a board file for
each assembly variant (may be used to prepare CAM output).
- Added entry 'DXF' to File/Import sub menu of the library editor in package
or symbol edit mode.
- The color entries #7 (DARKGRAY) of the white and the colored palette
have been changed to darker values; the same applies to 'defaultcolors.scr'.
- Changed UPDATE behavior for variable attributes: retaining changes in
schematic and board.
- Added an option to textually display the via length. It can be set in the
Settings dialog under 'Misc' or with 'SET Option.ViaLength 1|0'.
- Improved support for high DPI displays: providing the high
resolution for enlarged icons and dialog texts.
- Added a note to help for COPY of library objects regarding paths.
- Improved error message when a CAM job or section is tried to start but no
board or schematic is loaded.
- Added auto connection of ports if MOVEing them on each other.
- Added exp-palette.ulp for exporting the color palettes to an EAGLE script.
- Improved construction of a polygon: now the last wire piece can be removed
with the escape key.
- Avoiding drag&drop in Control Panel by unintended click of the mouse wheel
button.
- Added a warning about connections from a contact to several signals while
loading a board (there's no known way to achieve this illegal state within
EAGLE, though).
- Now the OPTIMIZE command is available in all drawing editor types apart from
the device editor.
- The groupwise moving of smashed texts of a locked element is now inhibited
only if the element is included in the moved group, too.
- Added cross probing (highlighting) of signals to a module net that has
generated the corresponding signal(s) completely.
- CAM Processor: when running 'Process Job' it is being checked if the job covers
the Layer Setup.

* Bugfixes:

- Taking into account connected ports to avoid 'Only one pin on net' ERC
error messages.
- Added Use and Un-Use buttons (with tool tips) in the ADD dialog to
countervail the (since V7.3) missing Drop button.
- Fix for wrong splitter position in device edit mode that could appear after
switching between different edit modes in library editor.
- Fix for EAGLE in command line mode: it could happen that a given command
sequence (option -C) was executed in the wrong editor window.
- Made the return key in Control Panel work again for activation of
tree entries.
- Fix for a parse error if in a CAM job description the sequence '="' was used.
- Avoiding references to ports of wrong type in bus or net segments.
- Fix to avoid pending file locks if EAGLE is closed over 'close all windows'
in the taskbar.
- Marking lock files as hidden also on Windows.
- Fix for window positions and other project settings not stored on MAC if
EAGLE was closed with 'Quit' in the application menu.
- Fixed drawing SMDs with roundness, if printing with option ROTATE.
- Avoiding temporary (not intended) mirroring of gates with the middle mouse
button when moving them in the device editor.
- Ensuring the proper device (package variant), if automatically changing into
the invoke mode while adding a device.
- bom.ulp: Fixed handling descriptions containing TAB characters.
- Changed handling of package names in the UPDATE command used in a library
to case insensitive (syntax 'UPDATE package_name@library_name').
- Added validation of bus name when it is changed by command line with
'NAME newBusName'.
- Ensuring proper cap style if constructing a new ARC.
- Made the popup menus for parameterbar, toolbar and commandbar buttons work
again on MAC.
- Denying renaming or deletion of a file in the Control Panel if a corresponding
lock file exists.
- Printing: fixed possibly missing caption and offsetted image on Windows.
- Fixed a possible inconsistency after library update with device sets involved
that couldn't be found in the new library and other special conditions.
- Fixed possible graphical artefacts when copying parts or elements by
GROUP/CUT/PASTE or COPY of a group.
- Fix for printing of non solid color fill styles to PDF.
- Made printing of non solid fill styles work again on Linux; clearer
output also on MAC.
- Fixed ADD dialog: no longer ignoring the first selection after clearing
the search field.
- Ensuring that only a schematic is imported into an existing module
(PASTE from file). It was possible to import a schematic/board pair
which lead to inconsistency.
- Fixed ULP filesize function for non existing files (now 0 is returned).
- Fixed dlgListView to execute the statement only if a valid item was
doubleclicked.
- Now dlgListView sets the parameter 'Selected' to -1 if nothing is selected
(see help).
- Avoiding a crash if trying to ROTATE a locked element with Click&Drag.
- Avoiding a locked element to become invisible if trying to MOVE it by
name (input e.g. 'move X10').
- Fixed f/b annotation if deleting a connection to a power pin and the gate
of this pin is placed in a module.
- Fixed unjustified ERC error message regarding an incompatibility of HIZ
pins on a net which is exported by a module with a PWR port.
- Avoiding a file locking conflict (timing issue) during library export.
- Fixed loss of the net wire if moving already connected ports on each other and
separating them again.
- Avoiding a too early deactivation of automatic confirmation mode during QUIT
(to avoid an undesired message stopping QUIT).
- Fixed generation of net wires if changing a module with direct connection
of port to port or pin.
- Fixed saving XML texts in drawings: drop invalid characters entered as texts
or descriptions (e.g by copy&paste).
- Improved validation of the port name if setting up a new port.
- Made UPDATEing libraries work with several dots like 'abc.ok.lbr'.
- Fixed drawing of mirrored or rotated frames.
- Changed handling of signal names in the OPTIMIZE command to case insensitive.
- Fixed ROUTE command with differential pairs; sometimes the initial wire
width was wrong.
- Avoiding a stuck progress bar if terminating a ULP with an exit code
within a script.
- Fixed possibly wrong window positions in case of a multi monitor setup on
Windows; improved handling of window restoration for multi monitor setup.
- Fixed a misinterpretation of colons in a sheet description; switching to
such a sheet with the sheet combobox didn't work.
- Fixed vanishing of smashed texts during MOVE of a group if the associated
element is locked.
- Fixed update of sheet thumbnails after adding a PORT.
- Fixed WINDOW FIT due to wrong calculation of the bounding box regarding
the cross-reference display area on MUST gates; only gates with text place-
holder '>XREF' are taken into account.
- Avoiding use of the colon for modules and module prefixes. It is reserved
as hierarchical name separator.
- Fixed net renaming issue: Renaming a net with segments on several sheets
over the INFO dialog could lead to inconsistency and empty net names.

Release notes for EAGLE 7.5.0


=============================

* EAGLE Editions:

- The EAGLE Freeware edition now starts with a temporary advertisement window
and the Control Panel has got an advertisement section.
- For the EAGLE Light edition (both Freeware and Commercial) the number of
available schematic sheets has been increased to 2.

* GUI:

- Now the icons in EAGLE are scalable (see Options menu in Control Panel).
The icons are in SVG format and stored in folder 'icons' under the bin folder.
The classic set of EAGLE icons is not available in SVG format and therefore
not scalable.
- Added highlighting of the current group if starting GROUP command.
- Added tool tips to the DRC/ERC error list containing the error descriptions.

* ULPs:

- Update of various ULPs integrated into EAGLE's editors:


- In the Board editor under File/Export the entries 'Unidat' (unidat.ulp) and
'DIF4.0' (dif40.ulp) have been taken out. An entry 'Mount SMD' has been
added
(starting mountsmd.ulp).
- In the Board editor under File/Import the entry 'Ultiboard'
(import-ultiboard-ddf.ulp) has been taken out. The new entries 'DXF' and
'Gerber' have been added, executing import-dxf.ulp resp. import-gerber.ulp.
The Gerber import is a new functionality.
Import of DXF is available in the Schematic editor as well.
- In the Board editor under Tools the new entries 'Element array placement'
(new component-array.ulp) and 'Mirror board' (mirror-board.ulp) have been
added.
- In the Library editor there is now File/Import with entry 'BSDL', starting
make-symbol-device-package-bsdl.ulp.

* Miscellaneous:

- Extension of proxy settings by an optional username and password.


Saving of the password is also optional and in an encrypted form.
See Help/Check for Update/Configure in Control Panel.
- Added a special DRC error for intersecting signal polygons with same rank.
- Workaround for Linux 64 bit, because Red Hat (RHEL 6.6) is not
yet providing an up-to-date GLIBC library.
- Implementation of a basic file locking mechanism: by default any files
that are loaded into an EAGLE editor are locked, i.e. not available for
writing by other EAGLE instances. Locked files are reported to the user.
He can retry getting the file, save under a different name, continue editing
without saving or break the lock. The locking can be switched off
which is saved in eaglerc user settings.
- Added a new set of schematics, boards and libraries from 3rd party 'seeed'.
The libraries are in a directory 'seeed' under the library folder, the
schematics and boards in examples/'seeed' under the projects folder.
See also www.seeed.cc.

* Bugfixes:

- Fix for not searchable PDF printings on MAC.


- Fix to avoid intensive network traffic caused by GUI elements of the
autorouter.
- Fixed unusable confirm dialog in CAM processor; under special conditions
it could be blocked by the progress dialog.
- Fix for wrong display of mirrored texts in package previews.
- Fixed handling of vias if reselecting a differential pair for routing.
- If starting the autorouter, the TopRouter is now checking whether
the board is already routed completely.
- Made image export to TIFF format work again. There was a regression in V7.3.
- Restored V6 behavior for designs w/o hierarchy if combining or renaming
net segments, which could cause unnecessary ripups.
- Now 64 colors of all palettes are initialized.
- Correction of the number of available layers for 'Make Personal' edition
from 4 to 6.
- Keeping order of 'SET CONTEXT' commands if displaying the context menu.
- Avoiding a crash on Mac if closing a drawing window with Command(Apple)-W
immediately after loading a board and schematic pair and restoring the
minimized partner.

Release notes for EAGLE 7.4.0


=============================

* EAGLE Editions:

- CadSoft now provides an EAGLE "Make Pro" edition with capabilities similar to
Standard edition. In particular the board area is limited to 160x100mm, but
board width and height can be adjusted. The license is limited to one year
and an internet connection is required.
- There is also a new edition "Make Personal" available which was previously
called "EAGLE Hobbyist".

* COPY command:

- Beside device sets and packages the COPY command now can also copy symbols.
- If the library name is skipped in the command syntax the currently opened
library is taken as source (see help for details).

* Control Panel:

- Added entry 'COPY to library' to context menu for symbols.


- Support for Drag&Drop for symbols from Control Panel to Library Editor
and of all library object types to the overview (table of contents) mode of
the Library Editor.

* Library Editor:

- Addition of 'Duplicate' to context menu for symbols in the overview


(table of contents) mode.
- Added tool tips to the TOC view of the library editor window
containing the headlines of the respective descriptions.

* Help improvements:

- Added examples for CHANGE DLINE.


- Improved description of PORT regarding buses and of PACKAGE regarding 'name'.
- Added a section 'Special attributes' regarding the special role of
attribute 'VALUE'.
- Improved description of UL_PART.variants(); extended example for UL_VARIANT.
- Added explanation on top/bottom pairs of custom layers.

* Miscellaneous:

- Added a set of design rule files from Eurocircuits and Wuerth Electronic
to design rule folder.
- Added a new CAM job file gerb274x-mill-drill.cam for generating milling
output with Gerber and drill data output with Excellon in one action.
* Bugfixes:

- Ignoring a potentially given but superfluous extension in


COPY X.PAC@abc.lbr Y[.pac]; same for .dev.
- Fix for locale dependant problems when entering decimal numbers in unit fields.
- Changed misleading text in the Linux install script.
- Fixed handling of newly added empty global attributes.
- Fix for proper support of EAGLE 64 bit on MAC OS X 10.8.
- Fixed interpretation of scroll and zoom gestures from trackpads on MAC.
- Fix for 'Duplicate' in context menu for device sets and packages in the
library editor's overview mode when duplicating unsaved objects.
- Improved drawing performance for panning under Linux;
there was a regression after version 7.2.0.
- Fix for support of country specific decimal point (like ',') in command line
and scripts (after 7.2.0 only '.' worked).
- 'Duplicate' in context menu for library objects: restriction in the naming
dialog to allowed characters for object names.
- Fix for a crash in the autorouter when evaluation was done with invalid
job files.
- Fix for umlaut problem in installation text on MAC.
- The ROUTE command with Ctrl+Left can now also start routing at a pad;
this is important to start from a pad without airwire if the connect mode
is set to 'any'.
- Now the first selection point for DIMENSION is only snapped if coming from
a mouse click.
- Fixed update of thumbnails after removing a module.
- Fix for long printing times on Windows (there was a regression since V7.3).
- Fixed context menu handling for PACKAGE/TECHNOLOGY after clicking "Next"
in case of an ambiguous selection. The command was still referring to the
previous object.
- Fixed >LAST_DATE_TIME in CAM Processor output; it has been stuck at
'not saved' if during an EAGLE session a new drawing has been generated.
- Fixed displaying license data containing umlauts.
- Fixed triggering the default button 'OK' by ENTER key in the CONNECT dialog;
if the focus was in a list, the list action was executed inadvertently.
- Fix for initially missing display of the 'Window' menu in MAC menubar.
- Correction of eagle.def concerning the output formats GERBER_RS274X_33MM
and EXCELLON_33MM (introduced in V7.2.1).
- Fix regarding continuation of an existing autorouter job after previous cancel.
- Added an initial check if the board was changed before continuation of an
existing autorouter job.
- Fix in DRC for undetected overlapping polygons in special cases.
- Fix for inaccessible minimized partner window if a schematic or board was
opened. This was a problem on several Linux distributions.
- Fix for undesired focus changes on MAC between EAGLE editor windows.
- Reactivated beep if clicking into the drawing area w/o causing
an actual selection (e.g. in ROUTE command).
- Fixed ERC messages for nets containing UTF-8 characters.
- Changed the polygon calculation within the CAM Processor to vector font,
because texts are always using vector font in the CAM Processor.
- Added a hint to use the default grid in schematics.
- Ignoring unjustified offset position if pasting a module.
- Ensuring unique naming if copying symbols.
- Fixed initial display of TOC in libraries if loaded within a project.
- Made ADD link in Control Panel for symbols work.
- Fixed annotation of deleting a module instance; deleting the respective
signals in the board completely if there is no port.

Release notes for EAGLE 7.3.0


=============================

* Platforms, Graphics System:

- Added 64 bit versions of EAGLE on all supported platforms. For each platform
two different packages, one for 32 bit and one for 64 bit are provided.
- Change to a new major version of the graphics and other 3rd party libraries
used in EAGLE. This involves following changes:
- More modern look&feel of the EAGLE GUI.
- Fix for various graphical issues on MAC platform (in particular OS X 10.9).
- Support for MAC OS X 10.10.
- End of official support for MAC OS X 10.6 and 10.7.
- Printing in postscript format is no longer supported.
Users are requested to do printing in PDF format instead.

* Control Panel:

- The library tree structure has been extended:


packages have been moved to a subdirectory 'Packages', the list of symbols
has been added to a subdirectory 'Symbols'.
- In the Control Panel preview a scrollbar has been added for devicesets with
many
devices (package variants or technologies).
- Added the EAGLE documentation folder to Control Panel tree.
PDF documents can be opened directly with the appropriate default application
like Acrobat Reader. The folder can be adjusted in Options/Directories
and is stored in the eaglerc config file.
- The new documentation and the project folder show all files by default.
Image and other binary files can be opened directly with the appropriate
default application. This extended mode can be switched off in the View menu.
The current setting is stored in the eaglerc user settings file.
- In the EAGLE doc folder the ULP related documents have been moved to a
subfolder 'ulp'.

* Library Editor:

- Extension by a new "overview mode":


three lists for devicesets, packages and symbols have been added to
the editor in its initial state when a library is opened.
Several actions can be done directly from that list such as opening
items, renaming, removing, changing description etc.
- The ADD dialog in the device editor has been extended by a symbol preview
and description.
- Now 'OPEN .lbr' switches to the library editor window.

* Miscellaneous:

- The memory consumption for calculation of the TopRouter variant was reduced
significantly.
- Now 'CHANGE layer' is using a drill, according to the Design Rules and
net class settings, if Option.AutoSetRouteWidthAndDrill is set.
(Settings Dialog: Options/Set/Misc/Auto set route width and drill.)
- Extension of file eagle.def for CAM format definition: added formats
GERBER_RS274X_33MM and EXCELLON_33MM with mm unit in format 3.3.
- Added the placeholder >MODULE to get the module name (for usage in
module sheets).
- Added the placeholders >SHEET_TOTAL, >SHEETNR_TOTAL and >SHEETS_TOTAL
to get the appropriate overall data (including the sheets of modules).
- User Language: Added the member UL_SCHEMATIC.allnets() to get all nets of
a hierarchical schematic.
- Improved example for layer setup in DRC dialog (symmetric setup).
- Changed the sort order of pads to alphanumeric if executing 'EXPORT pinlist'
in a board.
- Added a note in help on tolerated deviations in a consistent schematic/board
pair.
- Changed handling of device and package names in the COPY command syntax
to case insensitive if copying library objects.
- The drop button in the ADD dialog has been removed to avoid misunderstandings.
- Messagebox texts are now selectable by mouse and can be copied.
- Round SMDs of arbitrary rotated packages are no longer emulated,
if drawn in the CAM Processor as Gerber data.
- Added an icon to command text menu in board editor for the export to IDF 3D
format (running eagleidfexporter ULP, see setting in eagle.scr).

* Bugfixes:

- Allowing addition of a via or signal wire with no corresponding net to an


existing hierarchical signal (with NAME or properties dialog).
- Avoiding change of hierarchical signals to non-hierarchical ones using
WIRE or VIA command if f/b annotation is active (this can't be backannotated).
- Improvement of import of ACCEL ASCII format: import of pin-pad connections if
available from library (change in import-accel.ulp).
- Avoiding unjustified ERC warnings, while checking 'Close but unconnected
wires in net' on net wires with big wire width.
- Corrected unnecessarily small size limitation of the module symbol when
loading from schematic file.
- Fix for endless recursion in ERC/DRC error dialog after error list was cleared
and approved errors were attempted to disapprove.
- Attribute search in ADD dialog: fix for usage of non-word characters (like
'%', '{' etc.) in search expression for the value. It could happen
that matches were missing.
- Fix for autorouter to recognize the evaluate state in case of file names
with banks.
- Fix for duplication of an autorouter variant to take over limitation to
selected signals.
- Correct handling of multi line texts in library export from schematic or board
(fix in ULP exp-lbrs.ulp).
- Avoiding a possible inconsistency after changing the assembly variant;
if saving a drawing, ensuring the partner drawing with no real changes apart
from the assembly variant name is also saved.
- Fixed adding/removing modules with umlauts in the name.
- Fix for a crash if loading a project, but not having the license for the
layout editor.
- Forced recalculation of bounding boxes in boards with 'window fit'
to avoid wrong window sizes if the board contains elements connected
to signals without visible wire.
- Fix of graphical flaw when moving a label having a pointer to a pinref
without netwire.
- Support for renaming of the entire signal of a polygon to a hierarchical name
in case of a board w/o consistent schematic (unnecessary restriction has been
removed).
- Fix for jumping parameterbar height on MAC.

Release notes for EAGLE 7.2.0


=============================

* MODULE command:
- Extended command syntax to prefix definition with 'prefix*'.
- Added input line for prefix in module creation dialog.

* Ports:

- Changed interactive behavior of the PORT command (now more like PIN,
see help for details).
- Allow renaming a port in the properties dialog.
- Increased distance of port name to module frame.
- Improved explanation for selection and movement in PORT command help.
- Added available busses to the command's selection list.
- Proper highlighting of a selected port and the display of its info string.
- Right mouse button now ignored; port rotation is chosen automatically.
- General support of autoconnection of ports to nets resp. busses when
moving module instances or placing copied module instances.
- Avoiding placement of port on port.

* User Language:

- Added new members module, modulepart and modulepath to UL_PART for better
support of parts in hierarchical schematics.
- New object type UL_ERROR in order to access ERC and DRC errors.
- Added a statement and test function to directly access a module
(e.g. if (module) module(M) { ... }).

* Miscellaneous:

- Support of userdefined context menu entries for module instances.


- Added translation of the GUI to Russian (help and manual are not included).
- Added an entry 'Open in Library' to package and device context menus in
Control Panel.
- Implemented eaglerc switch Warning.Cam.DrillsAndHolesConcurrent to allow (with
value '0') skipping the CAM Processor warning about concurrent output of drills
and holes.
- The SET command can now configure the popup menus for values of Dline_* by
setting the Dline_Width_Menu, Dline_Ext_Width_Menu, Dline_Ext_Length_Menu
and Dline_Ext_Offset_Menu arrays.
- Properties dialog for module instances: The combobox for offset is only shown
for module instances where offset is supported (on schematic main level) and
only the (still) available values are offered.
- COPY, PASTE, Import of schematic drawing (PASTE from file): If a net from a
bus is copied together with its bus, the copied net segments keep their name
in order to match to the bus.
- Import of schematic drawing (PASTE from file): Names of implicitely created
signals with unconnected power pin(s) are not changed in order to avoid an
inconsistency.
- Import of schematic drawing (PASTE from file): In the net renaming dialog
nets from a bus or with implicit power pin(s) are no longer changeable and
indicated with icons and tooltip.
- Added ERC warnings for nets/busses which are overlapping with ports.
- Adjustment of file eagle.def for CAM format definition:
increased standard resolution for Gerber and Excellon of 2.5 inch.
The previous resolution of 2.4 inch is still available under GERBER_RS274X_24
and EXCELLON_24. Support for 2.6 inch as well with formats GERBER_RS274X_26
and EXCELLON_26.
- The new CadSoft EAGLE icon is now used for all cases (classic and new style).
- The assembly variant dialog has been taken out from the board editor to
avoid misunderstandings. The variant combobox is only changeable in main
schematic.
- In order to avoid confusing object names in hierarchical designs, offsets for
module instances have been restricted to be unique within whole schematic.

* Bugfixes:

- Added the new V7 EAGLE icon (resolution 48x48).


- Fix for loss of attributes of devicesets without package after switching
between devicesets in library editor.
- Avoiding corrupt device if created by drag&drop of another package from
Control Panel to a deviceset in library editor if the package variant is
named with '' (empty name).
- Fix for proper support of drag&drop of a package from Control Panel to a
deviceset in library editor on Linux and MAC.
- Attributes of devicesets without package are no longer getting lost if a
package variant is created.
- Made eaglecon.exe for CAM batch processing work again.
- Support of renaming of polygons from/to hierarchical names with NAME command.
- Netclass dialog: fix for default dialog sizes in extended/unextended state.
- Fix for name generation in VIA command to avoid names already used in schematic
for nets without signal counterpart.
- Fix for handling of a group after setting it with setgroup() in a ULP.
(E.g. moving signals or nets of the group didn't work.)
- Ensuring that radius of a circle does not exceed its limit.
- Correct handling of single quotes if doubled in 'SET CONTEXT' commands.
- Speeded up RATSNEST for boards containing many contactrefs with route value
'any'.
- Re-added missing direction of pins in the parameter toolbar.
- Fixed handling placeholder text '>GATE' in device context as in EAGLE versions
prior to V6.
- Made change of netclass for a group selection of nets work again.
- The 'General' parameter tab was added again to the dialog for the Follow-me
router.
- Ensuring that always at least one technology exists for a device in the
device editor.
- Fixed highlighting of ports connected to the SHOWn bus.
- Avoiding junctions on ports with busses.
- Fix for crash on Windows when restarting PRINT command after deinstallation
of a printer previously used.
- Avoiding autoconnecting incompatible ports to busses or nets if moving
module instances.
- COPY/PASTE from package editor to board editor or from symbol editor to
schematic editor: avoiding creation of illegal wires or polygons in
signal, net or bus layer.
- Fixed possible inconsistency after renaming of nets connected to a port.
- Fix for display of HTML descriptions of device and package in Control Panel.
- Restriction of CHANGE PACKAGE/TECHNOLOGY in the board to non hierarchical
elements (same like VALUE).
- Autorouter: fix of possible crash in Routing Variants Dialog when deleting
variants.
- Update of V5 drawings: replacement of invalid character 'no break space' in
gate, pin and other names.
- Fix for proper takeover of netclasses if pasting from a module.
- Avoiding removal of a netclass which is only used in a module.
- Import of hierarchical schematic drawing (PASTE from file): fix for possible
erroneous duplication of identical modules.
- Avoiding of inconsistency after deleting bus type ports which are connected.
- EXPORT image monochrome: holes (from pads, vias and hole objects) are kept
free from copper.
- Installation on MAC: avoiding unintended deinstallation of a previously
installed version of EAGLE.
- Avoiding a possible inconsistency with net classes if connecting a port
with a net which has no corresponding signal in the board yet.
- Avoiding a possible inconsistency after renaming the currently selected
assembly variant.
- Fix of a potential crash during an active SHOW in a consistent schematic
and board after loading a different board or schematic.
- Fixed handling of dynamically generated net wires if modifying modules by
editing the module instances with drag&drop.
- Fix to avoid creation of module instances with offset notation referring to
the same module and using the same offset.
- Fixed a possible crash if adding a bus connection to a port.
- Fix of a possible inconsistency after changing module instance offsets
if several modules are used.
- Fix for unintended ripup of the corresponding signal if connecting segments
of the same net.

Release notes for EAGLE 7.1.0


=============================

* Licensing:

- Switched back to former licensing: Flexera licensing has been taken out and
EAGLE licensing now works like before version 7.0 again.
To work with this and future EAGLE versions, existing Flexera licenses can
be converted by CadSoft. See also
http://www.cadsoftusa.com/2014/08/anderung-am-eagle-v7-lizenzmanagement.

* Miscellaneous:

- Name generation for module instances: If the prefix for the instance name
(the module prefix or the module name) ends with a digit, a '-' is inserted
before the numeric appendix.
- Adjusted wording for restart message after icon setting change.
- Added ULP members to UL_PORT to get connected busses or nets to a port of a
module instance.
- Implemented eaglerc switch Option.Codec to enforce a specific codec like UTF-8
when writing files.
- Performance improvement of TopRouter.

* Bugfixes:

- Fixed "Changed" icon in the attributes dialog of elements coming from


a module instance with a specific variant selected.
- Fixed graphical issue in module instance resize.
- Fix for loss of sheet description when moving sheets across modules.
- Fixed link in UL_MODULE of the Online Help: UL_PORT was mislinked to UL_PART.
- Avoiding changes of netclass for signals in a hierarchy by CHANGE CLASS
command.
- Avoiding generation of modules with irregular names (empty or just blank etc).
- Removed orphaned attribute of instance if during CHANGE PACKAGE a device
attribute has vanished.
- Fixed inconsistency after removing an overwritten attribute of a part
with variants in a module.
- Fixed position of attributes of part instances after moving across modules.
- Fixed ULP members UL_ELEMENT.column and UL_ELEMENT.row that returned '?'
in some cases where a valid column or row existed.
- Fix for wrong routing grid for autorouter variants after manual change.
Release notes for EAGLE 7.0.0
=============================

* Hierarchical design:

- General:
Since version 7, an EAGLE schematic can be designed and organized using
schematic subunits called 'modules'. They can be created by the new command
MODULE and then be edited like schematic sheets.
With the MODULE command a module can be used in the normal schematic
by creating a 'module instance', a simple symbol representing the module.
With the new command PORT it is possible to create interfaces from nets
inside the module to the upper schematic level.
Ports are attached to module instances and can be connected with nets
just like pins of a part instance.
Beside nets, also simple types of busses can be exported this way.
Modules can be used multiple times by creating multiple module instances.
Modules can also contain module instances of other modules. This way,
an arbitrary depth of the hierarchy is possible.
The board creation from the schematic produces a similar result as if the
design was made without hierarchies.
For syntax and behaviour of MODULE and PORT see our online help.
- Naming rules and mechanism:
Special naming rules are used to identify the elements and nets of a module
instantiation. Each module has it's own namespace:
Part IC1 may exist in module ModX and another part IC1 in module ModY.
If used in a schematic (by 2 different module instances) the corresponding
elements in the board are identified using the module instance name as prefix
and ':' as separator or by adding a module instance specific offset to the
index in the name (e.g. with offset 100 and 200 the element names are IC101
and IC201).
The offset can only be used for module instances on schematic main level
and only for parts and their elements. For parts from deeper levels and for
nets the prefix notation is always used.
- Assembly variants for modules, adaption for boards:
Within modules, assembly variants can be defined just like in version 6 for a
whole schematic. Module assembly variants are limited to the module parts.
Module assembly variants can be used via the module instance(s). For each
module instance a specific module assembly variant can be selected (see the
MODULE command for details). There is no direct switching between assembly
variants in a module, but the element's value, populate state and attributes
in the board are set following the chosen variant in the corresponding module
instance.
If used on schematic main level, the VARIANT command works for the parts on
main level like in version 6.
The assembly variant definitions are now kept only in the schematic.
For standalone boards, variants are no longer supported, but it's possible
to set the populate states of elements with the CHANGE command or in the
properties dialog.
- Modules can have descriptions that can be edited with the DESCRIPTION command.
Module sheets can have descriptions just like other sheets.
- The EDIT command has been extended to edit and move module sheets.
The editor's sheet combobox additionally contains all module sheets.
- The REMOVE command allows removing individual module sheets or complete
modules.
- The RENAME command supports renaming of modules.
- Description, renaming of modules, moving of module sheets (also across modules
or from/to main schematic), removing of sheets and modules is also available
in the sheet thumbnails. A property dialog for modules can be opened via
the context menu for module sheets.
For details on the command extensions of DESCRIPTION, EDIT, REMOVE and RENAME
see the online help.
- If a board is created from a hierarchical schematic the elements are grouped
by their module instance inheritance.
- For module instances the SHOW command highlights all elements and signals
generated via this module instance.
For parts in a module the SHOW command highlights all related elements
according to the instantiations of the module in the hierarchy.
- In order to avoid inconsistencies between a part and it's elements or between
a net and it's signals in a hierarchical design, several commands cannot be
executed in the board and have to be done for the correponding part or net
to be annotated to the elements or signals it relates to. Among others NAME
and VALUE are such comands.
This limitation is only for entities within a hierarchy and if there is
consistency.
- The EXPORT command for partlists, netlists, pinlists and netscripts has been
extended to export hierarchical structures.
- The PRINT command has been extended to print in a hierarchical way, meaning
that the sheets of a module are printed for each use in a module instance
with the according part names, net names and assembly variant.
- User Language:
The new object types UL_MODULE, UL_MODULEINST, UL_PORT and UL_PORTREF have
been introduced to access modules, module instances, ports and port references
within a schematic.
The schematic's modules can be accessed with UL_SCHEMATIC.modules(),
the module instances on a sheet with UL_SHEET.moduleinsts(),
the ports of a module with UL_MODULE.ports() and a net's port references with
UL_NET.portrefs() resp. UL_SEGMENT.portrefs().
The new loop member UL_SCHEMATIC.allparts() delivers all parts including
"virtual" parts generated by module instantiations (the existing
UL_SCHEMATIC.parts() delivers only the parts on schematic main level).

* Autorouter:

- Multiple variants:
EAGLE's autorouter now supports multithreaded calculation of variants using
multiple core processors. The autorouter dialog has been split up into an
initial main dialog for general settings and a routing variant dialog to
adjust and monitor individual variants.
The parameters in the main dialog determine how many variants are generated
and which concrete parameters they use.
In particular:
- With 'Effort' (low, medium or high) it can be determined how many variants
will be calculated.
- With 'Auto grid selection' on, the autorouter uses it's own heuristics to
determine grids for the routing variants. If it is off, the user can set
a fix grid to be used for all variants.
- For each of the signal layers a preferred direction can be defined as well
for all variants. With the new setting 'Auto' the autorouter will try
several
combinations on it's own.
- The number of simultaneously running variants can also be limited.
With the 'Continue' button a number of variant parameter sets are calculated
and the routing variant dialog appears. It allows to adjust the
parameter set for each variant or to add or delete variants in a list.
Each parameter set is like the set of autorouter parameters known from
previous EAGLE versions.
The variant calculation can be started from this dialog.
With the variant list in the dialog it's possible to step through the
variants and watch the routing progress like in prior EAGLE versions.
Once finished, the user can decide directly which variant to keep and end
the job or keep the variant results for later evaluation.
If cancelled, the job can also be continued later.
It is possible to save and load the parameters defined in the main dialog
in a control (ctl) file. The parameter set of an individual variant can
also be saved and loaded as a control file. It is compatible to prior EAGLE
versions.
- New routing algorithm ('TopRouter'):
In the autorouter main dialog there's also an option to add a 'TopRouter'
variant which is using a new routing algorithm based on a gridless and
topological approach. This algorithm creates a sketch of the routed signals
and then uses EAGLE's traditional autorouter optimization steps to fulfill
the Design Rules.
In the average the TopRouter produces considerably less vias than the
traditional approach. The user can run a job with variants for both and
decide later which of the variants he prefers.

* Licensing:

- New model:
- The EAGLE licensing model and mechanism has been replaced by a new solution
based on Flexera FlexNet Licensing. Flexera is a software specialist for
licensing solutions (see www.flexerasoftware.com).
- The licenses are either node-locked or floating licenses:
Node-locked means that the license is bound to one or more computers,
floating means that a license server is involved on a server computer.
Licenses can be used by any client computer that has a connection to the
server computer. When EAGLE is started from a client installation,
EAGLE contacts the license server and checks out a license.
The license server takes care that not more users than the number of seats,
for which the license is valid, can use the license simultaneously.
When an EAGLE client stops his session the license is automatically returned
to the license server and is free for other users.
- All EAGLE multi user licenses are floating licenses now, all single user
licenses are node-locked licenses that can be used on two different
computers.
- Like in prior EAGLE versions, each license is issued as a license file.
- The Freeware and Freemium license models will not change.
- The new licenses are not back compatible to be used for older EAGLE
versions.
- Ordering, HostIDs:
- For ordering a license, the HostID(s) of the computer(s) need to be
provided.
The HostIDs are unique computer identifiers.
For multi user licenses the HostID of the server computer is necessary.
Together with the other licensee information, CadSoft can create a license
and provide it for download.
- The HostID can be retrieved in 2 ways:
- Download and execute the tool 'lichostid' that is available on our
website.
- If the user has already EAGLE installed on his computer he can run it as
freeware. In the EAGLE licensing dialog the HostID is displayed.
There is also a link to our online shop that transfers it.
It can then be used for ordering a license.
- An installation code is no longer necessary.
- Installation:
- Single user:
To license a single user EAGLE installation, it's only necessary to provide
the license file via the licensing dialog.
- Multi user:
- Server side:
A license server package is necessary and can be
downloaded from CadSoft's download page. There are 3 packages for the 3
different platforms Windows, Linux and MAC. It depends on the server com-
puter's operating system. After downloading and unzipping this package,
the license server which is the executable 'lmadmin', needs to be
started.
Once it runs, there's a web interface for accessing the license server.
It can be accessed in a web browser by entering
http://<server name>:8090
as adress, where <server name> is the network name or IP adress of the
server computer.
With the web interface the license file can be imported by the server.
- Client side:
For any client installation only the license server name needs to be
provided via the EAGLE licensing dialog. EAGLE remembers the server name
for future sessions.
- Further details on our new licensing can be found in the manual and on our
homepage.

* Platforms:

- Official support for MAC OSX 10.9.

* Installation

- On Windows the default installation path in the setup dialog has been changed
from the Windows program folder to
C:\EAGLE-<version> (<version> being the full EAGLE version string).
Also an early check is done whether the user rights (in particular regarding
registry entries) are sufficient for the installation with appropriate
messaging.

* Miscellaneous:

- EAGLE now has a new set of icons. With the Options/User Interface dialog it
can be switched between the new and the classic EAGLE icon set.
- The new option MERGE in the DRC command can be used to merge additional
Design Rule parameters to the active Design Rules in the board drawing.
- Now the arrows of DIMENSIONs end at the center of the extension lines.
- Now changing of a MITER is only possible if the adjacent wires are equal
in width, style and layer.
- In the attributes dialog of devices and in the UPDATE dialog for selection
of a new technology the sorting of technologies has been changed to
alphanumeric.
- The new IDF export (implemented as ULP) is available as entry 'IDF' under
'Export' of the board editor's pulldown menu.
- eagle.scr: Added units inch to some settings to avoid a possible wrong
interpretation.
- Added sample 'ti-launchpad' from Texas Instruments to the EAGLE
sample projects.

* Bugfixes:

- Now the origins of not populated elements are visible again if the regarding
layer is active.
- Fixed removing an assembly variant from a part (by choosing the default values)
on the currently selected assembly variant.
- Fixed proper restore of the current value in parameter comboboxes after
invalid values.
- Fixed mirroring polygons in signal layers during COPY.
- Fixed Default button in the GRID dialog (in schematic context the value
is now again 0.1 inch).
- Prohibition to use board layers in schematics.
- The properties dialog of labels does no longer contain an unintended
'Value' field.
- Fixed context menu entry RATSNEST on polygons.
- Fixed the wrong position of element attributes in newly generated boards
after initial display.

Release notes for EAGLE 6.6.0


=============================

* Miscellaneous:

- Member value of UL_ATTRIBUTE now always returns the attribute's value


(also if it's from an instance, where the value is always inherited from the
part attribute).
- Added missing documentation on member xrefpart of UL_SCHEMATIC object.
- If a ULP is started from a wire context menu, the wire's selection state
(first, second or both endpoints) can now be queried in the ULP with ingroup().
- Improved messages for ULP function neterror() in case of SSL error(s).
Added a note on SSL errors to ULP net functions in help.
- Improved help of TEXT regarding the vector font setting.
- Added SET parameter Option.UnpopulatedMarkScaling to allow scaling down
the mark of not populated parts in the current assembly variant.
- Allow upper/lowercase renaming of an assembly variant.
- Display of a warning with cancel option before a drawing from an older
version (before version 6) gets overwritten.
- Added new ULP function sleep().
- Library update: Information to the user about devicesets that are used in
schematic but can't be found in the corresponding update library.
- Added a restriction note in help on ingroup() in relation with userdefined
context menus.
- Update in help for maximum sizes related to pads, smds, vias, wires,
polygons and holes from 0.51602 inch to 200 mm and for board size from
1600x1600mm to 4000x4000mm.
- Added a note in help on XML attribute order on ULP functions for XML.
- New ULP Felicitas_PCBSim.ulp which creates an interface to PCBSim,
a simulation tool for signal integrity analysis.
- If an assembly variant is being defined for a part with library attribute
'VALUE' the variant value is now set according to this attribute.
- New ULP EagleIDFExporter.ulp. It allows the export of an EAGLE board
to 3D IDF format for further processing in a 3D CAD system. See also
EagleIDFExporterInstructions.pdf in doc folder.

* Bugfixes:

- REPLACE with devices containing attribute VALUE: Update of part value


accordingly for all cases.
- Avoid misinterpretation of cutout polygons in packages as arbitrary pad shape.
- Fix for mouse support for WACOM tablet driver.
- Fix for swallowing of backslashes in TEXT command invoked from command line.
- Fix for erroneous changing of dimension endpoints in MOVE command if selected
by ctrl-click.
- Fixed possible ignoring of prerouted segments by the autorouter (with possible
DRC errors).
- Fixed unjustified message about supply layers if updating drawings of an
older EAGLE version.
- Avoid duplicate contact references in the signal if connecting an implicitly
connected power pin to this net explicitly.
- Fixed handling of oversized description lines in the XML drawing file.
- Fixed an occasional hangup of ULP dialogs if an additional confirmation
dialog has been canceled.
- Fix for using the proper net class while subtracting wires of pads with
"Arbitrary Pad Shapes" from polygons.
- Fixed missing message about insufficient number of contacts if adding a symbol.
There was a problem if multiple contacts were connected to the same pin.
- Fixed CUT (COPY) in schematic if a ULP used setgroup() on other sheets.
- Fix for occasionally not displayed images in HTML descriptions.
- Fixed loss of parameters for Autorouter default optimize passes if updating
files to version 6.
- Ensuring proper update for values of assembly variants after
CHANGE PACKAGE/TECHNOLOGY in case of parts without user value by adapting
it to the corresponding device name.
- Fix for inconsistency after library update if a new device attribute
collides with an existing schematic attribute.
- Fixed skipping polygon wires with zero length but different curve values
while loading drawings.
- ULP function dlgRealEdit: Corrected warning if valid range is violated.
- Fix for context menu function 'Open Device' for instances and elements in
case of special package variant names.
- Fix for erroneous inconsistency warning after creation of a board from
schematic
if the current assembly variant is not the default one.
- Fixed unintended execution of the 'if' statement in ULPs if there was already
an exit() in the 'if' condition.
- Fix for showing a signal in rectangle mode (command 'SHOW @') if it only
consists of a contact reference to a pad or SMD.
- Fixed SPLIT on polygon wires; under certain conditions a wire could change
to zero length and corrupt the polygon.
- Fix for inconsistency after library update with existing assembly variants
for device change from 'Value Off' to 'Value On' or name changes of the
package variant or technology.

Release notes for EAGLE 6.5.0


=============================

* Consistency Checking:

- Added full consistency check of packages to avoid misleading informations


used e.g. for DesignLink.
- The inequality of part and element attributes or the absence of part attributes
in the appropriate board element is now treated as consistency error
(was only an ERC warning up to now).

* Design Rule Check:

- Increased max. thickness of the layer stack cores to 8mm.

* DIMENSION command:

- Now no snapping to objects on defining the second DIMENSION point is done


if Ctrl key pressed.

* MEANDER command:

- Now smaller loops are possible if MEANDER is handling a single signal.

* Installation:

- When a new EAGLE version is installed, now a backup file of the existing
user settings file is created (.eaglerc.sav on Linux and MAC, eaglerc.usr.sav
on Windows).
- Default assignment of shortcuts moved from 'eagle.scr' to extra script
'default-assign.scr' to avoid undesired overwriting. The existing
'eagleassign.scr', which contains useful ULP shortcuts for library editing,
has been renamed to 'lbr-assign.scr'.

* Miscellaneous:

- Added a ULP eagle-3d.ulp from Simplified Solutions Inc. for a connection to


their
online service of generating a 3D printing from an EAGLE board.
- Added information about optional grid multiple in the coordinates display.
- Online help PASTE from file: Added a section about behaviour of global settings
like design rules etc.
- Removed suppression of drawing preview in control panel if the drawing is
already
loaded in an editor.
- Changed the header section of GERBER_RS274X in the eagle.def file;
replaced the obsolete unit selection code "G70*\n" by "%%MOIN*%%\n"

* Bugfixes:

- Avoid superfluous pinrefs of UL_NET.pinrefs().


- Fixed mirroring of a polygon in signal layers during COPY.
- Fixed setting the radius of MITER in eagle.scr.
- Avoid tab characters in the dialogs of TEXT values (they are not supported).
- Increased the edge approximation accuracy for emulating circles
(e.g. for distance calculations).
- Fixed recalculating the bounding rectangle of a drawing after rotating
a group with a dimension object.
- Fixed moving the first wire of a polygon to zero length.
- Skipping polygon wires with zero length while loading drawings.
- In the properties dialog of a part now the gate name is displayed always
(also if there is only one gate).
- Fixed starting a new ROUTE with an auto-generated airwire on a long wire.
Sometimes the dynamical airwire led by mistake to the start segment.
- Fix for variant dialog in schematic: In case of parts of devices without
empty technology avoid wrong technology assignment after change in variant
dialog.
- Fixed updating files from an older EAGLE version with special characters in
a designrule name.
- Avoid two busses with identical name if renamed within the properties dialog.
- Fix for variant dialog in schematic: Proper support for setting the empty
technology for a variant.
- Update of attributes after CHANGE PACKAGE/TECHNOLOGY: If attribute values
differ from old to new package/technology, they are updated, also if they have
been overwritten in schematic and/or board. This fixes an unintended behaviour
that was introduced in version 6.3.
- Attribute dialog in board: Allow deletion only for attributes defined only in
board or if f/b annotation is off (makes behaviour identical to deletion
by command line). Fix for related problem if there are global attributes in
schematic additionally.
- Took out OPTIMIZE entry from wire context menu for cases where OPTIMIZE is
currently not supported.
- Fix for loss of stored approved DRC errors after saving the changed board
without new DRC.
- Fixed drawing of thin arcs with flat caps in Gerber output.
- Fix for inconsistency after REPLACE if a device with several gates at same
position is involved. If previous and new gates don't match by gate names,
they are matched by their symbol names.
- Fix for insufficient accuracy of last grid settings.
- Fix for missing data reload after package update in library editor.
- Fixed export of monochrome images for pads/vias. Now the shape is considered
depending on layer visibility (distinction inside/outside).
- Fix for crash during conversion of a V5 schematic that worked in V5 but
contained some invalid data.
- Installation on MAC OSX 10.8: Fix for wrong file ownership. Files now have
root as owner and write access to group.
Additionally a check is done to avoid installation on no longer supported
OSX versions (< 10.6).
- Added handling of blanks in prefix, instance, part, element, pinref and
contactref
names if updating files from older versions. As blanks are not supported in V6,
they are converted to '_'.
- Preview in Control Panel for schematic/boards: Make explicit refresh work
(triggered by menu selection or key F5).
- Measurement of signal length in MEANDER with higher precision and indication
of overflow (values > ca. 6700 mm).
- Fix for not searchable PDF files printed from MAC version.
- Fixed handling of cutout polygons in the same signal. The cut is done in
RATSNEST regardless where the cutout polygon belongs to.
- Fixed setting the current editor grid if changing the drawing type in the
library editor (device, package, symbol).
- Autorouter improvement for a track where only a wire split is missing.
- Fix for 'Expand all' function for control panel trees (triggered by '*').
- Avoiding unjustified changes of text alignment on labels in a group.
- COPY of net or bus wires: Creation of a new segment for the wire copy
if it's endpoints are apart from the source segment.
- Improved error message for the case of renaming a part/element to a name that
already exists, but only in the corresponding drawing of the (consistent)
project pair.
- Arbitrary pad shapes: Fix for special case where pad polygon was not
recognized.
- Fixed changing technology or package variant of a part to '' via the command
line.
- User-Language: Now the library context is used properly if accessing
UL_SMD.roundness.
- Fixed drawing placeholder texts for packages and symbols, that contain
no other objects.
- Fixed handling of larger polygons of arbitrary pad shapes in the DRC.
- Added a new ERC warning "SUPPLY pin .. without net" instead of the
misleading "No pins on net .."
- Search help in ADD dialog: Distinguishing between schematic (device search)
and board (package search).
- Fixed handling multiple pads connected to the same pin if used in devices
with several gates.
Release notes for EAGLE 6.4.0
=============================

* Platforms:

- Added support for MAC OSX 10.8.

* Control Panel:

- Added a search bar for searches within the control panel tree.
Searches can be started via the context menu of a folder or the pulldown menu.
- Display of attributes in the preview for devicesets.

* User Language:

- New ULP constants EAGLE_PATH, EAGLE_DIR, EAGLE_HOME and OS_SIGNATURE.


- Added the members alwaysvectorfont and verticaltext to UL_BOARD and
UL_SCHEMATIC.
- Added the member UL_TEXT.linedistance.
- Added new members dtype, extlength, extoffset and extwidth for UL_DIMENSION
(see DIMENSION section).

* ADD command:

- The ADD dialog now has a checkbox that allows to include/exclude packages
with pads in the search.
- The ADD dialog of the schematic editor now additionally displays attributes.
There is also a field for searches within attributes.

* DIMENSION command:

- The general settings for dimension objects have been replaced by individual
properties for each dimension. This includes text size, ratio, unit, precision,
line width and extension line properties. The properties can be changed by
CHANGE DUNIT and CHANGE DLINE. That's also available in the CHANGE menu.
Text properties can be adjusted like for any other text.
For simplification some parameters like arrow length or text offset
are no longer offered and internal defaults used.

* General GUI improvements:

- Added and adjusted wording, tool tips and status tips of pulldown menus and
all toolbars.
- Taken out "Paste from..." from Edit menu in schematic and board editor.
The identical functionality is available under File/Import.
- New options "Open Symbol", "Open Package" and "Open Device" available from
context menu for part instances and elements to open the related library
entities from schematic or board.
- Provided a bigger set of default key assignments for frequently used commands
by extending eagle.scr. The set of internally hardcoded function keys has been
reduced.

* Import/Export:

- Integration of the export of schematic and/or board libraries into EAGLE GUI.
Now available in File menu under Export/Libraries (a new ULP exp-lbrs.ulp
is used which replaces the existing exp-project-lbr.ulp).
- New import-accel.ulp for import of drawings in ACCEL ASCII format. This format
can be exported from P-CAD, Altium and Protel to import drawings into EAGLE.
- Under File/Import there are now sub entries for EAGLE drawing (the existing
"Paste from file" functionality) and the new ACCEL ASCII import.
- Now dimension objects are handled in the dxf.ulp.
- A number of further entries have been provided in 'File/Import' and
'File/Export'
which are handled by existing ULPs. Examples: Export of DXF (dxf.ulp), BOM
(bom.ulp), Hyperlynx (hyperlynx.ulp), import of bitmaps (import-bmp.ulp).

* LTSpice connection on Windows:

- Import of LTSpice schematics into EAGLE and export to LTSpice.


- LTSpice is a schematic simulation tool for free and available on Windows.
If installed, a simulation for an existing EAGLE schematic with automatic
conversion can be started from EAGLE.
- Possibility to create EAGLE devices from LTSpice library data through import
of according packages in PADS format, LTSpice symbols and connect lists.

* Miscellaneous:

- Now the origins of elements are printed again if their layer is active.
- If a bus name has a synonym prefix, only that one will be displayed to avoid
too long labels.
- Support UNDO/REDO for approval/disapproval of ERC and DRC errors.
- A number of entries have been added to 'Tools' menu in schematic and layout
editor. These tools are handled by existing ULPs.
Examples: Mill outlines (mill-outlines.ulp), drill legend (drillegend-
stack.ulp),
statistics (statistic-brd.ulp, statistic-sch.ulp).

* Bugfixes:

- Now the text in the CHANGE TEXT dialog is initially selected again.
- Fixed DRC clearance calculation for polygons with same rank.
- Avoiding loss of precision when saving very small grid values.
- Corrected check for too small grid entries from user.
- Fixed handling of multiline text objects in polygon calculation.
- Fix for erroneous ERC warnings in relation to parts of devices
with predefined value (attribute 'VALUE').
- Correction in online help: VALUE command only available in default assembly
variant.
- CHANGE PACKAGE/TECHNOLOGY: Ensure update of library attributes if they are
displayed
but haven't been changed in schematic or board.
- Fixed a crash if a part is replaced by a device without package.
- Fixed handling of arbitrary pad shapes in the DRC.
- Avoided a crash if mixing the selection within nearby objects and textual
input.
- Fixed a crash when doing a GATESWAP with an uninvoked gate.
- Fixed potential crash on MAC related to switching between editor windows, text
window
or CAM processor window.
- Fixed graphic issues on MAC (display of popup menus).
- Fixed handling of dimensions in XML regarding extlength and extoffset.
- Fixed a crash in PRINT command on Windows if a previously used network printer
is
uninstalled and EAGLE restarted.
- Fixed f/b annotation of attributes when copying parts in the schematic.
- Fixed displaying the pad names in the device preview of the ADD dialog.
Release notes for EAGLE 6.3.0
=============================

* Platforms:

- Linux: libpng and libjpeg directly linked into the executable to get rid of
dependency and availability of according system libs.

* Control Panel / Preview:

- Preview extensions for board and schematic. Sheet descriptions and size
information are also displayed.
- Beside file path indication of date and size of the currently selected file in
the status bar.
- Preview for packages: Display a ruler to indicate the size.

* User Language:

- Added new User Language object members UL_DEVICE.activetechnology,


UL_DEVICESET.activedevice and UL_INSTANCE.part.
- Extended the User Language data type 'string' to support unicode characters.
- Modified handling of the default assembly variant in ULPs:
the function variant() returns "''" for this and the function setvariant()
can be called with "''" or "".
- Now the objects of "Arbitrary Pad Shapes" are available in ULPs
through the loop members UL_CONTACT.polygons() and UL_CONTACT.wires().

* CHANGE command:

- Added missing option DTYPE for dimension types.

* DIMENSION command:

- Selection of rectangles and origins of elements or parts.


- Snap to objects on defining the second dimension point.

* TEXT command:

- Now text objects can contain more than one line. Line distance can be set.
Note: Older V6 versions can read these texts but not display them correctly.

* Miscellaneous:

- Now the editor for descriptions can edit different languages if existing.
English and the current local language are always available.
- Now duplicate layer names are tolerated for compatilibility reasons
(even though they should not be used).
- DesignLink: Search text field now with history, filtering of results.
- To avoid confusion, editing the coordinates of rotated rectangles
in the Properties dialog is no longer allowed.
- PCB quote service:
- Quote parameters now go to Element14, where regional specific partners
are offered.
- Parameters for assembly service were added.
- Added a warning if changing the assembly variant in the CAM Processor.
- Now boards are stored with proper data of the current assembly variant.
- Reduced line width (0.4mm) if drawing the marking 'X' of not populated parts.
- Add width and height in the Properties dialog for rectangles.
- Improved attribute dialog of devices to allow adding new attributes
with empty values via the command line.

* Bugfixes:

- Fixed unnecessary warnings about coarse grid values if pasting directly into
the board.
- Avoid inconsistency in case Sch.Cmd.Add.AlwaysUseDeviceNameAsValue set to 1
if the part value is cleared later.
- Fixed PINSWAP: ensure proper relocation of already routed wires on pads.
- Fixed an inconsistency: do not allow PINSWAP or GATESWAP if an affected pin
is connected to several pads.
- Formal correction of eagle.dtd (comments not allowed inside 'ATTLIST').
- Attributes with reserved names (like 'NAME', 'VALUE' etc.):
- Prevention of creation of such attributes except 'VALUE' in library editor.
Parts/elements from devices with this attribute take over the attribute
value
as part/element value. The attribute itself is no longer accessible.
- The VALUE attribute is also used in case of CHANGE package/technology
or REPLACE by a device with such an attribute.
- Prevention of changing of smashed reserved placeholder texts by ATTRIBUTE
command:
In this case the attribute list of the part or element is displayed instead.
- Improved drawing precision for arcs.
- Prevention of creation of polygons with only two points and overlapping wires.
- Fixed connectivity of net/bus wires or junctions if added to a group
with ctrl-click and moving this group.
- Fixed moving a group containing a polygon from one schematic sheet to another.
- Avoid inconsistency if copying parts with assembly variants.
- The alignment point of a dimension object is now automatically adjusted after
changes by the Properties dialog.
- Correction of online help (function xmlelement()).
- Fixed unintentional changes of mirrored state after placing a text on specific
layers (like Nets).
- Added UNDO/REDO of PREFIX changes (incl. marking file changed in library
editor).
- Creation/deletion of attributes: Ensure proper redisplay of elements and
instances,
also after UNDO/REDO.
- Now the name of the design rules is stored in the board file again.
- Fixed polygon representation in signal layers after MITER or SPLIT.
- Prevention of moving a text of a smashed instance to another sheet
without the instance itself.
- Fixed check box 'overwrites device name' in the Properties dialog of elements.
- Added missing info for 'Inner/Outer Layer Diam.' in the Properties dialog of
vias.
- Now the polygon parameters Thermals and Orphans are only available if
applicable (in the board editor).
- Fix for highlighting pins/pads at wrong location in PINSWAP command.
- Fixed drawing artefacts when dropping a polygon during construction.
- Fixed writing the XML data file for airwires in special case.
- Added missing default assembly variant ('') if looping through
UL_SCHEMATIC.variantdefs or UL_BOARD.variantdefs.
- Prevention of changing the position or rotation in the Properties dialog
of an element with the 'Locked' flag checked.
- Avoid a possible inconsistency if a net is automatically generated by
moving an instance so that pins contact each other.
- Now undefined characters of the vector font are displayed as '?'.
- Omit printing of origins also for gates and elements (like for instances etc.).
- Added an error message if a CHANGE parameter is used in improper context.
- Now the update report XML file is opened in the external editor if necessary
and one is defined by the user.
- Now the update report window is opened in readonly mode.
- Fixed OPTIMIZE/UNDO if during optimization a wire has been converted
to an airwire.
- Fixed unintended connections if pasting a net and the corresponding board
contains a signal without a net counterpart.
- Fix for print problem on Windows if called from command line editor
(landscape was ignored).
- Fixed drawing the unpopulated cross of instances if modified through
the command line (VARIANT).
- Fix for PDF print problem on MAC to avoid large and not searchable files.
- Changed handling of names in the VALUE command syntax to case insensitive.
- Fix in the Autorouter/Follow-me router: the extension objects of not
conntected pads with arbitrary pad shape were not taken into account.
- Fix for drawing artefacts after pasting a dimension object.
- Fixed writing the XML data file for airwires with an invalid extent.
- Fixed selecting assembly variants in the combo box with single quotes
in their names.
- Avoid unsuitable entries in Control Panel trees (e.g. 'User Language Programs'
tree only for files ending with '.ulp').
- Fixed a crash if drawing dimension objects and the 'Dimension line width'
is set to zero. In that case arrows are no longer filled.
- Fixed a crash if starting the Autorouter/Follow-me router with an active,
but not available layer.
- Fixed ADD through the command line with assignment of an object name :
the currently handled object has been dropped inadvertently.
- Fixed the attributes dialog of instances: a previous fix in version 6.2.1
has added by mistake the global attributes here.
- Fixed a crash when switching to a project using a recently deleted library.
- Fixed a possible loss of consistency after renaming a net with the NAME
command or by placing a supply symbol if the target net exists already
on a different sheet.
- Control Panel: Made Key F2 for renaming files work again.
- Removed useless Align combobox from parameter toolbar when running the
LABEL command.
- Proper handling for changed device attributes in schematic when reset to
device value from library.
- Fix for finding symbols with umlauts when adding them in device editor.
- Fix for possible crash when copying parts with assembly variants from one
schematic to other.
- User defined context menus: Avoid definition of multiple identical menu
entries for one object type.
- Avoid plain text descriptions in control panel turn into links after previous
click on a link.
- Now global attributes are ignored as in version 5 if attributes of parts are
accessed by ULPs.
- Fix for visibility of click state of buttons on MAC.
- Fixed mirroring of texts of dimension objects in mirrored layers like bDocu.
- Fixed handling of '+' characters in the ULP functions cfgget()/cfgset();
this character is valid e.g. in key assignments with modifiers.
- Fixed recalculation of the symbol bounds when editing a device set.
- Fix for disappeared preview in print dialog after printing on MAC.
- Fixed for displaying the pointer rectangle in the SHOW command in case
it's a net containing only pin references (no wires).
- Fix for ensuring correct printer selection on Windows.
- Fixed inadvertently resetting of parameters (e.g. wire width) to factory
defaults if loading another drawing.
- Fixed using the proper net class while subtracting pads with "Arbitrary
Pad Shapes" from polygons (e.g. in RATSNEST).
- Fixed a possible "Abort: Unknown objectType..." during "Paste from file"
if the pasted drawing contains wires of zero length.
- Fixed changing a variant via the command line on parts with overwritten
values.
- Fixed changing value or technology of parts or elements with variants
not having own value and technology (the variants kept the previous
value and technology from default variant).

Release notes for EAGLE 6.2.0


=============================

* Miscellaneous:

- Added an icon for cutout polygons to the parameter bar of the POLYGON command
in board and package editor. If the layer is changed to a non signal layer,
the pour style switches to the default "solid".
- Support for so-called "External Devices": Devices without package, used to
document external measuring or simulation configurations.
- New ULP teardrops.ulp for teardrop-shaped connections between vias/pads and
attached wire segments.
- New ULP centroid-screamingcircuits-smd.ulp for export of a netlist
in Centroid format.
- Online help:
- Improved description of command line option '-U'.
- Added change note from V5 to V6 on object hierarchy for User Language.
- More detailed description of ULP group functions ingroup(), setgroup()
and clrgroup().

* Bugfixes:

- Fixed a possible crash after removing a device in the library editor.


- Fixed routing to off-grid contacts, in particular rotated ones.
- Fixed a crash if running the CAM processor with a board containing
an invalid polygon.
- Fixed a bug in the Autorouter/Follow-me router ignoring holes in packages.
- Added handling of blanks in device, gate, package and symbol names
if updating files from older versions by substitution with '_'.
- Enhanced resolution in dialog input fields according to the increased
resolution of coordinates.
- Fixed copying from the empty variant in the connect dialog (library editor).
- Fixed handling of alignment tag of attributes if reading a V6 drawing
- Fixed subtracting mirrored texts from polygons if placed in packages.
- Fix for crash in CAM processor in case of polygons with 'positive coordinates'
switched off.
- Fixed copying instances if selected with an offset (jump effect of instances in
COPY).
- Resolve consistency problem after CHANGE PACKAGE for packages with pads names
starting with '+' or '-'.
- Ensure that the new polygon pour style "cutout" is only used if the polygon is
in a signal layer (1-16).
- Fixed deleting polygon edges: Drop the currently calculated polygon data for
correct
update after delete.
- Copy-Paste: Adapt net class of pasted net if net with same name already exists.
- ULP: Fix syntax problem for instances() loop of UL_SHEET.
- Fixed renaming of signal polygons: The polygon sometimes vanishes if already
calculated.
- Fixed UNDO/REDO renaming of calculated signal polygons: Drop the obsolete
calculation.
- Fixed a crash if mirroring instances during MOVE command if a pin is directly
connected
to another.
- Fixed possible corruptness of symbol names after drag&drop of devices from
control panel into the library editor.
- Fixed the DRC calculation of 'Stop Mask' errors of long/offset pads.
- Fixed position of dimensions if generating a CAM processor output
with option 'positive coordinates' on.
- Fixed a crash in library editor if running a script with many changes
between edit modes (device, package, symbol).
- Fixed autorouting boards with packages containing polygons as pad shapes.
- Resolve consistency problem after REPLACE in special cases.
- Fix for REPLACE of devices that don't match in their gates positions
or names (wrong matching leading to library update failure).
- Fix for missing devices in the ADD dialog if they are without technologies.
- Fixed a performance issue if loading a board coming from an older version
with many rotated elements with contacts connected to large signals.
- Fixed open file problem due to erroneous handling of UTF8 characters.
- Added handling of blanks in pin, pad and smd names
if updating files from older versions by substitution with '_'.
- Added handling of empty gate names if loading files from older versions
by substitution with 'G$$1' (exotic to minimize ambiguities).
- ULP: Set the proper sheet context if looping through pinrefs of a net.
- ULP: Fixed looping through variants of an element in a ULP.
- ULP: Provide the proper device context to access pinref.pin.contact.
- Improved syntax of the VARIANT command to allow variant names beginning
with '+' or '-'.
- Fixed displaying the library description in the ADD dialog for libraries with
a symbol description.
- Fixed the CONNECT command if gate names starting with '.' are used.
- Fix handling umlauts or 'ß' in library names when loading files from older
versions.
- Fixed library update problem related to several parts using same deviceset
but different gate combinations.
- Fixed clearing content of the parameter toolbar while processing a command
sequence.
- Fixed handling multiple pads connected to the same pin by adding an
additional attribute 'routetag' to the XML data format.
- Fixed changing the value of attributes of instances.
- Fixed updating of drawings coming from older versions containing smashed
Elements/Instances with multiple identical placeholder texts like NAME or
VALUE.
- Fixed changing assembly variants: update the drawing accordingly.
- Fixed UNDO/REDO of assembly variant changes.
- Fixed layer visibility of not populated elements in current assembly variant.
- Fixed handling assembly variants in ULPs: provide the cross drawn over
not populated parts in the schematic as wires of the according instance
symbols.
Skip the objects in layers like tPlace/bPlace if looping through the objects
of not populated elements in the board.
- Proper support for case insensitive handling of assembly variant names in the
VARIANT dialog.
- Fix for inconsistency problem after PINSWAP and UNDO.
- Fixed handling assembly variants in the CAM processor: Draw a cross over not
populated parts in the schematic and do not draw the objects of not populated
elements in layers like tPlace/bPlace.
- Enhanced the CAM processor GUI to allow selecting a specific assembly variant
and to display the currently selected assembly variant in the status bar.
- Fixed sorting 'numeric string' arrays in the user language for strings
containing a numeric sequence greater than 2147483647.
- Fixed drawing the cross of not populated and smashed parts in the schematic
after moving one of its texts: the size of the cross does no longer take
the texts of smashed parts into account.
- Fixed exporting the pad names on pins if generating CAM processor output.
- Added missing ULP constants (ALIGN_...).
- Restored the possibility to provoke the connectivity of nets on pins by
pseudo movements of instances (selecting and releasing at the same location).
- Fix for consistency problem after library update (REPLACE or explicit UPDATE)
due to improper update of changed symbols.
- Fixed wrong orientation of texts after UNDO of a PASTE command.
- Fixed SMASH of instances/elements with placeholder texts with an align
other than the default align bottom-left.
- Fixed a net class inconsistency if a supply net with a net class other than 0
already exists and is continued on another sheet by adding supply devices
pin to pin.
- Set net class of newly created supply nets by placing supply devices pin to pin
to the current net class.
- Fixed a crash when copying special ('grubby') polygons.
- Fixed the CLASS command to handle clearances to classes greater than 9.
- Fixed drawing of dimensions while modifying them (avoiding artefacts).
- Added a missing window refresh after changing of dimension settings.
- Fixed renaming nets for the case 'every Segment on this Sheet'.
- ULP functions netget/netpost: Workaround for wrong SSL error "Handshake failed"
for SSL connections due to erroneous OpenSSL lib on Windows XP SP3.
If the error occurs the user can decide whether to continue anyway.
This also fixes connection problems with DesignLink.
- Fix for proper group selection by ULP function setgroup.
- GROUP selection with ctrl-click: Fix for clicks getting lost,
fix for handling of polygons.
- Fixed reading the description of the Design Rules.
- Fixed automatic generation of element names in project context: The names of
parts without package (e.g. supply devices or frames) were not taken into
account.
- Fix for possible loss of changes in board editor after loading another project
pair from unchanged schematic editor and vice versa.
- Fix for "empty screen effect" due to degenerated arcs from older EAGLE
versions.
- Extend too tight radius limitation for circles.
- Fixed crash in SHOW after selection of one entity and deselection with Ctrl-
click.
- Fixed drawing of very large rectangles.
- Fixed a crash in ULP function setgroup() if executed from library editor and
nothing edited.

Release notes for EAGLE 6.1.0


=============================

* DIMENSION command:

- Added a note about the settings for dimension objects to the online help of
the DIMENSION command.

* Miscellaneous:

- The new option "Legacy mouse wheel mode" in "Options/User interface" can be
activated under Mac OS X to switch back to the mouse wheel handling as it
was in version 5.
- Online help for SCRIPT command: Add a section about script labels.

* Bugfixes:

- Fixed a missing screen update after updating a symbol in a schematic


drawing, where the new version of the symbol extends outside the
surrounding rectangle of the entire drawing.
- Fix for tweaking off polygon orphans in CAM processor output with
positive coordinates.
- Correct support for new members "headline" and "description" of ULP types
UL_BOARD, UL_SCHEMATIC and UL_SHEET.
- Fixed subtracting texts with vector font from polygons if placed in packages.
- Fixed changing the font of texts if the drawing has set 'Always Vector Font'.
- Fixed handling attributes with empty names in elements when updating a
board from before version 6.0 (they will be silently ignored).
- Fixed subtracting texts with vector font from polygons in CAM processor output.
- Fixed erroneously checking polygons with rank 6 and polygons with a smaller
rank
in the DRC.
- Fixed jumping initial airwire position when routing in special cases.
- Fixed a crash in the ROUTE command when routing a track that provokes
an immediate optimize.
- Fixed a crash in the Control Panel's tree view when renaming an item, and
the new name already exists.
- ADD command: Ensure proper initialization of part values if the device has the
attribute
'VALUE' set or the eaglerc switch Sch.Cmd.Add.AlwaysUseDeviceNameAsValue is
set.
- Fixed a crash in the RIPUP command if used in a non-board drawing.
- Fixed automatic generation of part names in project context: The names of
elements
without a corresponding part were not taken into account.
- Paste from file: If nets/signals from paste buffer are connected to an existing
net/signal, update netclasses of paste buffer nets/signals accordingly.
Warn the user before in case of changes.
- Fixed a crash if deleting a group containing a net wire and a junction
in special constellation.
- Smashed Elements/Instances: Ensure load of drawing in case of multiple
identical
placeholder texts like NAME or VALUE.
- Fixed drawing of polygons of mirrored elements with the CAM Processor
(use mirrored layer if applicable).
- Fixed a possible crash if opening a library panel tree containing
a library that would imply an update report.

Release notes for EAGLE 6.0.0


=============================

* Platforms:

- The Mac OS X version of EAGLE now requires an Intel Mac. It no longer runs
on PPC machines.
- Mac OS X 10.4, Mac OS X 10.5 and Windows 2000 are no longer officially
supported.
- If you are running Mac OS X 10.7 "Lion" and are using a track pad, you
can now use the "two-finger-pan" gestures for panning the content of the
editor window. Zooming in and out is done with the "pinch" gesture.
- To avoid problems with overwriting an existing installation of EAGLE with
a newer version on Mac OS X, the default installation directory now contains
the current version number (same as on Windows and Linux).
- The Mac OS X installer now allows reverting back to older versions of EAGLE.

* File data format changed to XML:

- The EAGLE file format has been changed from binary to XML.
- The complete definition of the new EAGLE file format can be found in the
file "doc/eagle.dtd".
- Existing files will be automatically updated to the new format when
they are saved with version 6.
- The pin direction "I/O" has been changed to "io" (without the slash).
Wherever a pin direction is allowed in command line input, the old value
will still be accepted for compatibility with earlier versions, but in the
XML files only "io" will be used.

* Mulitple pads connected to the same pin:

- Multiple pads can now be connected to the same pin.


- If a pin is connected to multiple pads, and the pad name is visible on
the pin, the smallest of all pad names connected to that pin is displayed,
followed by an asterisk ('*') to indicate that there is more than one pad.
After the asterisk the total number of pads connected to this pin is
displayed.
- The "Same signals" check between SMDs and pads/SMDs is no longer applied
within the same package.

* Arbitrary pad shapes:

- Any wires and polygons in signal layers (1-16) drawn in a package


that are connected to a pad or smd are now considered electrically
connected to that pad/smd. This allows the definition of arbitrary
pad shapes.
See "Help/Editor Commands/PAD|SMD/Arbitrary Pad Shapes".
- The 'rank' parameter is now obsolete for polygons in packages.
Package polygons in signal layers that are not connected to a pad/smd will
be handled as if they had a rank of 0.

* Cutout polygons:

- The new polygon pour style "cutout" can be used to define polygons that
get "subtracted" from all other signal polygons within the same layer.
See "Help/Editor Commands/POLYGON/Polygon cutouts".

* Dimensions:

- The new command DIMENSION can be used to draw dimensions.


See "Help/Editor Commands/DIMENSION".

* Differential pair routing:

- The ROUTE command now supports routing of "Differential Pair" signals.


- The RATSNEST command prefers open wire ends when generating airwires
for Differential Pair signals.

* Automatic meanders:
- The new command MEANDER can be used to balance the lengths of
differential pair signals, or to increase the length of a signal segment
to a given target length.

* Assembly variants:

- The new command VARIANT can be used to define assembly variants.


Assembly variants define whether a given part is actually populated
on the board, and what value and technology it has (if different from
the default).
- You can access assembly variants by opening the dialog under
"Edit/Assembly variants...".
- If a drawing contains assembly variants, the action toolbar shows a new
combo box that allows you to select one of these variants.
- The VALUE command always changes the value of a part in the currently
selected assembly variant.
- The new User Language objects UL_VARIANTDEFS and UL_VARIANTS, as well as
the new members UL_SCHEMATIC.variantdefs, UL_BOARD.variantdefs,
UL_PART.variants and UL_ELEMENT.variants can be used to access assembly
variants from a User Language Program.
- The new User Language functions setvariant() and variant() can be used
to set and query the current assembly variant.
- The new User Language members UL_PART.populate and UL_ELEMENT.populate
can be used to determine whether a part has to be populated in the
current assembly variant.
- The new placeholder >ASSEMBLY_VARIANT can be used to display the name of
the current assembly variant. ASSEMBLY_VARIANT can therefore no longer be
used as an attribute name.
- The new command line option -A can be used to specify a particular
assembly variant when running the CAM Processor.
- The commands ADD, CHANGE PACKAGE | TECHNOLOGY, REPLACE, UPDATE and VALUE
can only be used if no assembly variant is active.

* Text alignment:

- Texts can now have one of nine different alignments, consisting of


combinations of left, right, center, top and bottom.
- The reading direction of vertical texts can now be selected from "up"
and "down" in "Options/User interface".

* Increased internal resolution:

- The internal resolution of EAGLE has been increased by a factor of 32.


It used to be 0.1 micron and is now 0.003125 micron. This allows drawings
in imperial units to use exact values for multiples of 1/4, 1/8, 1/16,
1/32 and 1/64 mil.
- The maximum drawing area is now 4x4 meters (about 150x150 inch).
- If a User Language Program directly handles coordinates or sizes in
editor units and needs to know the actual value of one editor unit, it
needs to be adjusted to use the new value.
- The new User Language functions inch2u(), mic2u(), mil2u() and mm2u()
can be used to convert the respective units to internal editor units.
- Due to the increased resolution of coordinates, any approved ERC or DRC
errors from older versions can no longer be recognized as such. Therefore,
when you run the ERC/DRC after updating a file to version 6, these errors
will show up again and you may have to approve them again
- Once you overwrite a project file (eagle.epf) from an older version with
this new version of EAGLE, the dimension values in it will be stored in
a different format. If you then load such a file with an old version of
EAGLE, all menu entries (like wire widths or drill diameters) will fall
back to their default values.

* Supply layers:

- Supply layers (i.e. layers with names that start with a '$') are no longer
treated special. Layers for supply signals now need to be realized using
signal polygons.
- When a board drawing from an older version of EAGLE is loaded, any supply
layers it contains will be renamed by moving the '$' to the end of the
name. This makes sure automated scripts that treat a supply layer as
"negative" don't make a mistake, while still indicating that layer as
having been a supply layer. The functionality of the supply layer is
replaced by a signal polygon with the proper name, using the minimum wire
width from the net class of that signal. The polygon is drawn into the
former supply layer as a rectangular shape, covering the area defined by
any wires in the Dimension layer, by pads or by vias. The Autorouter setup
is modified in such a way that the layer containing the generated polygon
is activated (with preferred direction '*'), and the costs for that layer
set to 99 in all passes.

VERY IMPORTANT:

After updating a board with supply layers from an older version, make
sure you run the RATSNEST command to verify whether all pads are still
connected to the respective signal.

* BGA escape routing:

- Route all signals are out of a BGA following design rules and available layers.
ULP solution. Start with 'run route-bga element'.

* Userdefined context menus:

- With the SET command userdefined entries can be made into the context menus of
selectable Eagle object types. They are stored in the eaglerc file.

* User Language:

- The User Language constants PAD_SHAPE_ANNULUS, PAD_SHAPE_THERMAL,


VIA_SHAPE_ANNULUS and VIA_SHAPE_THERMAL are now obsolete.
They are still tolerated for compatibility with old ULPs, but no pad or via
will ever have such a shape.
- The User Language member function UL_SHEET.parts is deprecated and should
no longer be used. Use the new function UL_SHEET.instances instead.
The old function is still available for compatibility with ULPs written
for older versions.
- The User Language objects UL_BOARD, UL_SCHEMATIC, UL_SHEET and UL_SYMBOL
new have the new data members 'description' and 'headline'.
- The User Language data member UL_PIN.contact is deprecated, because a pin
can now be connected to multiple pads. It will work for backwards
compatibility and as long as only one pad has been connected to the pin,
but will cause a runtime error when used with a pin that is connected to
more than one pad. Use the new loop member UL_PIN.contacts() instead.
- The new User Language data members UL_PIN.route and UL_CONTACTREF.route
tell whether all or any of the respective contacts need to be routed.
- The new User Language object UL_DIMENSION can be used to access dimension
objects.
- The new User Language functions inch2u(), mic2u(), mil2u() and mm2u()
can be used to convert the respective units to internal editor units.
- The User Language object UL_TEXT now has the new data member 'align'.
- The netpost() function has a new optional parameter to set the content
type of the posted data.
- PCB service (menu button and pcb-service.ulp): Extension to EuroCircuits
for European, Pentalogix for American customers, depending on
country settings.

* CAM Processor:

- The command line options '-a' and '-t' are no longer supported, because
the CAM Processor doesn't use Annulus or Thermal symbols any more.
For compatibility with existing scripts, these options are still
tolerated, but they have no effect.
- The aperture shapes "annulus" and "thermal" are no longer used by the
CAM Processor.
- Any parameters referring to "Annulus" or "Thermal" have been removed
from the eagle.def file. They are still tolerated when using such a file
from an older version of EAGLE, but they have no effect.

* Design Rules:

- Most of the parameters related to Thermal and Annulus have been removed
from the "Supply" tab of the Design Rules dialog.
- Changes to the Design Rules are now fully handled by UNDO/REDO.

* AUTO command:

- The AUTO command no longer clears the UNDO buffer (unless an existing job
is continued/finished).

* BOARD command:

- The BOARD command no longer clears the UNDO buffer of the schematic if a
board is newly generated.

* CHANGE command:

- The CHANGE command now checks whether the selected object already has the
requested property value, and changes it only if not. This may result in an
actual CHANGE command not generating an UNDO step, because nothing has
changed at all.
- The new option CHANGE DTYPE can be used to change the type of
dimension objects.
- The new option CHANGE ALIGN can be used to change the alignment of
text objects.

* CLASS command:

- The maximum number of net classes has been increased to 16.


- Any changes made to the net classes with the CLASS command are now fully
handled by UNDO/REDO.
- The CLASS command now accepts class names that start with digits, as long
as they are not a plain integer number.

* CONNECT command:

- The CONNECT command can now handle several pad names at once, to create
a connection of several pads to one pin.
- The new keywords ALL and ANY in the CONNECT command control whether all
or any of the pads in a multiple pad connection need to be routed in the
board.
- Added a note to the online help of the CONNECT command, saying that this
command works a lot faster if all connections of one device are given in
one single call.

* COPY command:

- In older versions of EAGLE the COPY command was used solely to copy objects
within a drawing, as opposed to the Windows behavior, where COPY places a
copy of the selected objects (i.e. the GROUP) into the system's clipboard.
As of version 6, EAGLE's COPY command primarily behaves the same way as in
other Windows applications, by putting a copy of the current group into the
clipboard. The original functionality of copying selected objects, or
copying library objects between libraries, is still fully available, which
is especially important to keep existing scripts and ULPs working.
What has also often irritated Windows users is that in EAGLE the CUT
command has only copied the current group to the clipboard, but did not
actually delete the group from the drawing. Since a CUT command that
deletes the group would not be of much use in a board/schematic pair that
is connected via forward-&backannotation, the CUT command has been
removed from the main pulldown menu and the command button toolbar. It is
still fully available from the command line or within scripts. The command

SET Cmd.Copy.ClassicEagleMode 1

restores the old behavior of both the COPY and the CUT command. Note that
this setting only takes effect the next time you open an editor window.
- Added a note to the online help of COPY about how to copy objects from
one schematic sheet to an other.

* DESCRIPTION command:

- The DESCRIPTION command now also works in schematics, sheets, boards and
symbols.
- If the first parameter to the DESCRIPTION command is an asterisk ('*'),
the description of the library or schematic will be modified, as opposed to
an individual device set, package, symbol or sheet.

* DISPLAY command:

- The DISPLAY command can now also delete internal layers, as long as they
are empty.

* DRC command:

- If the DRC command is given an asterisk character ('*') as the first


parameter, the Design Rules dialog will be opened and allow editing the
Design Rules, without triggering an actual check when the dialog is
confirmed.
- The "Same signals" check between SMDs and pads/SMDs is no longer applied
within the same package.

* EDIT command:

- Creating or reordering schematic sheets no longer clears the UNDO buffer.

* ERC command:
- If the ERC establishes consistency between a board and a schematic, it now
stores this fact in the UNDO buffer. When going back in the UNDO history
to a point before consistency was established, the forward-/backannotation
will be disabled again. Note that doing REDO will not automatically
re-establish consistency!
Storing the fact that consistency has been established also truncates the
UNDO buffer at that point.

* ERRORS command:

- The ERRORS dialog can now approve/disapprove all errors/warnings at once.


You need to select and expand the desired section and press the
"Approve all" or "Disapprove all" button, respectively. A confirmation
dialog will make sure you don't do this inadvertently.

* GATESWAP command:

- The GATESWAP command now leaves the 'smashed' property of instances in place.

* LAYER command:

- The LAYER command can now also delete internal layers, as long as they
are empty.

* PASTE command:

- Nets now only keep their name in the PASTE command if they have a label
or are connected to a supply pin, and that label or pin is actually in the
group. In V5 this decision was made independent of whether such a label
or pin was actually in the group.
- Pasting is now done via the system's clipboard. This allows groups to be
copied from one instance of EAGLE into an other.
- The PASTE command can now paste a complete consistent board/schematic pair
into the currently edited project. See "Help/Editor Commands/PASTE/Pasting
from a file".

* REMOVE command:

- Removing a schematic sheet no longer clears the UNDO buffer.

* RUN command:

- Started from a context menu the according object can be identified with
ingroup().

* SET command:

- SET UNDO_LOG ON|OFF is no longer a global setting, but acts only upon the
editor window within which it is executed (in case of a consistent
board/schematic pair it works on the other window as well).

* UNDO command:

- The UNDO command (as well as the REDO command) now displays in the status
bar what kind of command was undone (or redone) and how long ago that
command has been executed. If the command was originally executed in the
board, and UNDO was done in the schematic, it will also indicate that
(and vice versa).
- The new option LIST in the UNDO command opens a dialog that contains the
entire contents of the undo buffer. You can navigate through the list of
undo/redo steps by click&dragging the list delimiter, or by directly
clicking on any given step you wish to go back or forward to. If there
are several steps between the current delimiter position and the clicked
list item, all steps in between will be executed in the proper sequence.
Going upward in the list means doing UNDO, going downward results in REDO.
CAUTION: this is a very powerful tool! By going all the way back in the
UNDO list (which can be done with a single mouse click) and executing any
new command, the undo buffer will be truncated at that point, and there
is no way back! So use this with care!

* Miscellaneous:

- Dialog CHANGE package/technology: Support of external links and representation


of images.
- ULP function dlgTextView: Proper support for links to local files (open
application).
- The number of technologies per device is no longer limited to 254.
- The number of package variants per device set is no longer limited to 254.
- The valid range of values for pin and gate swap levels is no longer
limited to 255.
- The status bar of the editor window now contains indicators that show
whether the drawing has been modified, and whether forward&backannotation
is active.
- The sheet thumbnails in the schematic editor now display the headline of
the sheets' descriptions as their caption.
- The sheet combo box in the schematic editor now displays the headline of
the sheets' descriptions.
- The context menu of the sheet thumbnails in the schematic editor has the
new option "Description" which can be used to edit the description of a
sheet.
- If one editor window of a consistent board/schematic pair is closed, the
remaining window now displays a warning that f/b annotation has been
severed. You can click into that warning to hide it.
- Show default command text buttons for DesignLink and PCB Service
only in suitable editor windows (PCB Service only in board editor etc.).
- If a limited edition of EAGLE can't perform a particular action, it now
informs the user about the reason.
- Added a note to the online help of the OPTIMIZE command, saying that this
command is only applicable in a board, and that only signal wires can be
selected.
- PCB service ULP: Display quote parameters in dialog. Make country changeable
(Service goes to Pentalogix or Eurocircuits depending on country).

* Bugfixes:

- Group selection by polygon: Avoid selecting too much in special case.


- PRINT command: Transfer options to print dialog if not ended with ';'.
- CAM processor dialog: Avoid settings getting overridden from previously opened
CAM file; Avoid crash after save and opening recent file.
- ULP functions setgroup/ingroup: Bugfix if called for other editor window and no
group defined yet.
- ULP function dlgListView: No sorting for parameter sort=0.
- ULP function dlgComboBox: Avoid jumping combobox size in special case
(dlgRedisplay
called).
- Fix for wrong REPLACE with package and technology in special constellations.
- Info dialog for arcs/wires: Correct handling of cap style while changing
curve to 0/from 0.
- Fixed updating sheet numbers in the ERRORS dialog when reordering,
inserting or deleting sheets.
- The frame object is now properly handled when rotated with the MOVE
command. Note, though, that the orientation of letters and digits in the
frame borders doesn't change when a frame is rotated.
- Fixed handling "\n" in the eaglerc file.
- Fixed handling ':' in file names under Linux and Mac OS X.
- Fix wrong width calculation of Xref labels.
- Fixed the online help for UL_AREA to correctly indicate that the area of
a UL_PACKAGE or UL_SYMBOL in a UL_ELEMENT or UL_INSTANCE context includes
the offset of the element/instance.
- Fix wrong behaviour of toolbar extensions, in particular for text menus.
- Fix for ULP function netget()/netpost() in case of Status 301 ("moved
permanently"):
Redirection if possible.
- Fixed truncation of text descenders in command text buttons.

Release notes for EAGLE 5.12.0


==============================

* DISPLAY command:

- The DISPLAY command can now also delete internal layers, as long as they
are empty.

* LAYER command:

- The LAYER command can now also delete internal layers, as long as they
are empty.

* Miscellaneous:

- Dialog CHANGE package/technology: Support of external links and representation


of images.
- ULP function dlgTextView: Proper support for links to local files (open
application).

* Bugfixes:

- Group selection by polygon: Avoid selecting too much in special case.


- PRINT command: Transfer options to print dialog if not ended with ';'.
- CAM processor dialog: Avoid settings getting overridden from previously opened
CAM file; Avoid crash after save and opening recent file.
- ULP functions setgroup/ingroup: Bugfix if called for other editor window and no
group defined yet.
- ULP function dlgListView: No sorting for parameter sort=0.
- ULP function dlgComboBox: Avoid jumping combobox size in special case
(dlgRedisplay
called).
- Fix for wrong REPLACE with package and technology in special constellations.
- Info dialog for arcs/wires: Correct handling of cap style while changing
curve to 0/from 0.

Release notes for EAGLE 5.11.0


==============================

* User Language, DesignLink:


- The User Language dialog object dlgStringEdit now accepts additional
parameters to implement an input history.
- The User Language function system() no longer prompts the user for
confirmation before executing the command.
- Modified the User Language network functions so that they use the proxy
as set up in "Help/Check for Update/Config".
- DesignLink enhancements: Check price & availability for all parts of a
schematic,
load a shopping cart (designlink-order.ulp and designlink-inc.ulp,
replacing designlink.ulp).
- DesignLink: Removed the "Customer Details" dialog as the user administration
is not in service on Element14 web page.
- DesignLink: Added a text export function to order list (designlink-order.ulp)
and library tool (designlink-lbr.ulp).
- Added a PCB quote service as ULP (pcb-service.ulp), that can extract
manufacturing
parameters from the board and send to an Element14 site to get a quote for it.

* CHANGE command:

- The CHANGE command no longer selects airwires when changing parameters


that don't apply to airwires (like layer or width).

* EXPORT command:

- Reduced the minimum resolution in the EXPORT IMAGE command to 1.

* MENU command:

- The MENU command can now handle icons.


- The MENU command now automatically turns on the textual command menu.
- By default the textual command menu is now located right next to the
action toolbar.
- The default eagle.scr file now contains MENU commands that configure
the textual command menu with buttons for DesignLink and the new
PCB service.

* SET command:

- The new SET variable CONFIRM can be used to automatically confirm message
dialogs (see "Help/Editor Commands/SET/Automatic Confirmation").
- SET CONTEXT objecttype text commands enables the definition of
userdefined context menu entries.

* Miscellaneous:

- If the user has modified the widths of the columns in a dlgListView, they
no longer fall back to their initial values when a different item is
selected.
- The new command line option '-U' can be used to define the location
of the 'eaglerc' file in which EAGLE stores user settings.
Note that beta versions of EAGLE no longer store their user settings
in a separate 'eaglerc' file with the extension '.beta'. They now use
the same 'eaglerc' file as officially released versions. If you want
to keep things separate for beta versions, use the '-U' option.
- The new SET parameter Option.AutoLoadMatchingDrawingFile can be used
to suppress the query "Do you also want to load ...?" in the EDIT command.
- The new SET parameters Cmd.Name.RenameEntireNetByDefault and
Cmd.Name.RenameEntireSignalByDefault can be used to control the default
behavior of the NAME command.
- Support relative paths of image links in libraries in ADD and REPLACE dialog.

* Bugfixes:

- Fixed the layer sequence in the PRINT dialog's preview in case the
output is mirrored.
- When opening an existing project, windows that were minimized when the
project was closed, and were previously maximized, will now behave
correctly when clicking on their taskbar entry.
- Fixed a crash when executing a script file with several "edit ...; close;"
sequences in the same line.
- Fixed wrongfully trying to open the device links in the Control Panel as
external hyperlinks when resizing the Control Panel.
- Fixed showing an invoked gate in the INVOKE dialog.
- Fixed canceling a GROUP/MOVE between sheets.
- Fixed handling frames in the EXPORT SCRIPT command.
- Fixed exporting partlists with the EXPORT command in case the part value
contains "%1".
- Fixed handling external hyperlinks in the ADD dialog.
- Under Linux the runtime libraries libssl and libcrypto are now linked
statically to the executable file, because on some systems the
required version of these files was not available.
- Fixed converting lowercase to uppercase characters when renaming a
package variant via the dialog.
- Fixed alfanumeric sorting of strings.
- Fixed setting the sort order in the INVOKE dialog.
- Fixed recognizing a CAM job as "modified" if only the name of a job section
has been modified.
- Fixed the values of UL_VIA.diameter and UL_VIA.shape for supply layers
in which the via is connected, in case the Design Rules parameter
"Supply/Generate thermals for vias" is turned off.
- Fixed limiting stored dialog sizes to smaller desktops.
- Fixed handling leading or trailing blanks when the user enters a
Freemium code.
- Fixed missing spaces after '-' between <nobr> tags.
- The User Language function ingroup() now checks whether there is actually
a group defined.
- Export library as script: Handle single quotes correctly when used
within attribute values.
- Fixed displaying the large crosshair cursor at the current mouse
position when turning it on.
- Fixed retrieving the parameters of the PRINT dialog from the eaglerc
settings, so that cfgset() can properly set them.
- Fixed handling UL_HOLE.diameter[], UL_PAD.diameter[], UL_PAD.shape[],
UL_VIA.diameter[] and UL_VIA.shape[] in case the board contains supply
layers that are not visible when the ULP runs.
- Avoid erroneous change of width of ULP comboboxes.
- Fix performance issue with big schematics with many device attributes.
- Fix asymmetric alignment of texts in xref labels with frame.
- Fixed: New attributes defined in schematic did not get current
rotation of element when propagated to board.
- Fixed crash when moving Thunderbird email files across EAGLE windows
by drag&drop.
- Use actual wire width for line creation in layer 'unrouted', not zero.
- Suppress hidden airwires in group selection.
- Fixed a missing cell padding in the Technologies/Attributes display of
the library editor under Windows.
- Fixed point-in-polygon algorithm for group selection by polygon.
- Enable display of web based images in various description fields
and HTML editor.
- Fixed crash when doing a show on a part instance from other than
current sheet.
- Improved performance of DRC with selected area.
- Fixed distortion in printing of mirrored circles.
- Bugfix: Make GROUP on signals excluded with RATSNEST work again.

Release notes for EAGLE 5.10.0


==============================

* Internationalization:

- The manual and tutorial are now available in Chinese.


- The EAGLE program texts have been translated to Hungarian (note that
the texts provided by the Qt GUI library are not available in that
language).
- The EAGLE program texts have been translated to Chinese (note that
the texts provided by the Qt GUI library are not available in that
language).

* User Language:

- The new User Language functions neterror(), netget() and netpost() can
be used to access remote sites on the Internet.
- The User Language function t2string() now has an optional format parameter.
- The User Language now provides functions for processing XML code (see
"Help/User Language/Builtins/Builtin Functions/XML Functions").
- The User Language function language() now by default returns "en" if no
valid language code can be determined.
- The new User Language function country() can be used to determine the
country code of the current system (see "Help/User
Language/Builtins/Builtin Functions/Miscellaneous Functions/country()").
- The image URL in the <img...> tag of HTML texts may now also be external
(<img src="http://...">).
- The new User Language dialog function dlgSelectionChanged() can be used
to determine whether the current selection in a dlgListView or dlgListBox
has changed.
- The new User Language Program 'designlink.ulp' can be used to access
Premier Farnell's online product database.
Note that currently the DesignLink server has problems delivering more
than 50 search results at a time, and can only deliver the first 500
search results, even if it reports more than 500 hits for any given search.
- The User Language dialog objects dlgTextView and dlgLabel now open
external hyperlinks with the appropriate application program.
- The width of a dlgComboBox is now automatically adjusted when the data in
its string array is changed.
- The new User Language functions cfgget() and cfgset() can be used to
store parameters in the user's eaglerc file.
- The 'Selected' parameter of a dlgListView can now be initialized to -2
to make the first item according to the current sort column the selected
one.

* Miscellaneous:

- Reverted "Fixed calculating mask data for SMDs with a non-zero roundness"
from version 5.7.0, because this caused apertures to be drawn that used
to be flashed.
- Hyperlinks contained in the descriptions of files or library objects
are now opened with the appropriate application program.
- Removed the remark on t/bPlace automatically selecting t/bNames etc.
from the English version of the online help of the DISPLAY command
(this was overlooked in version 4.92.3).

* Bugfixes:

- Fixed setting the text orientation when adding a new attribute via the
command line.
- Fixed adding the default ".scr" extension in EXPORT NETSCRIPT.
- Fixed detecting objects inside hatched polygons that would "fall through"
the hatch lines.
- Fixed generating the eaglecon.exe file on Windows systems where a
realtime virus scanner blocks patching executable files.
- Fixed a crash under Linux if the mouse cursor is inside a combo box in
the parameter toolbar, and a new command is started, so that the content
of the parameter toolbar changes.
- Fixed alphanumeric sorting by file type in the tree view of the Control
Panel.
- Fixed marking the current sort mode in the Control Panel's "View/Sort".
- Fixed showing an invoked gate when double clicking on it in the INVOKE
dialog.
- Fixed displaying the list items of already invoked gates in the INVOKE
dialog with a dimmer color.
- Fixed wrongfully assigning generated names to buses when doing
GROUP/CUT/PASTE.
- Fixed updating the Control Panel's tree view if an Autorouter control
file is saved to disk.
- Fixed drawing artifacts when moving a part in the schematic that has an
attribute with a value that is longer than the related placeholder text.

Release notes for EAGLE 5.9.0


=============================

* Bugfixes:

- Fixed generating the default board outlines in the BOARD command of the
Professional edition.
- Fixed an endianness problem with the Freemium edition on PPC Macs.
- Fixed an unjustified "Load error 295" when loading a schematic with more
than one sheet that has been created with the Freemium edition.

Release notes for EAGLE 5.8.0


=============================

* Platforms:

- The minimum system requirement for the Mac version of EAGLE is Mac OS X
10.4 (this was forgotton in the version 5.7.0 release notes).

* License:

- CadSoft now provides an EAGLE "Freemium" license, which is valid


for a limited time, and is more powerful than the Freeware license.
See http://www.element-14.com/eagle-freemium for more information.
- The Standard edition of EAGLE can now handle 6 signal layers.
- The "Help/EAGLE License..." option now allows the user to choose between
using a customized license file, the Freeware or the Freemium license.
* POLYGON command:

- Added a note to the online help of the POLYGON command, recommending to


leave the Isolate parameter at 0 to avoid problems during manufacturing.

* PRINT command:

- The PRINT command now always sets the default output file name to that of
the currently loaded file when printing to a PDF or Postscript file.

* SET command:

- SET SNAP_LENGTH now accepts units.

* TEXT command:

- Added a note to the "Attributes" section of the online help for the
TEXT command, saying that there should be only one placeholder text
per attribute name in any given symbol or package.

* Miscellaneous:

- When a board is loaded, any leftover empty signals are now deleted
automatically.
- The total thickness of the layer setup in the Design Rules is now
displayed with the unit defined in SET Interface.PreferredUnit.

* Bugfixes:

- Fixed handling UL_VIA.diameter[] for LAYER_TSTOP and LAYER_BSTOP, in case


the via's drill is not greater than the value defined in "Design
Rules/Masks/Limit" and the via's VIA_FLAG_STOP is set (in which case
0 was returned instead of the actual diameter).
- Fixed making sure that every #include file in a ULP is processed only once.
- Fixed a possible crash with large Autorouter jobs on Mac OS X.
- Fixed handling existing exclamation marks in names when updating files
from versions before 5.0.
- Fixed using the selected technology in the REPLACE command.
- Fixed wrongful unsmashing of parts on the source sheet after moving a
group to an other sheet.
- Fixed setting the used signal layers after creating a new board from
a schematic.
- Fixed reactivating snapping after starting a transparent command while
the GROUP command is active.
- Fixed EXPORT IMAGE in monochrome with colored background.
- Fixed redrawing attributes if only their name has been changed.
- Fixed a crash when zooming far in to a mirrored text with non-vector
font on Windows.
- Fixed displaying combo boxes on Windows with "extra large fonts".
- Fixed wrongfully adding a wire to an existing signal if the wire is placed
at a point where a connected SMD pad exists on a different layer.
- If the ATTRIBUTE command is used with the invalid syntax
ATTRIBUTE <partname> <attributename> (x y);
a "Missing attribute value" error is now given.
- Fixed a missing confirmation in the schematic when changing the value of
an attribute that has the 'constant' option set in the library.
- Fixed a possible crash when doing an UnSmash on the last element in a
board that contains no signals, and where the element has attributes.
- Fixed artifacts in combo box lists on Mac OS X 10.6.
- Fixed a possible crash when printing to a PDF file on Mac OS X 10.4.
- Fixed displaying local attributes in the schematic in case there is
a global attribute with the same name.
- Fixed sluggish performance, especially after UNDO/REDO with schematics
that contain many sheets.
- Fixed printing on Mac OS X 10.6 with some printer drivers (for instance the
"HP Laserjet 5100 Series").
- Fixed a memory leak in case a toolbar is wider than the editor window.
- Fixed a possible crash when starting a command in the schematic editor,
doing a SHOW in the board editor, and finally continuing the command in
the schematic editor in such a way that a forward annotation changes the
data in the board editor.
- Fixed handling signal polygons in case a net that is present only on a
single sheet is completely renamed.
- Fixed quoting technology names in EXPORT SCRIPT.
- Fixed switching the "OK" button to "Show" in the INVOKE dialog when
clicking on a gate that is already invoked.

Release notes for EAGLE 5.7.0


=============================

* Platforms:

- As of this version, every EAGLE license is valid for all supported


platforms, without any more additional fee.

* Control Panel:

- The "View/Refresh" option in the Control Panel's pulldown menu now has
the platform specific hotkey.
- The default action when double clicking, pressing Space or Enter on a
project directory in the Control Panel's tree view is now to open/close
the project.

* User Language:

- The new User Language functions setgroup() and clrgroup() can be used to
set and clear the flags that define whether an object is within the current
group.
- It is now possible to directly access members in an array of UL_*
objects, as in

UL_SMD smds[];
...
if (smds[i].x == smds[j].x)
...

* ADD command:

- The search string in the ADD dialog is no longer modified if the


ADD command is called with a unique device name (from the command
line or the right mouse button history function of the ADD button).

* AUTO command:

- The AUTO command now supports selecting signal names by wildcards.

* BOARD command:
- Added a consistency check right after a board is newly created from a
schematic, in order to immediately catch any problems that otherwise
might have turned up later on.

* CUT command:

- The CUT command now clears the paste buffer in case the group is empty.

* DISPLAY command:

- The DISPLAY dialog now has an 'Apply' button.

* DELETE command:

- Pads/smds can now be deleted from a package in a library, even if the


package is in use by a device, as long as the pad/smd is not referenced
by any pin in any device of that library.
- Pins can now be deleted from a symbol in a library, even if the
symbol is in use by a device set, as long as the pin is not referenced
by any pad/smd in any device of that library.

* GROUP command:

- Made GROUP ALL also select objects outside the defined coordinate area.

* LABEL command:

- The coordinates used in xref labels no longer refer to the surrounding


rectangle of the net, but rather take each object into account separately.

* MARK command:

- The MARK command now immediately updates the grid display, without the
need to first move the mouse.

* NAME command:

- The NAME command now only offers objects that actually have a name in case
there are several objects within the select radius.

* OPTIMIZE command:

- The OPTIMIZE command no longer takes airwires into account.


- The OPTIMIZE command now flashes the selected signal to provide visual
feedback to a mouse click.

* PAD command:

- The PAD command can now add a pad to a package, even if that package
is in use by a device.

* PIN command:

- The PIN command can now add pins to a symbol, even if that symbol is in
use by a device set.

* PRINT command:

- The PRINT dialog now contains a list of all available printers for direct
selection. Printing to a PDF or Postscript file can also be selected from
this list.
- The PRINT command now remembers if the last print went into a file.
- The PRINT command has a new option named PRINTER, which can be used
to print to a specific printer.
- The new option CAPTION of the PRINT command can be used to print a caption
from the command line.
- The new option PAPER of the PRINT command can be used to print to a given
paper size.
- The file name in the PRINT FILE option may now contain placeholders to
insert the actual drawing file name or extension.
- The PRINT FILE command now refuses to write any of the file extensions
.brd.sch.lbr.gpi.dri.whl.drl.ulp.epf.cam.scr.exe.com.bat.cmd.sys.dll, to
make sure files are not overwritten inadvertently.

* RATSNEST command:

- The RATSNEST command no longer stops when it encounters an unknown signal


name, but rather tells the user about the unknown signals and offers the
choice of continuing.
- The RATSNEST command, if given a signal name, now only processes the
polygons of the given signal, not all polygons of all signals.
- The context menu of wires and vias that belong to a signal now contains
the RATSNEST command.

* ROUTE command:

- The ROUTE command no longer activates the current layer when it is


started, but waits until an airwire has actually been selected.
- The Follow-me router now uses the via diameter as set in the parameter
toolbar.

* SET command:

- When entering values for the Catch_Factor or Select_Factor in the SET


command via the command line, numbers in the range [1 ... 100] are now
taken as percentages to avoid errors caused by not entering the factor
as a decimal number between [0.0 ... 1.0].
- The new parameter Option.LayerSequence can be used to define the
sequence in which layers are rendered (see "Help/Editor Commands/SET").

* SHOW command:

- The SHOW command with the '@' option now also draws the pointer rectangle
in the other editor window, if f/b annotation is active.
- The highlighted objects from the SHOW command's dialog now stay
highlighted, even after closing the dialog (until the end of the SHOW
command).

* SMD command:

- The SMD command can now add an smd to a package, even if that package
is in use by a device.

* UPDATE command:

- The UPDATE command now allow selecting multiple files from the file dialog.

* USE command:
- The USE command now allow selecting multiple files from the file dialog.

* VALUE command:

- The VALUE command button now also has a history function.

* VIA command:

- The VIA command now issues an error message if there are no vias defined
in the layer setup.

* CAM Processor:

- Added CAM Processor driver GERBER_RS274X_25 with 2.5 inch coordinate


format.
- The default CAM jobs no longer have the "Mirror" option checked.

* Miscellaneous:

- The sorting sequence of numeric strings that differ only in the number
of leading zeros in their numeric parts has been made stable (i.e.
sorting them more than once always leads to the same sequence).
- The Properties dialog of a wire now also displays the angle of the wire.
- The progress display of the CAM Processor no longer keeps popping into
the foreground.
- Improved the performance of recalculating the ratsnest in the board after
an ADD, DELETE or PASTE command in the schematic, in case many pins are
processed that are connected to the same net.
- Made the origin crosses for elements in a board smaller, so that they
don't overlap that much in case of small SMD parts.
- The Properties dialog of an element now applies modified coordinates and
orientation settings even if the "Locked" flag is checked.
- Added a general note to the online help about the special coordinate
value '(@)'.
- Leading and trailing blanks in file and directory names are now ignored.
- When defining a new drill diameter in the "Options/Set/Drill/New" dialog,
the default unit is now the same as in the editor window's grid.
- Fixed handling empty keys in bom.ulp.
- For better readability the sheet thumbnails now show only the individual
sheet number, without the total number of sheets.
- Speeded up handling parts with lots of attributes in the schematic.
- The Design Rules plausibility check now tests whether the clearance values
for 'same signal' are not larger than those for 'different signals'.
- The _OUTLINES_ polygon (if present) is now calculated with increased
precision, to allow the milling contours to better follow the object
outlines.
- The detection of connected parts of a calculated polygons (which is used,
for instance, in the RATSNEST and ROUTE commands) has been speeded up.
- Removed an unnecessary dependency of libXft.so in the Linux version.
- The new SET parameter Interface.MouseButtonReleaseTimeout can be used
to set a timeout within which a mouse button release will trigger a
button's action, even if the release happened outside the button's area
(default is 500ms).
- The color index in the dxf.ulp now starts at 1, since AutoCAD 2007 doesn't
like color 0.
- The CAM Processor's warning about polygons that may produce very large
plot data is now only given if the layer containing that polygon will
actually be plotted.
- The Value entry in the Properties dialog of a part where the device has
"Value off" now contains a check box that indicates that this value
overwrites the default (i.e. the device name). When this box is unchecked,
the value falls back to the default.
- When opening a project, the windows that get opened are no longer scaled
to the current desktop size, but rather moved and resized if necessary
to make them fit entirely onto the desktop.
- Switching between windows with Alt+0, Alt+1 etc. has been disabled on
the Mac OS X platform, because on some localized keyboard layouts these
key combinations are already used otherwise.
- Implemented the placeholders >SHEETNR and >SHEETS to make the sheet number
and the total number of sheets in a schematic available separately.
- Added a note to the online help about selecting the layer in the ATTRIBUTE
and LABEL commands.
- When a schematic is loaded, any leftover empty nets are now deleted
automatically.
- If a board file that has been created with an EAGLE edition that can
handle only a subset of the routing layers is loaded with an edition that
can handle additional routing layers, and the layer setup is changed so
that additional layers are used, these layers are now created
automatically.
- Improved performance of panning outside the surrounding rectangle of the
entire drawing.

* Bugfixes:

- Fixed missing technology when adding string to the command button history
of the REPLACE command.
- Fixed a crash with negative 'number' parameter in the User Language
function sort().
- Fixed handling links like <a href="#abc"> in dlgTextView.
- The "Link" variable in dlgTextView can now be used to initially scroll
to a given position in the text.
- Fixed sorting in the INVOKE dialog.
- Fixed handling links like <a href="#abc"> in the Control Panel.
- Fixed restoring the width of the sheet thumbnail view if the view is
docked.
- Fixed handling the minimum drill distance in the Autorouter.
- Fixed refreshing the draw window if color palette entries are changed
via the SET command.
- The modification "Fixed dynamic airwire calculation in the ROUTE command
in case layers containing objects that belong to the routed signal are not
displayed" that was done in version 5.2.4, has been revoked because it
caused segments of a signal that are connected through wires in the
undisplayed layer not to be seen as connected, which resulted in an
incorrectly calculated dynamic airwire.
- Fixed redrawing polygons that extend outside the board area when the
Autorouter is started.
- Fixed artifacts in case a smashed part that contains the placeholders
>PLOT_DATE_TIME, >LAST_DATE_TIME or >DRAWING_NAME is moved.
- Fixed the paper size values in the PRINT dialog.
- Fixed skipping airwires when pasting from a board into a package drawing.
- Texts and rectangles in user defined layers of a board or package, that
have a non-orthogonal angle, are now skipped when pasting them into a
sheet or symbol drawing.
- The parameters of the editor window no longer fall back to defaults when
loading a different drawing.
- Fixed handling signal polygons in the Autorouter.
- Fixed an unjustified warning message "The attribute '...' is already
defined in the board with value '...'! Overwrite?".
- Fixed UL_PART.attribute[] in case the actual name of the attribute is
longer than the string given as the index, as in "ABC" vs. "ABCDE".
- Fixed a possible loss of consistency after GROUP/CUT/PASTE in case a
part on a schematic sheet is in the group, but the net wire connected
to one of its pins isn't. After deleting some other wires from that net
the consistency between board and schematic may have been lost.
- Fixed adding the "Cancel" button to the message box in case a script is
run in a library and nothing has been selected for editing.
- Fixed calling the User Language function strxstr() without any optional
parameter.
- Fixed a possible crash in case a net wire completely disappears when
moving one of its end points onto the other.
- Fixed the User Language function strtol(), so that hex values above
0x7FFFFFFF are converted to negative integers.
- Fixed a crash in the Follow-me router when changing the grid and the
current layer while an airwire is attached to the cursor.
- Fixed handling lowercase characters in placeholder texts for attributes in
the SMASH command.
- Fixed handling the '.tif' extension in the EXPORT IMAGE command.
- Fixed handling nested typecasts in User Language programs.
- Fixed handling wire bend styles in the ROUTE command without autorouter
module consistently in case right mouse button clicks and clicking on
the bend style buttons in the toolbar is mixed.
- Fixed an unnecessary extra automatic backup if the automatic backup is
triggered in one editor window, while a lengthy command is running in the
other editor window.
- Fixed a possible data corruption if the automatic backup is triggered in
one editor window, while a lengthy command is running in the other editor
window.
- Fixed displaying script comments containing UTF-8 characters in the
Control Panel.
- Fixed handling "dead keys" under Windows.
- Fixed a crash in the Follow-me router when selecting a new airwire with
Ctrl-Left mouse button.
- Fixed a possible crash when using the file dialog after closing a project.
- Fixed calling UL_ATTRIBUTE.defaultvalue for attributes that are defined in
the library from within a schematic in case a project is open.
- Fixed calculating the pointer rectangle in the SHOW command in case the
shown net segment contains only pin references (no wires, labels or
junctions).
- Fixed pasting smashed parts with attributes in the schematic (the attribute
value was lost in such cases).
- Fixed the ERC to detect nets with only one pin connected to them, in case
the only other pin types connected to that net are supply pins that have
no pad.
- Fixed handling backslashes and exclamation marks in part names and values
when updating from versions before 5.0.
- Fixed a crash on Mac OS X when leaving the program while the CAM Processor
window is open and has keyboard focus.
- Fixed the library update in case only attributes with empty values have
been modified.
- Fixed a hangup when pressing the right mouse button inside an entry
field that checks its contents and currently contains invalid data.
- The EXPORT IMAGE command no longer leaves a zero length file in case it
runs out of memory.
- The RIPUP command no longer selects objects it can't rip up.
- The CAM Processor message "Package '...' of element '...' contains a
polygon that may cause extremely large plot data" had the package and
element name reversed.
- Fixed a loss of the sheet thumbnail view if temporarily changing to another
virtual desktop under GNOME.
- Fixed a problem with REPLACE in the board if the schematic has been closed
immediately before from within a script.
- Fixed handling newlines when saving *.cam files.
- Fixed handling supply layers in case a board is edited that contains supply
layers, and then an other board is loaded that doesn't contain one or more
of these layers.
- Fixed disappearing group polygon lines in case the WINDOW command is used
while a group polygon is being drawn.
- Fixed handling the .dev, .pac and .sym extensions if they are entered in
the EDIT dialog of the library editor.
- Workaround for a problem with constructing a maximized window initially
minimized on Windows.
- Fixed calculating the bounding rectangle of xref labels.
- Fixed the DISPLAY LAST command in case the previous DISPLAY command
didn't actually change anything.
- Fixed drawing artifacts with SMDs in case the Cream frame mask parameter
is not zero.
- Fixed overlapping texts in the LayerSetup dialog in case only the Top
layer is active.
- Fixed handling negative array indexes in User Language programs.
- Fixed calculating mask data for SMDs with a non-zero roundness.
- Fixed a possible data corruption in case a script contains a CONNECT
command followed by a REMOVE command (without an intermediate EDIT
command).
- Fixed optimizing duplicate overlapping wires in case there are pads or
vias at both ends.
- Fixed optimizing a short wire that is overlapped by a longer wire at a
point where a third wire ends.
- Fixed the online help for the User Language statement 'while'.
- Fixed wire coordinates in UL_PIN.texts().
- Fixed relocating wires and vias in the CHANGE PACKAGE command.
- Fixed detecting clearance errors between round pads, vias or smds if the
minimum clearance value is larger than 4.634mm.
- Fixed wrong z-order after re-docking a floating toolbar under Linux.
- Fixed resizing floating parameter toolbars if their contents changes.
- Fixed setting the width of the columns in the attribute list of the
properties dialog and in the change package dialog.
- Now removing duplicate PinRefs and Connects when loading a schematic
or a board, respectively.
- Fixed a superfluous UNDO step after loading an other schematic from
within the schematic editor, or creating a new sheet in an existing
schematic.
- Fixed handling error conditions in case the PRINT command tries to write
to a file that is currently open by another application.
- Fixed updating the surrounding rectangle of the source sheet when moving a
part from one sheet to another.
- Fixed displaying layer colors and fill styles in dialogs on Ubuntu-Linux
(problem observed on Ubuntu version 9.10).
- Fixed drawing the large cursor on Ubuntu-Linux with desktop transparency
effect (problem observed on Ubuntu version 9.10).

Release notes for EAGLE 5.6.0


=============================

* Bugfixes:
- Fixed RIPUP to make it stop at pads when clicking on an airwire
(was broken since version 5.2.4).
- Fixed a possible "Abort: Unknown objectType..." in the SIGNAL command.
- Fixed a bug in the Autorouter that sometimes caused DRC errors at pads,
vias and SMDs.
- Fixed the status message after a DRC or ERC, which sometimes wrongfully
contained the word "approved".
- Fixed a possible inconsistency of net classes after renaming all segments
of a net on the current sheet.
- Fixed a possible inconsistency of net classes after pasting parts with
power pins that automatically create new signals in the board.
- Fixed handling cfPad/SmdImpact in the Autorouter.
- Fixed terminating a track in the Follow-me router by clicking twice at the
same point.
- Fixed an unexpected offset of the airwire when clicking at an unroutable
point in the Follow-me router.

Release notes for EAGLE 5.5.0


=============================

* User Language:

- The new function strxstr() can be used to search strings using regular
expressions in User Language Programs.
- Added a note to the online help for UL_DEVICE about using the 'package'
data member to check whether this device has a package.

* Design Rule Check:

- The DRC no longer issues a "Drill Distance" error for vias that have only
one layer in common, e.g. 1-2 and 2-3 ("stacked vias").
- The Design Rules dialog now issues a warning if the layer setup uses
any layers that are not available in the licensed program edition.

* Text editor:

- It is now possible to use an external text editor instead of EAGLE's


built in text editor (see "Help/Editor Windows/Text Editor").

* AUTO command:

- The new option FOLLOWME in the AUTO command opens the Autorouter dialog
in a mode where only the parameters controlling the Follow-me router
can be modified.
- Routing from and to pads, smds and vias in the Autorouter has been
improved.

* CHANGE command:

- The CHANGE PACKAGE/TECHNOLOGY command no longer overwrites the value of


parts where the device has "value off", but the user has overwritten the
value (which is detected by comparing the old value to the name of the old
device).

* CONNECT command:

- Improved handling the width of the connection list in the CONNECT dialog.

* DRC command:
- The DRC command no longer automatically brings up the ERRORS dialog if
there are only approved errors.

* ERC command:

- The ERC command no longer automatically brings up the ERRORS dialog if


there are only approved errors/warnings.
- The ERC message "OUTPUT and ... pins mixed on net ..." has been enhanced
to show the actual direction of the referenced pin, so that the offending
pin can be easily located.

* EXPORT command:

- The new option WINDOW of the EXPORT IMAGE command can be used to export
an image that contains only the currently visible window selection of the
drawing.

* PRINT command:

- The new option SHEETS of the PRINT command can be used to print a given
range of sheets from the command line.
- The new option WINDOW of the PRINT command can be used to print only the
currently visible window selection of the drawing.
- The new options PORTRAIT and LANDSCAPE of the PRINT command can be used to
define the orientation of the resulting output.

* RENAME command:

- The RENAME dialog now contains the current name of the object, so that
it is easier to make small changes.

* REPLACE command:

- The REPLACE command no longer overwrites the value of


parts where the device has "value off", but the user has overwritten the
value (which is detected by comparing the old value to the name of the old
device).

* ROUTE command:

- The ROUTE command can now be used in "Follow-me" mode, where the
Autorouter is used to automatically route the selected airwire according
to the current Design Rules and Autorouter parameters.
Note that you need to have the Autorouter module enabled in your EAGLE
license in order to use the Follow-me router.
- The ROUTE command now automatically sets the wire width and via drill
according to the values defined by the Design Rules and net classes if
the new flag "Options/Set/Misc/Auto set route width and drill" is set.

* SET command:

- The new wire bend styles '8' and '9' are used to control the behavior of
the Follow-me router. '8' means route only the short end of the selected
airwire, while '9' routes both ends.

* SHOW command:

- If the '@' character is given in the command line of the SHOW command,
a pointer rectangle is now drawn around the shown object. This is helpful
in locating small objects that wouldn't show up too well just through
highlighting.
- If an object given by name in the SHOW command is not found on the current
schematic sheet, a dialog is now presented containing a list of sheets on
which the object is found.

* UPDATE command:

- The library update no longer overwrites the value of parts where the
device has "value off", but the user has overwritten the value (which is
detected by comparing the old value to the name of the old device).

* Miscellaneous:

- Improved performance of approving ERC/DRC errors.


- Speeded up clearing the ERRORS list when clicking on the "Clear all" button
of the dialog.
- Modified the way EAGLE writes its files in order to avoid data corruption
on broken NAS (Network Attached Storage) systems.
- Speeded up calculating signal polygons.
- The packages of parts that are added to the schematic are now placed on
the board using the current grid.
- Speeded up filling the ERRORS list after running the DRC/ERC.
- The "File/Save all" function now also saves the eaglerc file.
- Some users don't want the warning message about a supply pin overwriting
a generated net name. The command

SET Warning.SupplyPinAutoOverwriteGeneratedNetName 1;

can now be used to disable that warning.


- Added a note to the "Stop" checkbox in the properties dialog of a via,
telling the user that this is not applicable if the drill diameter of the
via exceeds the value defined in "Design Rules/Masks/Limit").
- When a supply pin is placed on a net segment, the user is now asked
whether the net segment shall be renamed to the name of the supply pin.

* Bugfixes:

- Fixed checking for balanced pairs of '{' and '}' in the MENU command.
- Fixed updating the via length combo box if the layer setup is modified
while the VIA command is active.
- Fixed displaying technology names in the device editor's Description
pane in case they differ only in leading zeroes of their numeric parts.
- Fixed marking a drawing as modified if a global attribute is changed.
- Added missing User Language constants FRAME_BORDER_*.
- Fixed changing the layer of a polygon in a package or symbol (it wouldn't
change between signal and non-signal layers).
- Fixed a crash when doing a Drag&Drop from the WinRAR program under
Windows (dropping still doesn't work from WinRAR, but at least EAGLE
won't crash any more).
- Fixed updating the path names of items in the Control Panel's tree view
if the directory in which they are contained is renamed from within the
tree view.
- Fixed handling the 'catch factor' in case it is smaller than the 'select
factor'.
- Fixed handling the indicator lines if a smashed text of a locked part
is contained in a GROUPE MOVE.
- Fixed updating the via diameter display in the Properties dialog when
changing the drill diameter and clicking on 'Apply'.
- Fixed updating the tree list in the ADD, REPLACE etc. dialog when
reopening such dialogs after modifying a library from outside of EAGLE.
- Fixed printing pad shapes in inner layers.
- Fixed drawing drill holes of pads and vias (they were drawn one pixel too
small in radius).
- Fixed unjustified ERC warning "Segment of net ... has no visual connection
(like Label, Bus or Supply pin) to other segments of the same net" in case
of empty segments (which sometimes were left over from older versions).
- Fixed sticky status messages like "DRC:".
- The layer setup tab in the Design Rules dialog now displays the total
thickness of the board by adding up all copper and isolate values.
- Fixed a possible loss of consistency when deleting a junction from a pin.
- Fixed displaying status messages in the text editor.
- Added missing constants LAYER_INFO and LAYER_GUIDE to the online help
page for UL_LAYER.
- Fixed using the MIRROR and ROTATE command after defining a new group
while one of these commands is already active.
- Fixed handling the <img> tag in the description editor and in the ADD
dialog.
- Fixed an occasional problem with renaming temporary files on Windows in
case the new file name already exists.
- Fixed keeping approved DRC errors when clicking on the "Clear all"
button in the ERRORS dialog.
- Fixed initial display of a pasted group at the mouse position in case
the PASTE command was entered from the command line with an orientation.
- Fixed showing the current angle in the Angle combo box of the parameter
toolbar if the value has been entered in the command line and is not one
of the default orthogonal values.
- Fixed a crash when clicking with the MITER command on a wire of a polygon
that consists of only three edges.
- Fixed generating technology and attribute lines in EXPORT SCRIPT for
devices that have no package (like frames etc.).
- Fixed detaching a pin from a net in case one net wire ends at the pin,
while another net wire of the same net segment passes over the pin's
connection point, and the wire ending at the pin is deleted. In such
a situation, the pin was left connected to the net, and when it was
later connected to a different net, the corresponding pad in the board
was connected to two different signals.
- Fixed the online help of the <a> HTML tag (it allows only links within
the same document).
- Fixed approving DRC errors in the ERRORS dialog in case some errors are
currently not displayed, because their layer is hidden.
- Fixed a crash in the Mac version in case a device was loaded in the
library editor, the "EAGLE" pulldown menu was openend and the mouse cursor
was moved over the (wrongfully disabled) "Quit EAGLE" item.
- Fixed toggling the group membership of objects when clicking on them
with the Ctrl key pressed.

Release notes for EAGLE 5.4.0


=============================

* Miscellaneous:

- Speeded up the window refresh in the schematic editor in case there are
many parts with lots of attributes that don't display their value.

* Bugfixes:
- Fixed detecting faulty nameless attributes for parts in case a part is
copied and there have been attributes deleted before that.
- Fixed a crash in the DRC with zero-width arcs in the t/bRestrict layers.
- Fixed checking zero-width straight wires in the t/bRestrict layers.
- Fixed changing the net name of every segment on the current sheet in case
the same net is also present on other sheets.
- Fixed handling UNC paths in Options/Directories.
- Fixed selecting multi-gate parts by name in the NAME command (the old name
had to be given as a full gate name, e.g. IC1A, instead of the basic part
name, e.g. IC1).
- Fixed drawing artefacts when moving a part in the board that has pads or
smds with long names, and displaying the pad names is activated.
- Fixed a crash in the User Language function fileglob() in case the given
pattern string is empty.
- Fixed a duplicate confirmation when using the User Language function
dlgFileSave().
- Fixed clearing the status bar in the SHOW command when clicking on an
object that has no name after highlighting a named object.
- Fixed handling zero length airwires when moving a group.
- Making sure the actual via length used in the VIA command is one of
those defined in the layer setup.
- Fixed superfluous airwires when checking whether a wire is connected to
a polygon.
- Fixed calculating polygons with a large Width that are connected to pads
with thermals.
- Fixed faulty backannotation when changing an attribute of an element in
the board where the corresponding part in the schematic doesn't have that
attribute.
- Fixed handling pin names with @nn when CUT/PASTEing.
- Fixed a crash when entering 'CLASS -8'.
- Fixed clearing the "Updating libraries from paste buffer" status message
in the PASTE command.
- Fixed invoking instances after CUT/PASTE in case they were smashed and
were not part of the original group.
- When loading a schematic or library file from an earlier version, the
new layers 97 and 98 are now automatically added.
- Fixed handling the drill holes of blind/buried vias in the CAM Processor
in case none of the layers affected by a particular via is active (if the
"Fill pads" option was unchecked, the hole was always drawn and may have
punched through wires in other layers).
- Fixed handling the offset of wires and texts of frames contained in a
device's symbol in UL_FRAME.
- Fixed handling the orientation and positioning of texts of frames
contained in a device's symbol in the CAM Processor.
- Fixed handling extensions in the RENAME command.
- Fixed calculating the number of edges for arcs and circles in the CAM
Processor's output devices.
- Fixed a possible data corruption if the RIPUP command with the '!'
option was used without terminating the command line with ';'.

Release notes for EAGLE 5.3.0


=============================

* Platforms:

- The Linux version of EAGLE no longer uses libXinerama and libXfixes,


because these libraries are not available on all systems.

* User interface:
- Normally EAGLE doesn't automatically position the mouse cursor. However,
some users want the cursor to be repositioned to the point where it has
been before a context menu in the drawing editor was opened. The command

SET Option.RepositionMouseCursorAfterContextMenu 1;

can now be used to get this functionality.


- Shift+Right mouse button now reverses the direction of rotation in
commands that rotate objects with the right mouse button.

* AUTO command:

- Added the options LOAD and SAVE to the AUTO command, which allow loading
and saving the Autorouter parameters.

* BOARD command:

- The default board outlines generated by the BOARD command now start at
the origin of the drawing area, and are no longer offset so that they
are centered within the 50mil grid.

* INVOKE command:

- The INVOKE command now displays in the status line the part and device
name of the object attached to the cursor.

* PASTE command:

- The PASTE command now accepts an 'orientation' parameter in the command


line.
- The PASTE command is no longer a transparent command, because this
prevented its parameter toolbar from being shown.

* ROUTE command:

- When routing an airwire that starts at an already routed wire, the new
wire's width is now automatically adjusted to that of the existing wire
if the Shift key is pressed when selecting the airwire.
- The end point of the dynamically calculated airwire is now always used as
an additional snap point, even if it is off grid. If the remaining airwire
has a length that is shorter than SNAP_LENGTH, the routed wire
automatically snaps to the airwire's end point, and stays there until the
mouse pointer is moved at least SNAP_LENGTH away from that point.
The SET parameter SNAP_BENDED is now obsolete, but is still tolerated for
compatibility.

* SET command:

- When routing an airwire that starts at an already routed wire, the new
wire's width is now automatically adjusted to that of the existing wire.
- The SET parameter SNAP_BENDED is now obsolete, but is still tolerated for
compatibility.

* Miscellaneous:

- Improved selecting wires of the same signal that are close together.
- Pin names with '@' are now displayed in the previews the same way as in
a schematic (with everything after and including the '@' stripped).
* Bugfixes:

- Now clearing the status bar after a Properties dialog.


- Fixed handling polygons in the t/bStop layer of mirrored elements in the
DRC.
- Fixed getting the path to the AppData directory from the Windows
registry in case it contains non-ASCII characters.
- Fixed a crash in the NET command when clicking on a bus that has a name
that consists only of a "SYNONYM:" part.
- Fixed handling via lengths in the Properties dialog that are not allowed
according to the layer setup.
- Fixed a crash in the CHANGE LAYER command with signal wires.
- Fixed displaying and printing objects in layer 50.
- Fixed renaming a net in the Properties dialog, in case the same net
is present on other sheets, too.
- Fixed a possible loss of consistency when making changes in the schematic,
switching to another sheet, making more changes, and then doing UNDO in
the board, in which case the number of undo steps in the two editor
windows drifted apart. Every time the sheet is changed in the schematic
editor, a separate UNDO step is now stored, even if there is no actual
change made on that sheet.
- Fixed unSMASHing parts in the schematic (this deleted attributes from the
part in the board).
- Fixed extremely long delay when saving a file.
- Fixed the example regarding the use of SMD_FLAG_STOP in the online help
page for UL_SMD.
- Fixed displaying the status bar header in case a command runs for a
longer time and the mouse is moved inside the editor window.
- Fixed the User Language function UL_SIGNAL.airwireshidden.
- Fixed marking the text in the first string entry field in a User Language
dialog when the dialog is opened (didn't work under Windows).
- Fixed handling the $HOME environment variable in the directories set in
the Options/Directories dialog under Windows.
- Fixed selecting pins with the GROUP command (they were included in the
group even if the Symbols layer was not active).
- Fixed faulty nameless attributes for parts in case a part is copied and
there have been attributes deleted before that.
- Fixed ensuring that the text cursor is visible when opening a text
editor window while loading a project.
- Fixed displaying the placeholder texts ">DRAWING_NAME", ">LAST_DATE_TIME",
">PLOT_DATE_TIME" and ">SHEET" in a new, yet unsaved drawing.
- Fixed keeping the layer list focused when clicking on a button in the
DISPLAY dialog.
- Fixed always displaying text in the HTML editor's upper pane as HTML.
- Fixed centering on the current error in the ERRORS dialog by pressing
the 'Enter' or 'Return' key.
- Fixed setting the focus in the Design Rules dialog.
- Fixed refreshing the Control Panel's tree view after copying a directory.
- Fixed erasing the original airwire after displaying a dialog while the
ROUTE command is active with an airwire attached to the mouse pointer.
- Fixed reporting calls to non-existing object members in the User Language
(like, for instance, UL_WIRE.arc.curve).
- Fixed setting the 'Curve' parameter to 0 in the Properties dialog of
an arc shaped wire.
- Fixed a possible crash when using CLOSE in a script file and a message
box appears after that.
- Fixed automatically placing elements in the BOARD, ADD and PASTE command
(issued from the schematic), so that they are not placed outside the
valid range of coordinates.
- Fixed sorting newly created items in the Control Panel's tree view.
- Fixed drawing artefacts when doing UNDO after RIPUP.
- Fixed duplicate data for rotated rectangular apertures in Gerber RS-274-X.
- Fixed drawing artefacts when doing UNDO after deleting a polygon edge.
- Fixed dynamic airwire calculation in the ROUTE command in case layers
containing objects that belong to the routed signal are not displayed.
- Fixed entering values into the Angle combo box of the parameter toolbar.
- Fixed setting HKEY_CLASSES_ROOT\Applications\eagle.exe\shell\open\command
in the Windows registry ("command" was a string instead of a key).
- Fixed printing lines with zero width on the Mac (they were printed too
thick).
- Fixed a possible hangup when pressing a character or digit key in the
table of the attribute dialog of the library editor.

Release notes for EAGLE 5.2.0


=============================

* ATTRIBUTE command:

- The "Technologies" combo box in the "New/Change Attribute" dialog now lists
the name of the current technology.
- Changed the behavior of the ATTRIBUTE command in case no coordinates are
given in the command line, so that the value of an existing attribute
can be changed via the command line.

* DRC command:

- The DRC now reports supply layers, that are not contained in the layer
setup of the Design Rules, as "Layer Setup" errors.

* SET command:

- The SET command can now be used to set parameters of the eaglerc file.

* Miscellaneous:

- If you don't like the way unprocessed polygons display their edges (as
dotted lines), you can change this with the command

SET Option.DrawUnprocessedPolygonEdgesContinuous 1

The edges of unprocessed polygons will then be displayed as continuous


lines, as was the case before version 5 (however, they will not be
highlighted).
- The commands CUT, DRC, ERC, ERRORS, EXPORT, GROUP, OPTIMIZE, PASTE, PRINT,
RATSNEST, UPDATE, USE and WRITE are now "transparent", which means they
no longer terminate a previously active command like MOVE etc.
- The layers are now drawn in a sequence that properly reflects the actual
resulting board. For instance, the bottom placeplan is drawn first, then
the signal layers from bottom to top, then the top placeplan. This
sequence is reversed when printing mirrored.
- Added a note to the online help of the PAD and VIA commands, saying that
the shape only applies to the outer layers (in inner layers the shape is
always "round").
- Parts on the board are now shifted into the allowed area of the
Light or Standard edition, respectively, if they extend outside that area
after a REPLACE, CHANGE PACKAGE or UPDATE operation.
* Bugfixes:

- CHANGE SHAPE now silently ignores the options LONG and OFFSET when
entered in the command line of a board editor window.
- Fixed displaying very narrow rectangles under Linux, in case the resulting
rectangle on the screen is only a single pixel wide.
- Fixed visibility of sheet numbers in sheet thumbnails in case of black
background.
- Fixed calculating the number of edges when drawing an arc with round
endings in the CAM Processor.
- Fixed changing the wire bend style with the parameter toolbar buttons
after switching into arc mode with Ctrl+Left.
- Fixed a User Language performance issue with string expressions like
's += t' in loops with many executions.
- Fixed a crash when changing the grid color while a library is open
without having edited a particular package, symbol or device set, yet,
and the grid is actually displayed.
- Fixed a performance issue in displaying status messages and progress bars.
- Fixed handling uppercase characters in directory names in the Control
Panel's tree view under Windows and Mac OS X.
- Fixed setting the state of a dlgCheckBox from within its statement.
- Fixed a crash when entering a curve parameter (like "@+20") in a command
that works with wires, without an actual wire attached to the cursor.
- Fixed a loss of the current text marking when clicking into a numerical
entry field with the right mouse button.
- Fixed a possible data corruption after changing the coordinates of an
object or the layer of a wire in the properties dialog, in case this
resulted in a wire optimization.
- Fixed handling the 'A' modifier in coordinates entered in the command line.
- Fixed redisplaying a ULP dialog if the dlgRedisplay() call is followed by
a loop statement.
- Fixed an unexpected change of the offset in a dlgTextView in case an other
dialog item is modified.
- Fixed displaying status messages while a script is running.
- Fixed calculating the width of the last column in a dlgListView.
- Fixed updating the layer colors in the parameter toolbar's Layer combo
box in case they are modified with the DISPLAY or SET command while
a command is active.
- Fixed forward annotating a change of a net name in the properties dialog
of a net wire or junction.
- Fixed drawing rotated rectangles with the CAM Processor's GERBER_RS274X
driver in case the drawing consists exclusively of such rectangles.
- Fixed setting the paper size in the printer dialog on Linux systems
that use the CUPS printing system.
- Fixed setting a modified attribute value back to the library default
in case the default value is empty.
- Fixed overwriting a non-empty attribute default value with an empty value
in the schematic.
- Fixed RIPUP of polygons of selected signals in case the command line is
terminated with ';'.
- Fixed missing spaces when rendering '-' between <nobr> tags.
- Fixed displaying the placeholder texts ">DRAWING_NAME", ">LAST_DATE_TIME",
">PLOT_DATE_TIME" and ">SHEET" in case a part is smashed.
- Fixed handling file names that start with a '.' in the PRINT command.
- Fixed unexpected wire fragments in CAM Processor and PRINT output.
- Fixed a possible crash in the DRC when handling extremely small arcs.
- The values for "Catch factor" and "Select factor" can now be entered
as decimal numbers in the "Options/Set/Misc" menu to allow values less
than 1.
- Fixed the description of the palette() function in the online help to
properly mention the alpha channel of ARGB values.
- Fixed the description of REAL_EPSILON in the online help.
- Fixed selecting a group with the alternate grid in the COPY command.
- Fixed subtracting very small and thin arcs from polygons.
- Fixed handling UTF-8 characters in the readfile() function when reading
into a string array.
- Fixed the DRC to have it check unconnected pads/smds against objects in
the Dimension layer, as it was the case in version 4.x.
- Fixed mirroring polygons in packages when dragging the packages in the ADD
command.
- Fixed storing relative path names in the project file in case, e.g., a
project named /abc/def is open and a file named /abc/def-1/some/name
is edited.
- Fixed marking the text in the first string entry field in a User Language
dialog when the dialog is opened.
- Fixed unwanted flashing of signal when placing a wire in the ROUTE command.
- Fixed a crash if a CHANGE command is applied to a group containing a
polygon that is in the calculated state, and that CHANGE causes a
recalculation of the polygon.
- Fixed calculating the bounding rectangle of placeholders for global
attributes.
- Fixed handling escaped '&' characters in dlgLabel in case there is no
actual hotkey in the label.

Release notes for EAGLE 5.1.0


=============================

* Platforms:

- Now setting HKEY_CLASSES_ROOT\Applications\eagle.exe\shell\open\command


in the Windows registry to allow associating file extensions with the
EAGLE executable.
- The installer now uses the User Access Control dialog to request
Administrator rights when running under a limited user account on Windows
Vista.

* UPDATE command:

- Rephrased the online help for 'UPDATE old_library_name = new_library_name',


to make it clear that the library inside the board/schematic file will be
renamed, not the external library file.

* CAM Processor:

- The CAM Processor's GERBER_RS274X driver now generates polygon area fill
codes when drawing rotated rectangles.

* Miscellaneous:

- Decimal numbers beginning with a comma are now accepted in the command
line, provided the locale settings define the comma as decimal delimiter.
- If a text like >ABC is placed directly in a board or schematic, and there
is a global attribute with the same name and an empty value, the origin
cross of that text is now displayed to allow the user to manipulate the
text.

* Bugfixes:
- Fixed a crash when using the CAM Processor in command line mode
(option -X) and having "Always vector font" turned off.
- Fixed drawing very short lines under Windows and Mac OS X, in case their
coordinates in pixels result in a zero length.
- Fixed setting word wrapping in dlgLabel in case the label text contains
HTML tags.
- Fixed rendering the '-' character between <nobr>...</nobr> tags.
- Fixed handling airwires in the ROUTE command after routing part of a
signal (the remaining airwire reacted on CHANGE WIDTH).
- Fixed copying and CUT/PASTEing parts with attributes defined at part level.
- Fixed the User Language function printf() to correctly handle the value
0x00 and those above 0x7F in binary mode.
- Fixed defining a GROUP if the last coordinate of the group polygon is equal
to the first one.
- Now ignoring faulty window coordinates in eagle.epf and eaglerc files.
- Fixed running User Language Programs that start with a Byte Order Mark.
- Fixed a crash in the ADD/REPLACE dialog when adding/replacing from a
library, closing the editor window, opening the editor window again and
adding/replacing again using the same library.
- Fixed positioning windows when opening a project under Linux.
- Fixed handling the XREF keyword in the LABEL command.
- Fixed storing color palette values in case they are defined in the
command line or a script using the SET command.
- Fixed drawing circles with a solid fill style on Windows and Mac OS X in
case the width is about as big as the radius.
- Fixed drawing lines with zero width when zooming far into the drawing.
- Fixed positioning a dlgMessageBox that contains HTML text.
- Fixed handling the '@radius' parameter in the WIRE command (and all others
that accept such a parameter).
- Fixed updating the library name in the board when replacing a part in the
schematic and only the library name has changed.
- Fixed handling minimum clearance values for circles in the Autorouter and
when processing polygons.
- Fixed handling the "Use alpha blending" flag when displaying the color
dialog for white or colored background.
- Fixed removing the error indicator from the board editor when closing or
clearing the ERC error list.
- Fixed handling UTF-8 character constants in ULP files.
- Fixed displaying tool tips ("bubble help") in the parameter toolbars.
- Fixed processing keyboard shortcuts in the library editor in case no
pulldown menu has been opened, yet.
- Fixed handling 'char' variables in the User Language as 8 bit values.
- Fixed displaying the root directory in the Control Panel's tree view, in
case it is part of one of the directory paths.
- Fixed handling approved errors that have exactly the same signature.
- Fixed autorouting selected signals in case the net classes define
particular clearance values between signals that have been selected for
routing and those not selected.
- Fixed scrolling the drawing area with the mouse wheel if the "Mouse wheel
zoom" factor is set to 0.
- Fixed the default wildcard in the User Language dialog functions
dlgFileOpen() and dlgFileSave() under Windows. With "*" the Windows file
dialog doesn't handle *.lnk files correctly, therefore the default
wildcard is now "*.*" as in previous versions.
- Fixed graphics distortions when running the Linux version of EAGLE on an
X11 server that runs on a "big endian" system.
- Fixed drawing artefacts from the origin cross when moving a gate in a
device set.
- Fixed a crash after highlighting a DRC error, switching to another board,
and then using the DISPLAY command to change the visible layers.
- Fixed forward annotation in case a new attribute with an empty value is
added to a part in the schematic, or the value of an existing attribute
is changed to '' (empty) in the schematic.
- Fixed false positive DRC errors for round objects in case the actual
clearance is exactly the same as the minimum clearance.
- Fixed reference line for net labels when pointing to an arc.
- Fixed invalid coordinates in data generated by the CAM Processor for
draw devices (like HPGL plotters) in case of very short lines that result
in a zero length in machine units.
- Fixed handling part attributes that overwrite global attributes (the name
field was disabled) and attributes with an empty value (the value field
was disabled).
- Fixed handling bounding rectangles of smashed parts, in case the package
or symbol contains nothing but placeholder texts.
- Fixed handling the last value in the Colors parameter of CAM job files.
- Fixed "File/Save all" so that it saves the project file even if
"Automatically save project file" is not set.
- Fixed handling UL_SMD.dx()/.dy() and UL_PAD.diameter() when called with
a "stop" or "cream" layer in case the smd or pad has the NOSTOP or
NOCREAM flag set.
- Fixed deleting local attributes that overwrite global attributes.
- Fixed changing the value of local attributes that overwrite global
attributes in case the current value is empty.
- Fixed splitting wires when moving a wire endpoint onto an other wire.
- Fixed resolving *.lnk files under Windows in the Control Panel's tree
view.
- Fixed displaying status texts in case an object's information contains one
of the characters '<', '>' or '&'.
- Fixed using an attribute named VALUE as default value for devices that
have 'Value On'.
- Fixed a performance issue in the User Language function status().
- Fixed displaying the name of the loaded file in the status bar of the
CAM Processor (it disappeared as soon as the mouse cursor was moved
over the pull down menu).
- Fixed handling supply layers in the Autorouter in case a signal that
has a supply layer is already (partially) routed and the Autorouter is
run (the wires and vias of such a signal were not "seen" by the
Autorouter and thus routed again; other signals routed in the same
Autorouter run may even have overlapped or gotten too close to them).
- Fixed checking the font and width of texts of smashed elements in the DRC.
- Fixed an unexpected jump of the group when selecting the group with
Ctrl+Right in a command after clicking into the drawing area with
Ctrl+Right without an active command.
- Fixed the SPLIT command for polygon edges in case the split point is on
the original wire.

Release notes for EAGLE 5.0.0


=============================

* Platforms:

- The minimum system requirement on Windows platforms is now Windows 2000,


XP or Vista.
- The Mac OS X version of EAGLE no longer requires an X11 server, and
comes as a "Universal Binary" that runs on PPC and Intel Macs.
- The Linux version now comes as a a self extracting shell script with a
setup dialog.
- The buttons in dialogs are now placed in the sequence suggested by the
interface guidelines for the particular platform.
- The Windows version of EAGLE now stores the 'eaglerc.usr' file under
the directory that is defined by the registry key "HKEY_CURRENT_USER\
Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData"
if no environment variable named HOME is defined. If no such file exists
at the new location, it tries to read it from the old location.

* User interface:

- When clicking with the right mouse button on an object in an editor window,
a context specific popup menu is now displayed from which commands that
apply to this object can be selected.
- Since the context menu function on the right mouse button interferes
with the selection of groups, a group is now selected with Ctrl plus
right mouse button. If you want to have the old method of selecting groups
back, you can can add the line

Option.ToggleCtrlForGroupSelectionAndContextMenu = "1"

to the eaglerc.usr file. This will allow


selecting groups with the right mouse button only and require Ctrl plus
right mouse button for context menus.
- The context specific object menu contains an entry named "Properties",
which allows to display (and modify some of) the object's properties.
- The schematic editor now contains a thumbnail view of all sheets.
Clicking on a thumbnail switches to that sheet. Drag&drop in the
thumbnail view can be used to reorder the sheets, and the context
menu allows you to add and delete sheets.
- The attributes of parts in the board and schematic can now be selected
by the commands that allow selecting objects with names by entering the
concatenation of part name and attribute name, as in

MOVE R5>VALUE

- The context menu of package variants in the library editor now contains
an option 'Edit Package' to quickly access the package of the selected
variant.
- The context menu of a gate in the device editor now contains an option
'Edit Symbol' to quickly access the symbol of the selected gate.
- Renaming an item in the Control Panel is no longer done by clicking
into the text of an already selected item (this has caused too many
unintended activations of the editing mode). Use the context menu instead.
- The positions of all open Windows can now be stored using
"Options/Window positions" in the Control Panel. Newly opened windows of
the same type will then be positioned at the same places.
- Status messages and User Guidance are now displayed simultaneously
in the status bar of the editor window.
- If the pulldown menu in an editor window is hidden, the Alt+X key no
longer leaves the program. To have this functionality even with the
pulldown menu hidden, use "ASSIGN Alt+X Quit;".
- When switching between the sheets of a schematic, the current zoom level
is now saved.
- Panning the editor window with the center mouse button no longer requires
to press the Shift key to exceed the area defined by the scrollbars.

* User Language:

- Entries in a dlgListView are now displayed in multiple lines if they


contain '\n' characters.
- The User Language function UL_POLYGON.contours() now supports a second
parameter that allows looping through 'positive' and 'negative'
polygons separately.
- The User Language function UL_CLASS.clearance now accepts a parameter
that allows retrieving the clearance between two net classes.
- The User Language objects UL_ELEMENT and UL_INSTANCE now have a new
member function 'smashed'.
- Include statements in ULPs that contain relative paths, as in

#include "dir/file.ulp"

are now searched for within the directories entered under


"Options/Directories/User Language Programs".
- The new User Language function timems() delivers the time in milliseconds
since the start of the ULP.
- The new User Language function ingroup() can be used to check whether an
object is within the current group.
- The new User Language function system() can be used to execute external
programs.
- The User Language objects UL_ELEMENT, UL_INSTANCE and UL_NET have new
data members 'column' and 'row' which return the location within a
drawing frame.
- The User Language member functions UL_ELEMENT.smashed and
UL_INSTANCE.smashed now accept an optional parameter text name that allows
you to query whether there is a smashed parameter text by that name.
- In the User Language the labels of a segment (both bus as well as net)
can now be accessed through the new object type UL_LABEL, which is
generated by the new loop member UL_SEGMENT.labels(). The old way of
accessing labels through UL_SEGMENT.texts() is now deprecated and won't
handle cross-reference labels correctly. The actual text of a label is
now returned by UL_LABEL.text.
- The User Language object UL_SCHEMATIC has a new member 'xreflabel',
which returns the format string used to display cross-reference labels.
- The User Language object UL_SCHEMATIC has a new member 'xrefpart',
which returns the format string used to display part cross-references.
- The User Language object UL_INSTANCE has a new loop member named 'xrefs',
which loops through the gates that represent the contact cross-reference.

* Screen drawing:

- Drawing on screen no longer uses "raster OPs". The individual layers


are now drawn using "alpha blending". Each color (except for the
background color, which is always opaque) can have its own alpha value,
which defines how transparent it is. A value of 0 means the color is
fully transparent (i.e. invisible), while 255 means the color is
completely opaque. When reading an eaglerc file from an older version,
the alpha values of all colors are initialized to a default value if
all palette entries have an alpha value of 0.
You can use the script 'defaultcolors.scr' to set the colors to the
new defaults.
When printing, the alpha values are always set to 255.
- Since the layer colors no longer use additive mixing, but rather use
alpha blending, the default background color in the layout editor
window has been changed to white.
- If you want to have the old raster OP behavior on black background,
you can uncheck the "Use alpha blending" box in the "Options/Set/Colors"
dialog. In that case the alpha value defined for the colors is ignored
when using a black background, and colors are mixed using an OR function.
- The colors above index 15 in the color palettes are now by default
initialized with a medium gray value.

* User defined Attributes:

- In a library, devices can now have "attributes", which are arbitrary


user definable "name/value" pairs. Attributes are related to the individual
"technology" variants of a device.
- The new command ATTRIBUTE can be used to define the attributes of a given
technology variant (see "Help/Editor commands/ATTRIBUTE" for details).
- The new User Language object UL_ATTRIBUTE can be used to access attributes
(see "Help/User Language/Object Types/UL_ATTRIBUTE" for details).
- The User Language objects UL_PART, UL_INSTANCE, UL_ELEMENT and UL_DEVICE
have a new loop member named 'attributes()'.
- The User Language objects UL_PART and UL_ELEMENT have a new member function
named 'attribute()', which can be used to query a part for the value of a
given attribute.
- The User Language object UL_ELEMENT has a new member function named
'attribute()', which can be used to query an element for the value of a given
attribute.
- In a 'symbol' or 'package' drawing, any text that starts with a '>' character
and matches an attribute name of the actual part or element will be replaced
by the attribute value in the schematic or board, respectively (see
"Help/Editor commands/TEXT" for details).
- The SMASH command now smashes all texts in the symbol or package that start
with '>' and match an actual attribute name, and assigns them as attributes
to the part (except for the traditional placeholder texts like ">NAME",
">VALUE" etc., which are treated like before).
- Boards and schematics can now have global attributes.
- The User Language objects UL_BOARD and UL_SCHEMATIC have a new loop member
named 'attributes()', which can be used to loop through the global
attributes.

* Locking the position of a part:

- The new command LOCK can be used to lock the position of a part in the
board.
- The origin of a locked part is displayed as an 'x' to have a visual
indication that the part is locked.
- The User Language object UL_ELEMENT has a new data member 'locked', which
return the setting of the lock flag.

* Popup menus for buttons:

- Various buttons in the editor window now have a popup menu that contains
a list of recently used items or user defined aliases (depending on the
button type). These buttons are marked with a small black arrow at the
bottom right corner of their icon. To access this list, click on the
button and hold the mouse button pressed until the list pops up, or
click on the button with the right mouse button.
- The button popup menus for DISPLAY, GRID and WINDOW contain two special
entries: "Last" restores the previous settings, and "New..." queries the
user for a new alias name and stores the current settings under that name.

* Aliases for command parameters:

- The DISPLAY, GRID and WINDOW commands now have an extended syntax that
allows the user to define "aliases" for certain parameter settings.
The syntax to handle these aliases is:
CMD = <name> <parameters>

Defines the alias with the given <name> to expand to the given
<parameters>. The <name> may consist of any characters, except blank
or semicolon, and is treated case insensitive.

CMD = <name> @

Defines the alias with the given <name> to expand to the current
parameter settings of the command.

CMD = ?

Asks the user to enter a name for defining an alias for the current
parameter settings of the command.

CMD = <name>

Opens the dialog of the command and allows the user to adjust the set
of parameters that will be defined as an alias under the given <name>.
In case of the WINDOW command a rectangle can be defined that
represents the desired window area.

CMD = <name>;

Deletes the alias with the given <name>.

CMD <name>

Expands the alias with the given <name> and executes the command with
the resulting set of parameters. The <name> may be abbreviated and
there may be other parameters before and after the alias (even other
aliases). Note that aliases have precedence over other parameter
names of the command.

Example:

DISPLAY = MyLayers None Top Bottom Pads Vias Unrouted

Defines the alias "MyLayers" which, when used as in

DISPLAY myl

will display just the layers Top, Bottom, Pads, Vias and Unrouted.
Note the abbreviated use of the alias and the case insensitivity.

* Inverted names:

- The names of inverted ("active low") signals can now be displayed with
a bar over the text ("overline"). To do so, the name needs to be preceded
with an exclamation mark ('!'), as in

!RESET

which would result in


_____
RESET

This is not limited to signal names, but can be used in any text. It is
also possible to overline only part of a text, as in

!RST!/NMI
R/!W

which would result in


___
RST/NMI
_
R/W

Note that the second exclamation mark indicates the end of the overline.
There can be any number of overlines in a text. If a text shall contain
an exclamation mark that doesn't generate an overline, it needs to be
escaped by a backslash. In order to keep the need for escaping exclamation
marks at a minimum, an exclamation mark doesn't start an overline if it
is the last character of a text, or if it is immediately followed by a
blank, another exclamation mark, a double or single quote, or by a right
parenthesis, bracket or brace. Any non-escaped exclamation mark or comma
that appears after an exclamation mark that started an overline will end
the overline (the comma as an overline terminator is necessary for busses).
- When updating files from older versions, a backslash in any pin, net, bus
or signal name will be replaced with the appropriate exclamation mark.
Any backslash or exclamation mark in a normal text will be escaped by
preceding it with a backslash as necessary, since the backslash is now a
real escape symbol in texts.

* Drawing frame:

- The new command FRAME can be used to draw a frame with numbered columns
and rows.
- The new User Language object UL_FRAME can be used to access the data
of a drawing frame.
- The User Language objects UL_ELEMENT, UL_INSTANCE and UL_NET have new
data members 'column' and 'row' which return the location within a
drawing frame.
- The drawing frames in the "frames" library now use this new frame object.

* Cross-reference labels:

- A "label" on a net segment now has a new property named "xref", which
puts it into "cross-reference" mode. In this mode it will be displayed
according to the "Xref label format" string defined under
"Options/Set/Misc", and will show its text at a different offset from
its origin, so that it can be placed nicely at the end of a net wire.
- A cross-reference label that is placed on the end of a net wire will
connect to the wire so that the wire is moved with the label, and vice
versa.
- The format of cross-reference labels can be defined in the
"Options/Set/Misc" dialog under "Xref label format". See
"Help/Editor Commands/LABEL" for a list of placeholders that can be
used here.
- The User Language object UL_SCHEMATIC has a new member 'xreflabel',
which returns the format string used to display cross-reference labels.
- The SET command has the new parameter XREF_LABEL_FORMAT, which can
be used to define the cross-reference label format string.
- The CHANGE command has a new option XREF that can take the values OFF
and ON, and can be used to change whether a label is "plain" or
"cross-reference".
- The LABEL command has the new option XREF to define a cross-reference
label. There are also two new icons in the parameter toolbar to set this
option.
- In the User Language the labels of a segment (both bus as well as net)
can now be accessed through the new object type UL_LABEL, which is
generated by the new loop member UL_SEGMENT.labels(). The old way of
accessing labels through UL_SEGMENT.texts() is now deprecated and won't
handle cross-reference labels correctly. The actual text of a label is
now returned by UL_LABEL.text.

* Part cross-reference:

- The new text variable '>XREF' can be used in a symbol drawing to display
a cross-reference to the MUST gate of the device this symbol is used in.
A typical application for this are the contacts of a relay, where the
'>XREF' text variable would display the frame coordinates of the relay's
coil.
- The format of part cross-references can be defined in the
"Options/Set/Misc" dialog under "Xref part format". See
"Help/Editor Commands/TEXT" for a list of placeholders that can be
used here.
- The SET command has the new parameter XREF_PART_FORMAT, which can
be used to define the part cross-reference format string.
- The User Language object UL_SCHEMATIC has a new member 'xrefpart',
which returns the format string used to display part cross-references.

* Contact cross-reference:

- EAGLE can now automatically generate a contact cross-reference, which is


mainly used for relay coils and contacts in electrical schematics.
- The contact cross-reference is generated for the first MUST gate in a
part, and will display all other gates that have an '>XREF' text variable
in their symbol drawing. The MUST gate is typically the coil of a relay,
while the other gates are the contacts.
- The contact cross-reference is displayed at the same X coordinate as the
MUST gate, and at the Y coordinate defined by a text variable with a
value of '>CONTACT_XREF'. This text can be placed either in a frame
symbol, or directly on the schematic sheet drawing. The first one
encountered will be used. If no such text is found, no contact
cross-reference will be generated.
- The User Language object UL_INSTANCE has a new loop member named 'xrefs',
which loops through the gates that represent the contact cross-reference.

* ADD command:

- The syntax of the ADD command has been changed to allow using libraries
with blanks in their file name. Note that now the device, package or
symbol name always has to come first.

* ASSIGN command:

- On the Mac the ASSIGN command now knows the "Cmd" modifer key.

* BOARD command:

- The BOARD command now accepts a parameter that defines the raster in
which to place the parts when generating the board, as in

BOARD 5mm
which would place the parts in a 5 millimeter raster (default is 50mil).
The number must be given with a unit, and the maximum allowed value
is 10mm.

* CHANGE command:

- The CHANGE command now selects only objects that actually possess the
property that shall be changed.
- When selecting an object with the CHANGE command, that object is now
flashed to indicate the change to the user.
- CHANGE LAYER now also works with a group.
- The new CHANGE option DISPLAY can be used to change the display mode of
an attribute.
- The options in the CHANGE popup menu are now sorted alphabetically.
- CHANGE TEXT now accepts the new text on the command line and allows it
to be applied to any number of text objects or the current group.
- The CHANGE command has a new option XREF that can take the values OFF
and ON, and can be used to change whether a label is "plain" or
"cross-reference".

* CLASS command:

- The minimum clearance between signals of different net classes can


now be defined in a matrix, allowing you to define separate individual
values for any combination of two net classes, as well as within the
same net class (see "Help/Editor Commands/CLASS").

* COPY command:

- The COPY command can now copy a group by clicking with the right mouse
button.

* DELETE command:

- The DELETE command can now select parts, pads, smds, pins and gates by
name. The option SIGNALS to delete all signals in a board still exists,
so if a part with the name SIGNALS shall be deleted, its name must be
written in single quotes.

* DISPLAY command:

- The DISPLAY command no longer automatically turns related layers on or off


when used with the t/bPlace or Symbols layer.
The parameter

Option.DisplayRelatedLayers = "0"

to the eaglerc.usr file is now obsolete.


- The DISPLAY command now supports "aliases" for parameter settings (see
"Aliases for command parameters").
- The DISPLAY command has a new option "Last", which restores the settings
as they were before the previous DISPLAY command.

* DRC command:

- The DRC now reports wires in supply layers as errors if they are part of
a signal that is connected to any pad or smd.
- The DRC now always checks all signal layers, no matter whether they are
currently visible or not.
- The DRC now reports an error if an object in the t/bPlace, t/bNames or
t/bValues layer overlaps with an object in the t/bStop layer (provided
these layers are active when the DRC is run).
- The DRC no longer reports objects in the Top or Bottom layer that
intersect with objects in the t/bRestrict layer in the same package.
- The DRC now distinguishes between clearance violations and actual
overlaps of copper between different signals.
- The Design Rules dialog now marks the name of the Design Rules with an
asterisk if they have been modified.

* EDIT command:

- The EDIT command can now insert and reorder schematic sheets.
- Switching between sheets in a schematic no longer clears the undo
buffer. Adding, removing or reordering a sheet, however, still clears
the undo buffer.

* ERC command:

- The results of the Electrical Rule Check (ERC) are now listed in a dialog,
where clicking on a list item graphically marks the result in the
editor window (if applicable).
- The parameter Erc.SuppressAdditionalWarnings in the eaglerc.usr file
is obsolete. Errors and warnings are now presented separately in the
ERRORS dialog.
- The ERC now checks for parts with user definable values that have no
actual value.
- The ERC now warns about unconnected input pins of uninvoked gates.
- The ERC now warns if a net has more than one segment, and any of these
doesn't indicate that it is part of a larger net (like, for instance,
though a label, bus or supply pin).
- The ERC now checks whether the name of a net segment that is connected to
a bus is actually contained in that bus.
- The ERC now warns if a pin is connected to a net, but there is no visisble
indication of the connection (like a net wire, junction or another pin).

* ERRORS command:

- If the ERRORS command is entered without having run an ERC or DRC


before, the appropriate check is now started first automatically.
- The ERRORS dialog now allows the user to mark messages as "approved",
which suppresses the error indicator in the editor window (see
"Help/Editor Commands/ERRORS").

* EXPORT command:

- The default output format for EXPORT IMAGE is now PNG on all platforms
(on Windows it used to be BMP).

* GRID command:

- The GRID command now supports "aliases" for parameter settings (see
"Aliases for command parameters").
- The GRID dialog no longer has a "Last" button, because this functionality
is now implemented through the command button popup menu. Click on the
GRID button with the right mouse button to access the "Last" function.

* GROUP command:
- The GROUP command now has a new option ALL, which can be used to define
a group that includes the entire drawing area.
- The GROUP command can now be used with the Shift and Ctrl key to extend
the group or toggle the group membership of individual objects,
respectively.

* HELP command:

- Since Windows Vista doesn't support the Windows Help file format any more,
EAGLE now uses the same HTML formatted help on all platforms.
- The Help window now has a "Find" bar where you can enter a text that will
be used to filter all help pages, so that only those that contain the
text will be shown.
- The help texts are now stored in one single HTML file for each language.

* INFO command:

- The INFO command can now select parts, pads, smds, pins and gates by name.
- The INFO command now brings up the same dialog as the Properties
option in the context menu of drawing objects, and also allows changing
properties.

* INVOKE command:

- If an already invoked gate is selected in the INVOKE dialog, the default


button changes to "Show", and a click on it zooms the editor window in on
the selected gate, switching to a different sheet if necessary.

* LABEL command:

- The LABEL command has the new option XREF to define a cross-reference
label.
- The LABEL command now accepts an 'orientation' parameter to define the
orientation of the label textually.

* MIRROR command:

- The MIRROR command now also works with rectangles.


- The MIRROR command can now select parts, pads, smds and pins by name.

* MOVE command:

- The MOVE command can now select parts, pads, smds, pins and gates by name.
- The MOVE command can now move a group of objects from one schematic sheet
to an other, without modifying the board.

* NAME command:

- The NAME command can now rename an individual polygon, which moves the
polygon from one signal to another.
- The NAME command can now select parts, pads, smds, pins and gates by name.

* PACKAGE command:

- The PACKAGE command, when used in the board or schematic editor, now
behave exactly like CHANGE PACKAGE.

* PRINT command:
- The PRINT command has a new option named FILE, which can be used
to print into a file.
- The PRINT command can now create PDF (Portable Document Format)
files. These files are fully searchable for any (non-vector-font)
texts they contain.
- The PRINT dialog now has a preview of the printed object.
- The scale factor in the PRINT command is now limited to the range
0.001...1000.
- The calibration values for printing are now limited to the range 0.1...2.
- The border values as delivered by the printer driver are now rounded
up to the next higher multiple of 0.1mm.

* RATSNEST command:

- The RATSNEST command now ignores wires in supply layers.


- The RATSNEST command can now be called with signal names to calculate
only the airwires and polygons of selected signals.
- The RATSNEST command can now hide the airwires of selected signals.
- The RATSNEST command now displays the name of the currently processed
signal in the status line.
- The RATSNEST command now generates airwires for objects inside hatched
polygons that would "fall through" the hatch lines. Thermal and annulus
rings inside a hatched polygon that do not have solid contact to any of
the polygon lines are no longer generated.

* REPLACE command:

- The REPLACE command now works in the schematic, too.

* RIPUP command:

- The RIPUP command now has a new option '@' to allow ripping up all
or selected polygons.
- The RIPUP command can now handle wildcards in signal names.

* ROTATE command:

- The ROTATE command can now select parts, pads, smds and pins by name.

* ROUTE command:

- The "Via-Layers" combo box has been removed from the parameter toolbar
of the ROUTE command, since the ROUTE command always automatically
determines the minimum necessary via to make a connection.
- The ROUTE command can now select airwires by signal name.
- The ROUTE command no longer allows routing in supply layers.
- The ROUTE command with the Ctrl key pressed can now also start routing at
a via.

* SET command:

- The new SET variable CATCH_FACTOR defines the distance from the cursor up
to which objects are taken into account when clicking with the mouse (see
"Help/Editor Commands/SET").
- The SET variable GRID_REDRAW is now obsolete, but is still tolerated
for compatibility.
- The SET command can now configure the popup menus for values of Isolate,
Spacing and Miter by setting the Isolate_Menu, Spacing_Menu and Miter_Menu
arrays.
- The SET command has the new parameter XREF_LABEL_FORMAT, which can
be used to define the cross-reference label format string.
- The SET command has the new parameter XREF_PART_FORMAT, which can
be used to define the part cross-reference format string.

* SHOW command:

- The SHOW command now works with wildcards.


- The SHOW command now highlights the individual nets belonging to a bus
if a bus is selected.
- The SHOW command now accepts a list of arguments and highlights all the
matching objects.
- The SHOW command with the name of an individual instance (like IC1A,
which is the gate A of part IC1) now shows exactly that instance.
- The SHOW command now uses the Ctrl key to toggle the highlight status
of the selected object, which also allows more than one object to be
highlighted at the same time.

* SMASH command:

- The SMASH command can now select parts by name.

* SPLIT command:

- The SPLIT command now automatically picks up the next wire segment when
placing a splitted wire. That way an already routed wire can be re-routed
more easily.
- The SPLIT command now also works with the "freehand" wire bend style.

* TECHNOLOGY command:

- The TECHNOLOGY command, when used in the board or schematic editor, now
behaves exactly like CHANGE TECHNOLOGY.

* WINDOW command:

- The WINDOW command now supports "aliases" for parameter settings (see
"Aliases for command parameters").
- The WINDOW command has a new option "Last", which restores the settings
as they were before the previous WINDOW command.

* WIRE command:

- Starting a WIRE with the Ctrl key pressed now snaps the starting point
of the new wire to the coordinates of the closest existing wire. This
is especially useful if the existing wire is off grid. It also adjusts
the current width, layer and style to those of the existing wire.
If the current bend style is 7 ("Freehand"), the new wire will form a
smooth continuation of the existing wire.

* CAM Processor:

- The output file name in the CAM Processor can now be defined using
several "placeholders" (see "Help/Generating Output/CAM Processor/Output
File"). The old variant of using ".ext" or ".*#" still works, but is
obsolete.
- The photoplotter and drill station info files now start with the fixed
string "Generated by EAGLE CAM Processor", followed by the EAGLE version
number.

* Autorouter:

- The autorouter now displays in the status line the name of the currently
processed signal and the time (in seconds) it has spent on a particular
connection in case it takes longer than 5 seconds.

* Text editor:

- The "Find&Replace" dialog in the text editor now has a "Prompt before
Replace" option.
- The keyboard shortcuts in the text editor now follow the platform
specific standards.

* Polygons:

- When processing signal polygons, round objects are subtracted in such a


way that the resulting error does not exceed 0.05mm (50 micron), which
means that the distance between an object and a generated polygon edge
may be up to 0.05mm larger than the value defined for the clearance or
isolation, respectively. This is done to keep the number of polygon
edges reasonably low.
- Signal polygons in "outline" mode are now displayed with dotted wires,
so that they can be distinguished from other wires.
- Fixed calculating polygons in signals that also contain other wires, vias,
pads or smds. If none of these other objects is on the same layer as the
polygon, the polygon was actually calculated instead of being shown as
outlines.
IMPORTANT NOTE: This fix may cause polygons that have previously been
calculated to be not calculated any more, and thus be missing from the
printout or CAM data! These polygons were electrically "floating", because
they were not connected to any other part of the same signal.

* Miscellaneous:

- The endings of wires and arcs with cap=round, as well as 'long' and
'offset' pads, are now displayed round on all devices (no more octagonal
approximation).
- GROUP/MOVE now preserves the connectivity between wires, airwires and vias,
even if one of the related layers is not currently displayed.
- Increased the maximum nesting level in config files to avoid problems with
autorouter control files that define a large number of optimizing passes.
- The semicolon (';') is now no longer accepted in object names, to avoid
problems with parsing command lines.
- The Printer.InternalRendering parameter in the eaglerc.usr file
has no meaning any more. Printing under Windows should now always work.
- Trailing whitespace following the continuation character '\' in script
files is now ignored.
- Blanks in layer names are no longer accepted.
- The Windows command line version 'eaglecon.exe' is now created
automatically in the 'bin' directory during installation.
- Selecting objects with only a single selection point (like pads, vias etc.)
has been improved.
- The different language versions are now all installed at once.
Language specific files are distinguished by adding the two letter
language code to their name, as in README_en. The DESCRIPTION files
in directories hold the language specific texts between HTML tags
<language en>...</language>. CAM Processor and Design Rules files
separate different language versions of their parameters by adding,
e.g., [en] to the parameter names, as in Name[en]="Component side".
- The positions of the window splitters in the library editor are now
stored separately for each drawing type.
- If a layer name or a parameter alias entered by the user fully matches,
it is now preferred over a partially matching one. For instance, if there
are two layers named "Abcdef" and "Abc" (in this squence) and the user
enters "Ab", then the first matching layer "Abcdef" will be selected.
If the user enters "Abc", the second, fully matching layer is selected.
- Coordinates and sizes (like width, diameter etc.) can now be given with
units, as in 50mil or 0.8mm. If no unit is given, the current grid unit
is used.
- The info string for parts (as displayed by various command, like SHOW and
MOVE) now also lists the part's value in the status line.
- Entries in the "Open recent" lists are now only added when a file is
actually loaded from or saved to disk.
- When moving a net or bus label, a line is now drawn to the closest point
of the segment this label belongs to.
- If a command displays a progriess bar, the window title now displays the
current percentage.
- Changed the term "Rich Text" to HTML, to avoid confusing it with a
text format from Microsoft.
- In order to allow easier selection of circles that have a a large width
(as compared to their radius), circles can now be selected not only at
their radius, but also at their inner and outer circumference.
- The Professional Edition can now handle up to 999 schematic sheets.
- EAGLE can now automatically check if there is a new version available
on the CadSoft server. You can explicitly run this check through
"Help/Check for Update" from the Control Panel.
- The Projects path under Windows now also contains "$HOME\eagle" to offer
the user a default location for saving own projects.
- The new command line option -C can be used to start EAGLE with a
command string that will be executed in the editor window (see
"Help/Command Line Options").
- Centering on errors now also works if the error is close to the edge
of the drawing.
- Decimal numbers can now be entered with a comma as the decimal separator
(if the locale settings allow this). It is strongly recommended, though,
to use the 'dot' as the decimal separator when writing scripts or ULPs
that return EAGLE commands through the exit() function, otherwise they
might not work on other systems.
- The device editor now displays origin crosses at the individual gates'
origins.
- The new schematic layers "Info" (97) and "Guide" (98) can be used for
general information and guide lines, respectively. The latter is mainly
for electrical schematics, to help properly align relay coils etc.

* Bugfixes:

- Fixed a possible loss of connectivity if a wire disappears (because


both ends coincide) after moving a group, and that same group is moved
again.
- Fixed a possible crash when moving a group that contains supply pins
that get connected to a net with a different name which is also contained
in the group.
- Fixed a possible unjustified "close but unconnected wires" error in the ERC.
- Fixed checking for '$' at the beginning of the layer name in the
"Change layer properties" dialog.
- Fixed handling empty texts in DRC and polygon subtraction.
- The LAYER command can no longer switch to a layer that is not contained
in the layer menu.
- Fixed removing the currently edited device set from within a script.
- Fixed handling layer names case insensitively in the DISPLAY dialog.
- Fixed a problem with temporary files in case the same user runs more
than one instance of EAGLE on the same computer.
- Fixed handling HTML tags in error messages in the status line of the text
editor.
- Fixed assigning to UL_* objects for "virtual" objects like the wires of
a calculated polygon of a text with vector font.
- Fixed updating files from versions before 4.0 (sometimes duplicate
library names were not detected properly in old files).
- The #require directive in the User Language didn't handle release and
revision numbers above and including 50 correctly.
- Fixed handling coordinate parameters in the DRC command.
- Fixed handling circles with width/2 > radius in the Autorouter.
- Preventing the autorouter from setting vias at places where this is not
possible when routing boards with a single signal layer and a supply layer.
- Fixed the library update in case the library no longer contains package
variants that are present, but unused in the schematic.

Release notes for EAGLE 4.16r2


==============================

* Bugfixes:

- Fixed generating pixmaps that are much longer in one dimension with the
EXPORT IMAGE command.
- Fixed handling the net class when renaming a net segment to a new name.
- Fixed a crash when clicking into the empty area of the Technologies
dialog.
- Fixed an 'Internal polygon error 73' when zooming far in on a board that
contains smds with a roundness other than 0.

Release notes for EAGLE 4.16r1


==============================

* Bugfixes:

- Fixed handling '\' in UNC program file name under Windows XP in case the
program is installed on a server.
- Fixed handling the ESCape key in ULPs with nested dialogs.
- Fixed handling the program file name under Windows if it starts
with ".\".
- Fixed handling German umlauts in the User Language functions strupr(),
strlwr(), toupper() and tolower() under Windows and Mac OS X.
- Fixed setting the current item in the Control Panel's tree view when
drag&dropping a package into a library in case there is also a device
set with the same name.
- Fixed unexpected airwires in case an open Pwr pin is connected to a net
with the same name, or a Supply pin with the same name is placed on an
open Pwr pin.
- Fixed printing rotated or mirrored texts under Linux and Mac OS X.
- Fixed handling upper/lowercase when licensing under Windows on a server.
- Fixed handling the highest byte of the Palette values in the eaglerc
file.
- Fixed handling polygons with only two edges, in case one of them is
an arc.
Release notes for EAGLE 4.16
============================

* Bugfixes:

- Fixed CUT/PASTE of net classes (only the first two were actually pasted).
- Fixed handling library name after "Save as" (was wrong in Description
editor).
- Fixed CHANGE PACKAGE/TECHNOLOGY in case a device contains more than 254
technologies (which was possible due to a missing check in the technology
dialog of the device editor).
- Fixed the technology dialog in the device editor, so that it doesn't
accept more than 254 technologies per package variant.
- Fixed a possible data corruption when a supply pin overwrites a net name.
Leftover pin references that may have been caused by such a data
corruption are automatically deleted during the next library update.
- Fixed an unexpected "Cancel" button in some message boxes.
- Fixed generating annulus symbols for pads that have the NOTHERMALS
flag set.
- Fixed faulty splitting of arcs near their end points.
- Fixed a rounding error in handling rectangle coordinates and wire
curves.
- Fixed moving mirrored packages with polygons in a board (polygons were
displayed in the wrong layer).
- Fixed faulty "Change Class..." lines in the EXPORT NETLIST output from
a schematic.
- Fixed a problem with getting the program directory name under Windows XP
if the console version of EAGLE was started without a full path name.
- Fixed a possible crash when canceling the console version of EAGLE with
Ctrl+C under Windows XP.
- Fixed loading a text file on Windows XP from a non-Windows server (the
file was not editable even though it was writable in the file system).
- Fixed storing Undo data when doing a library update where the sequence
of gates had changed in a device. If doing UNDO followed by REDO after
such an update, some of the part's gates may have been swapped.

Release notes for EAGLE 4.15


============================

* Bugfixes:

- The CHANGE PACKAGE command now updates the package in the board with the
version from the schematic, in order to avoid problems in case a REPLACE
has been done in the board while the schematic was closed.
- Fixed handling access to the individual characters of a string in ULPs on
Mac OS X.
- The COPY command now updates the package in the board with the version
from the schematic _before_ actually adding the copied part, in order to
avoid problems in case a REPLACE has been done in the board while the
schematic was closed.
- The library update now reports a modification to the board even if it was
just the renaming of some packages due to a previous REPLACE with the
schematic closed.
- Fixed handling empty strings in dlgListView.
- Fixed clearing the selection of a dlgListView.
- Fixed setting user defined default Design Rules when loading an existing
library from within a project.
- Fixed an extra line that appeared when closing a group with the right
mouse button in case the group was empty.
- Fixed a possible crash in UL_WIRE.pieces().
- Fixed cursor positioning after an error message regarding a loop member
in a ULP.

Release notes for EAGLE 4.14


============================

* CAM Processor:

- Increased resolution of EXCELLON driver to 1/10000 inch.


- Automatically generated drill codes are now sorted by drill size.

* User Language:

- The User Language object UL_PIN has a new data member 'net' which
returns the name of the net the pin is connected to.

* Bugfixes:

- Fixed an unjustified ripup of wire segments when connecting a pin or net


segment to a supply net that consists of more than one segment.
- Fixed the progress display in case a script is called from a ULP through
its exit() function.
- Fixed setting a via in the ROUTE command if the placed wire coincides with
an existing wire after a layer change.
- Fixed a possible crash when copying a device set from one library to
another.
- Fixed handling '>SHEET' in ULPs (the fix in version 4.13r1 was broken).
- Fixed defining a group that contains vias in case the color of the Vias
layer has been set to 0.
- Fixed refreshing all signal layers if the Pads or Vias layer is activated
and has the color 0.
- Fixed UL_CONTACT.signal in case it is used in a UL_PART context.
- Fixed drawing arcs with a width of one pixel when zooming in.
- Fixed handling unsorted dlgListView objects in User Language Programs
(the items were in reverse order).
- Fixed an unjustified "missing return value" error message in case a User
Language Function is terminated through the exit() function.
- Fixed handling arrays of UL_* objects in User Language Programs.
- Fixed handling eagle.key in case the program was started using an UNC path
name under Windows (you may be asked for your license.key file when you
first run this version under Windows; users of the Freeware edition should
delete the file 'eagle.key' from their EAGLE binary directory before
starting EAGLE, to have it automatically offer the Freeware license again).
- Fixed the ASSIGN command (if the very first ASSIGN was given in the command
line, all default key assignments were deleted).
- Fixed handling assigned keys that are mapped to comletely written commands
that appear in one of the pulldown menus.
- Fixed the CLASS command in case the name of the net class is given before
the number.
- Fixed displaying mirrored texts in schematics after pasting from a board.
- Fixed handling 'char' variables in ULPs on Mac OS X.
- Fixed a spurious '%n' in the *.cam files that was introduced in version
4.13r1.

Release notes for EAGLE 4.13r1


==============================

* DRC command:
- The "Stop after ... errors" parameter has been removed from the "Misc"
tab of the Design Rules dialog. This parameter has sometimes lead to
boards not being tested completely, without people noticing the
"DRC: Stopped after xx errors" status message, which indicated that the
DRC was not completely finished.
The 'maxErrors' parameter in *.dru files is still accepted, but has no
more meaning. A board file that is created with this version of EAGLE will
have the 'maxErrors' parameter set to 999999, so that an older version that
loads this file will perform a full DRC.

* Miscellaneous:

- Now the default key macros are assigned only if no key assignments exist.
- If a library causes an error message when loading it in the ADD command,
it will now automatically be removed from the list of used libraries.
- Improved the click&drag detection in case of an object selection in a
densely populated area.
- The libstdc++ library is now linked statically under Linux to avoid
problems with incompatiple versions.

* Bugfixes:

- Fixed deleting a blocked wire if Cmd.Delete.WireJointsWithoutCtrl is set.


- Fixed handling a drill rack file name in an existing Excellon CAM job
when switching to a different device.
- Fixed a possible "internal polygon error 73" when drawing a very wide
or very high rectangle at a large zoom level.
- Fixed drawing rectangles and circles (they were drawn 1 editor unit too
small).
- Fixed handling CUT/PASTE of partially selected polygons in symbols and
packages.
- Fixed handling variable names in ULPs that are the same as an object member
name within a member function that requires an index.
- Fixed reporting missing apertures in the GERBER device for rotated, non
round pads and smds in case of aperture emulation being turned off.
- Fixed calculating the surrounding rectangle after editing a symbol (bug
was introduced in 4.12r06).
- Fixed resetting the signal name after drawing a polygon.
- Fixed a possible crash in the ROUTE command when placing a wire and an
error message about not being able to set a via pops up, and while that
message is on screen, the editor window had to be refreshed (either
because the error message has been moved or some other window has
obstructed the editor window).
- Fixed handling '>SHEET' in ULPs.
- Fixed filling large rotated rectangles in the CAM Processor for devices
like GERBER.
- Fixed an unjustified DRC width error for very short arcs with round endings.
- Fixed handling directory delimiters for $HOME and $EAGLEDIR under Windows
to make sure directory names are always separated by forward slashes ('/')
inside ULPs in order to make things platform independent.
- Fixed exporting PAD and SMD data in library scripts (flags were missing).

Release notes for EAGLE 4.13


============================

* Platforms:

- EAGLE now also runs on Mac OS X (with X11). See the README file for
details about system requirements.

* Supply Layers:

- Added a note regarding the size of annulus symbols in supply layers to


the online help for the LAYER command.

* User Language:

- Fixed the example in the online help of 'dlgLabel'.

* BOARD command:

- The BOARD command now places elements in the third and, if necessary,
fourth quadrant of the newly created board in case there are too many
of them to fit into the second quadrant.

* DRC command:

- The DRC no longer checks polygons in packages against objects that have no
electrical potential for clearance errors.

* VIA command:

- When placing a via at a point where an SMD exists that is connected to


a signal, the via is now automatically added to that signal.

* Miscellaneous:

- With active f/b annotation any operations that would combine two signals
in the board and would result in combining two nets in the schematic are
now forbidden and need to be done in the schematic.
- Changed the default entries in the drill diameter menus to metric values.
- It is now possible to zoom into a drawing up to a factor where the
internal editor resolution (0.1 micron) is visible. The checkbox
"Options/User interface/Limit zoom factor" is still present and checked
by default, but there is no more warning message when it is turned off.
See "Help/Editor commands/WINDOW" for details on a few quirks that may
happen when zooming in very far.
- When running as user 'root' under Linux and Mac OS X (which is only
necessary to do the licensing and should be avoided under normal operation),
EAGLE no longer sets the "Projects" path to avoid a popup message at program
start, and it also doesn't save the ~/.eaglerc file any more.
- Improved opening the Control Panel's "File/Open/Project" menu in case
there are many subdirectories that do not contain EAGLE projects.
- Coordinates are no longer snapped to the current grid if they are entered
textually with the '>' modifier, as in (> 1 2).

* Bugfixes:

- Fixed handling very short wires in the ERC's test about net wires that only
appear to be connected.
- Fixed an occasional unjustified "Can't close window while command is
running!" error.
- Fixed auto routing towards an arc (it could happen that the last generated
wire segment ended somewhere completely different).
- Fixed loading full screen windows that are not maximized from a project
under Windows.
- Fixed drifting windows when loading from a project under Linux.
- Fixed wrong window coordinates when restoring maximized windows from a
project under Windows.
- Fixed a possible crash when doing 'WINDOW (@);' after a PRINT on Windows
(only happened with some printer drivers).
- Fixed the DRC LOAD command in case the file name was not absolute and
the file was not located in the current directory.
- Fixed handling file names in the "Open recent" lists on systems that
handle file names case insensitive (Windows).
- Fixed a problem in assigning function keys, which has been introduced in
version 4.11r04.
- Fixed displaying pads and vias when dragging them on a white or colored
background.
- Fixed opening files in ULPs with the output() statement if the file
name contains uppercase characters.
- Fixed deleting a part in a schematic with Shift+DELETE in case it has
gates on other sheets (these other gates were also drawn on the current
sheet when doing UNDO).
- Fixed calculating polygons (the CAM Processor generated slightly different
results in consecutive calls with the same board file; these differences
were at most the size of the machine resolution, which in practice had
no negative effects).
- Since the RATSNEST and the DRC command may produce faulty results if a
drawing contains invalid polygons in the layers Top...Bottom, t/bRestrict,
t/bKeepout or Dimension, such polygons are now reported as errors (a
polygon is invalid if two or more of its edges intersect).
- Fixed keeping the selected package variant visible in the device editor's
package variants list.
- Fixed handling the recent files list for boards that have been newly
created from a schematic.
- Fixed layer selection in CAM jobs (changes were lost when loading a
drawing, or creating a new section, without first saving the changed
CAM job).

Release notes for EAGLE 4.12


============================

* Autorouter:

- The Autorouter now optionally runs even if a signal layer that contains
objects is not activated.
- When routing from a pad that covers more than one raster point, the
Autorouter now tries to lay out the wire at the middle of the pad.
- The Autorouter now applies the cfSmdImpact parameter to SMDs that are
placed at angles of 45, 135, 225 or 315 degrees.

* CAM Processor:

- The CAM Processor now also has a "File/Open recent" menu.


- The CAM Processor now always prints all vias (even blind or buried) if
the Vias layer is active, but none of the layers 1..16 is active.
- Added a note to the CAM Processor's "Photoplotter Info File" regarding
missing apertures in case they were requested in a non-orthogonal angle.
- The CAM Processor no longer deselects all layers when clicking into
some empty space of the "Layers" list.
- Implemented some overlap when filling polygons with Postscript in the
CAM Processor to avoid small gaps on some output devices.
- The EXCELLON device in the CAM Processor now writes the actual drill sizes
into the output file, so you no longer need to send the "drill rack" file
to the board manufacturer. If you don't like this, you can disable this
feature by deleting or commenting out the line

DrillSize = "%sC%0.4f\n" ; (Tool code, tool size)

in the eagle.def file.


- The EXCELLON device in the CAM Processor now automatically generates the
drill size definitions according to the actual values used in the board,
so you no longer need a drill rack file. If you don't like this feature,
you can disable it by deleting or commenting out the line

AutoDrill = "T%02d" ; (Tool number)

in the eagle.def file. Existing CAM jobs that have a drill rack file defined
will continue to use that file.
- The device EXCELLON_RACK has been introduced to still have the old
functionality with user supplied rack file available.
- The new drill station parameter BeginData can be used to define a string
that is output before the actual drill data (the EXCELLON device now
outputs a '%' here).
- Added M48 and M72 to the EXCELLON Init string.

* Control Panel:

- The Control Panel now has a new menu item "File/Open recent projects".

* Design Rules:

- Increased the maximum copper thickness in the layer setup of the Design
Rules to 1mm.

* User Language:

- The new User Language function language() can be used to internationalize


ULPs (see "Help/User Language/Builtins/Builtin Functions/Miscellaneous
Functions/language()").
- The User Language directive #usage can now handle internationalized
texts (see "Help/User Language/Syntax/Directives/#usage").
- The new User Language directive #require can be used to tell the user that
a ULP requires at least the given version of EAGLE (see "Help/User
Language/Syntax/Directives/#require").

* ADD command:

- Changed the meaning of the wildcards ('*' and '?') in the ADD command.
They used to match [a-z0-9_] and will now match any non-whitespace
character.
- The ADD dialog now has a checkbox that allows the pattern search in the
descriptions to be turned off.

* DELETE command:

- The DELETE command now combines two wires if applied to their joining point
with the Ctrl key pressed. If you want to have this functionality without
pressing the Ctrl key, you can append the line

Cmd.Delete.WireJointsWithoutCtrl = "1"

to the eaglerc.usr file.


* DRC command:

- The new options LOAD and SAVE in the DRC command can be used to load the
Design Rules from or save them to a given file.
- The DRC no longer checks objects that have no electrical potential (like
wires in packages, rectangles, circles and texts) against each other for
clearance errors.
- The DRC dialog now has a 'Check' button instead of 'OK'.

* EXPORT command:

- The EXPORT IMAGE command can now create TIFF files.

* INFO command:

- The INFO command now also displays the data of the part when selecting a
text from a smashed part.

* MITER command:

- Changed the default values for "miter radius" to some typical grid values.

* MOVE command:

- Moving texts of a smashed part now draws a line to the part's origin
so that the user can see which part this text belongs to.

* NET command:

- When drawing a net wire that connects two segments of different nets, the
question "Connect Nets?" was changed to "Connect Net Segments?" in order
to make it clear that only the two segments involved are concerned, and
not the entire nets.

* PRINT command:

- The selected printer, paper size and orientation are now also saved and
restored under Windows.

* RATSNEST command:

- Unnecessary thermal stubs that could occur around pads, vias and smds when
calculating signal polygons are now avoided. Note that due to this
modification there may be cases where a pad, via or smd that used to be
considered connected to the polygon is now no longer actually connected
and the RATSNEST command will generate an airwire.

WARNING: If you send a board file created with this version of EAGLE to
a boardhouse for manufacturing, and they will produce the CAM data
themselves, please make sure that they use EAGLE version 4.11r05 or higher.
Otherwise the manufactured board may contain thermal stubs even though
you didn't see them in your version of EAGLE.

* RENAME command:

- If the RENAME command is entered without any additional parameters in


a package, symbol or device drawing, a dialog now pops up that requests
the input of the new name for this object.
* UPDATE command:

- The UPDATE command's new syntax 'old_library_name = new_library_name' can


be used to update a library in a board or schematic with the contents of
an other library (see "Help Update").

* VIA command:

- The VIA command now activates the layers that correspond to the length
of the via in case none of these layers is active and the Vias layer
is set to color 0.

* WINDOW command:

- 'WINDOW (@)' no longer reacts if the cursor is outside the editor window.

* Miscellaneous:

- When renaming a signal the new name is now the default when the user
is prompted whether to combine two signals.
- The list of layers in the CAM Processor is now always wide enough to
display the full layer names.
- The CAM Processor now only prompts once per job (not once per job section)
whether the current file should be reloaded.
- When clicking into the drawing area of an editor window in order to
activate that window, an active command in that window now ignores that
mouse click to avoid unintended effects (like, for instance, inadvertently
deleting an object).
- Speeded up ratsnest calculation for large signals.
- The "File/Open recent" list is now also updated in case of a "File/Save as"
operation.
- Changes to the visibility of toolbars made through the toolbar context
menu are now also stored in the eaglerc file.
- When mirroring a part where wires connected to that part change their
layer, vias at the far ends of these wires are now placed/removed as
necessary.
- The program now uses German menu texts if the system is set to a
German environment.
- The window title now displays the program version number.
- If an error is detected while calculating polygons, the editor window
now zooms to one of the offending polygon edges.
- Fixed the width of some characters in the vector font.
WARNING: Note that due to this change some texts may turn out longer
than they used to! If you have vector font texts on any of your
signal layers, make sure you do a DRC before manufacturing the
board with this new version!
- If the center mouse button is used to pan the editor window, any special
function of that mouse button (like bringing up the layer dialog) will
now be performed if the panning distance doesn't exceed 10 pixel.
- When panning the editor window with the center mouse button, the movement
can now exceed the limits defined by the scroll bars if the Shift key is
held down while panning.
- If EAGLE is called with an eagle.epf file as argument, the respective
project will now be opened.
- If EAGLE is called with the name of a project that is contained in one
of the directories listed in "Options/Directories/Projects", that project
will now be opened.
- Improved selecting objects in densely populated areas with click&drag.
- The splitter position in the Control Panel and the Help window (Linux only)
is now stored in the eaglerc file.
- If you don't like the special mode in wire drawing commands that allows
for the definition of an arc radius by pressing the Ctrl key when placing
the wire, you can add the line

Cmd.Wire.IgnoreCtrlForRadiusMode = "1"

to the eaglerc.usr file. This will turn this


feature off for all commands that draw wires.

* Bugfixes:

- After dropping a library from the ADD dialog, the respective entry in the
Control Panel's tree view is now refreshed accordingly.
- Fixed handling the coordinates of rectangles (were sometimes off by one
editor unit).
- Fixed selecting a rotated rectangle with Ctrl+MOVE.
- Fixed Gerber data output in case of negative coordinates ('-' was counted
against the number of digits).
- Fixed handling UL_GRID.unitdist.
- Fixed a crash under Windows when re-loading a very large text file.
- Fixed '#' substitution in output file names of the CAM Processor.
- Fixed a possible crash when browsing through libraries from older versions
in the ADD dialog.
- Fixed an unjustified DRC width error for short arcs with round endings.
- Fixed a crash when doing ROTATE with a part name and then clicking into
the drawing with the right mouse button in case there was no group defined.
- Fixed highlighting parts and elements when clicking on their smashed names
or values with SHOW.
- Fixed drawing rectangles on HPGL2 and derived devices and DESIGNJET650
in the CAM Processor. Since version 4.11 the "Bar" function in 'eagle.def'
requires handling of the angle, which these devices can't do, so they need
to emulate rectangles.
- Fixed loading drawings that were created with EAGLE versions before 3.0
directly into version 4.11 (object orientations were not updated correctly).
- Fixed handling rectangles in schematics in dxf.ulp.
- Fixed an unjustified renaming of a net when deleting a junction.
- Fixed handling >PLOT_DATE_TIME in EXPORT IMAGE.
- Fixed handling the character 'mue' (0xB5) when converting strings to
uppercase. Note, though, that still only the characters below ASCII
code 127 are guaranteed to work. Any other characters should not be used!
- Fixed an unjustified change of package or symbol names to "...@1" when
doing a library update in case the device set as used in the schematic
is no longer present in the library.
- Fixed mirroring polygons that are completely contained in a group.
- Fixed handling coordinates in the ERC report.
- Fixed handling text files containing locale dependent characters like,
for instance, the 'euro' symbol.
- Fixed unjustified airwires in case non-through vias and supply layers
are used.
- Fixed ADDing parts with drag&drop from the Control Panel that have one
of the characters '{' or '}' in their name.
- Fixed selecting vias with the Ctrl key pressed.
- Fixed a crash when changing the command text menu from within a button
that has a submenu.
- Fixed displaying vias/pads in EXPORT IMAGE in case the Vias/Pads layer
is set to color 0.
- Fixed generating bus names.
- Fixed handling of '<', '>' and '&' in names and values when displayed
in a Rich Text context.
- Fixed drawing text origins when panning.
- Fixed handling ASSIGNed keys. They now really override hotkeys that
are used for pulldown menus.
- Fixed automatic ending of net and bus wires in case the newly drawn
and the target wire are in a straight line and get optimized to form
a single wire.
- Fixed selecting vias of the same signal that have been wrongly placed
at the same coordinates.
- Fixed an unexpected popup menu in the CHANGE command.
- Fixed a crash when printing under Linux without a defined printer.
- Fixed placing a via in case there is a polygon wire at that location.
- Fixed automatically setting junctions if "Auto end net and bus" is off.
- Fixed displaying the Color column in the layer list of the CAM Processor.
- Fixed handling polygons within packages in the Autorouter.
- Fixed a possible loss of wire connectivity in the MOVE and PASTE commands
with non-orthogonal angles.
- Fixed assigning window icons when opening a script or ULP editor window
from a project.
- Fixed calculating signal polygons with a very large number of edges.
- Fixed selecting gates in a device drawing with Ctrl+MOVE.
- The MITER command now only inserts a new wire if the two existing wires
are on the the same layer, have the same width and wire style.
- Wires are now only optimized if they have the same wire style.
- Fixed the ROTATE command if an object was selected with click&drag
and the mouse button was released outside the editor window.
- Fixed using the User Language builtin statements board, schematic, sheet,
library, deviceset, package and symbol in a variable initialization, as in
int a = board;
- Fixed undoing a library update of a library that contained supply devices.
- Fixed CUT/PASTE in case the pasted drawing contains modified packages that
are only referenced by devices that are not contained in the target drawing.
- Fixed a possible loss of consistency with implicit power pins in case a
single segment net with the same name as these power pins was renamed or
connected to an other net.
- Fixed relocating wires after a library update (sometimes they could no
longer be selected).
- Fixed handling signal polygons in the EXPORT IMAGE command that
would completely vanish after being calculated (their outlines were printed
as seen on the screen).
- Fixed an unnecessary window refresh when turning the MARK on or off.
- Fixed setting blind or buried vias at places where there are signal wires
on layers that are not covered by those vias.
- Fixed focus handling when closing stacked dialogs in a ULP.
- Fixed slow script execution with NET, MOVE and ROTATE.
- Fixed handling the default button in a ULP dialog that contains a
dlgTextView.
- Fixed handling recent files category names in the eaglerc file (were
sometimes all uppercase under Windows).
- Fixed exporting monochrome images under Linux and printing with the "black"
option under both Linux and Windows in case color 15 did not have the
default value.
- Fixed handling the "File/Open recent" menus in script and ULP editor windows
when loading them from a project.
- Fixed detecting a loss of consistency if a net class is defined (but not
used) while f/b annotation is not active (maybe because the other drawing
is not loaded).
- Fixed handling net classes when doing a PASTE into a schematic/board pair.
- Fixed handling micro vias on two layer boards (vias from layer 1 to 16 with
a drill diameter less than the minimum drill diameter were wrongfully
considered micro vias).
- Fixed handling orientation in the RECT command (now also accepts lowercase).
- Fixed setting the >LAST_DATE_TIME string when modifying the Design Rules.
- Fixed handling command text buttons in case of a "nothing to edit" error.
- Fixed the DRC distance check in case of dimension wires with a width of
zero and a Copper/Dimension distance value of 0.2 or 0.3 micron.
- Fixed handling eaglerc entries that contain '='.
- Texts in signal layers with proportional or fixed font are no longer checked
against each other for clearance errors in the DRC (same as has already
been the case with vector font texts).
- Fixed selecting holes and junctions with Ctrl+MOVE.
- Fixed displaying the currently pressed button in the command text menu
under Windows XP.
- Fixed placing a wire in the ROUTE command in case the length of the
remaining airwire is below the Snap_Length, but a finishing wire can't
be placed automatically due to layer constraints.
- Fixed the automatic ratsnest calculation in the ROUTE command (it didn't
always calculate the shortest airwire).
- Fixed drawing wires in signal layers with the WIRE command to or from smds
in case the smd part is mirrored or the wire is not in the same layer as
the smd.
- Fixed setting the visible routing layers in the DISPLAY dialog according
to the Design Rules for newly created boards.
- Fixed going into click&drag mode for off-grid objects with coarse grid.
- Fixed drawing smds with roundness 100 and orthogonal rotations with any
of the CAM Processor devices that are derived from the "Generic" device
(like EPS, for instance).
- Fixed handling circles with zero width (typically used in restrict layers)
in the autorouter (it didn't route as close to them as it would have been
allowed according to the design rules).
- Fixed a possible crash when moving one end of the last wire of a net segment
onto the other end of that wire.

Release notes for EAGLE 4.11


============================

* Library Management:

- Packages and Device Sets can now be copied into the currently edited
library from other libraries, either through Drag&Drop from the Control
Panel or by using the COPY command's new extended syntax (see "Help Copy").
- New package variants can now be created by directly using packages from
other libraries, either through Drag&Drop from the Control Panel or by
using the PACKAGE command's new extended syntax.
- The packages of the currently edited library can now be updated with those
from other libraries, either through Drag&Drop from the Control Panel or
by using the UPDATE command's new extended syntax.

* Blind & buried vias:

- The program can now handle so-called "blind & buried" vias. "Blind" vias
are those that are not drilled all the way through the current layer stack.
"Buried" vias are produced by drilling through the entire current layer
stack. Vias that go all the way through the complete board are basically
the same as "buried" vias, but sometimes are also referred to as "through"
vias. "Micro vias" are small blind vias that go from one layer to the next
inner layer. These are typically used to connect SMD pads to an inner layer,
without having to run a wire away from the SMD.
- The Design Rules dialog now has a new tab named "Layers", in which the
layer setup can be defined. The minimum drill size and aspect ratio for
blind vias can be defined on the "Sizes" tab.
- When updating an existing board from an older version, the layer setup
will be determined by the layers that are actually in use (either because
there are objects in them, or they are supply layers, or they are used by
the Autorouter setup). The layer stack will consist of a sequence of
"core" and "prepreg" material (with the thickness of the individual layers
chosen so that the final board results in a thickness between 1mm and 1.5mm),
and which allows a via that goes through all layers.
After loading an old board into this version you should verify the layer
setup in the Design Rules and adjust it to your actual needs.
- The DISPLAY and LAYER dialogs (and related combo boxes) will only display
those signal layers that are used in the layer setup.
- The CHANGE LAYER and ROUTE command only set the minimum necessary vias
(according to the layer setup in the Design Rules). It may happen that an
already existing via of the same signal is extended accordingly, or that
existing vias are combined to form a longer via if that's necessary to
allow the desired layer change.
- The VIA command has a new parameter that defines the layers this via shall
cover. The syntax is from-to, where 'from' and 'to' are the layer numbers
that shall be covered. For instance 2-7 would create a via that goes from
layer 2 to layer 7 (7-2 would have the same meaning). If that exact via is
not available in the layer setup of the Design Rules, the next longer via
will be used (or an error message will be issued in case no such via can be
set).
- The Autorouter cannot work with supply layers and non-through vias at the
same time. In such cases you need to replace the supply layers with signal
polygons accordingly.
- The CHANGE command has a new option named VIA, which can be used to change
the layers a via covers. The syntax is

CHANGE VIA from-to *

where 'from' and 'to' are the layer numbers the via shall cover. If that
exact via is not available in the layer setup of the Design Rules, the
next longer via will be used (or an error message will be issued in case
no such via can be set).
- The User Language object UL_VIA, now has two new data members 'start' and
'end', which return the layer numbers in which that via starts and ends.
The value of 'start' will always be less than that of 'end'. Note that the
data members 'diameter' and 'shape' will always return the diameter or shape
that a via would have in the given layer, even if that particular via doesn't
cover that layer (or if that layer isn't used in the layer setup at all).
- The DRC now checks whether all vias and objects in signal layers correspond
to the actual layer setup. If they don't, a "Layer Setup" error is flagged.
- If the layer setup of a board contains blind or buried vias, the CAM
Processor generates a separate drill file for each via length that is
actually used in the board (see "CAM Processor").
- The DRC performs new checks for blind vias: vias that don't pass the check
against the "Minimum Drill" parameter and are blind vias that are exactly
one layer deep (so-called "micro vias") are checked against the "Min.
Micro Via" parameter. Blind vias that pass these tests will further be
checked to see whether they have a drill diameter that conforms to the
"Min. Blind Via Ratio" parameter in "Edit/Design Rules/Sizes".

* Arbitrary angles:

- Texts and elements in a board context can now be rotated by any angle,
in steps of 0.1 degrees (see "Help Add" for a description of the
"orientation" flags).
- The new "Spin" flag in orientations can be used to disable the function
that keeps texts readable from the bottom or right side.
- Pads and SMDs can now be placed with arbitrary angles.

* Arcs and Wires:

- In many aspects Arcs are now treated the same way as Wires. They are
part of a signal when drawn in a signal layer, they can be used when
drawing a polygon, and they now also have a wire style.
- The endings of arcs can now be either round or flat. You should use
flat arc endings only when absolutely necessary (round endings have
advantages when generating, e.g., Gerber files).
- The end points of an arc can now be moved independently, just like those
of wires. When moving such points, the radius of the arc will be scaled
accordingly.
- All commands that draw wires can now draw arcs by using the new 'curve'
or '@radius' parameter (see "Help/Editor Commands/WIRE").
- There are no more 'arcs()' loop members in the User Language. Any ULPs
that used to loop through arcs must now check the new data member
UL_WIRE.arc when looping through the wires (see "Help/User Language/Object
Types/UL_WIRE"). The "User Language" section below contains an example
that shows how to adapt existing ULPs.
- The new command MITER can be used to take the edge off wire joins
(see "Help Miter").
- The wire bend styles 0, 1, 3 and 4 now use an additional miter radius as
defined with the MITER command.

* Additional flags for pads, vias and smds:

- Pads, Vias and SMDs now have additional flags that control the generation
of the stop and cream masks, the thermals and the shape of the "first" pad
within a package.
- The User Language objects UL_PAD, UL_VIA and UL_SMD have a new data member
'flags', which returns the setting of these flags (see "Help/User
Language/Object Types/UL_PAD", "Help/User Language/Object Types/UL_VIA" and
"Help/User Language/Object Types/UL_SMD").
- The PAD and SMD commands support the new options NOSTOP, NOTHERMALS,
NOCREAM, and FIRST, respectively, to define these flags. The VIA command
supports the new option STOP.
- The CHANGE command has the new options STOP, CREAM, and FIRST to modify
these flags (the THERMALS option already exists).

* User definable colors:

- The layer, background and grid colors are now completely user definable.
- There are now three "palettes" for black, white and colored background,
respectively. Each palette has 64 color entries, which can be set to any
RGB value. The palette entry number 0 is used as the background color
(in the "white" palette this entry cannot be modified, since this palette
will also be used for printing, where the background is always white).
- The color palettes can be modified either through the dialog under
"Options/Set.../Colors" or by using the command

SET PALETTE <index> <rgb>

where <index> is a number in the range 0..63 and <rgb> is a hexadecimal


RGB value, like 0xFFFF00 (which would result in a bright yellow). Note
that the RGB value must begin with "0x", otherwise it would be taken as a
decimal number. You can use

SET PALETTE BLACK|WHITE|COLORED

to switch to the black, white or colored background palette, respectively.


Note that there will be no automatic window refresh after this command, so
you should do a WINDOW; command after this.
- By default only the palette entries 0..15 are used and they contain the
same colors as previous versions.
- The palette entries are grouped into "normal" and "highlight" colors. There
are always 8 "normal" colors, followed by the corresponding 8 "highlight"
colors. So colors 0..7 are "normal" colors, 8..15 are their "highlight"
values, 16..23 are another 8 "normal" colors with 24..31 being their
"highlight" values and so on. The "highlight" colors are used to visualize
objects, for instance in the SHOW command.
- The background color for layout and schematic can now be set to any color.
Note, though, that in case the background color is neither pure black nor
pure white, the drawing will be displayed layer by layer, which usually
makes a window refresh slower than with black or white background.
- Changes to the "Options/Set..." dialog:
+ The "Grid" Tab has been renamed to "Colors".
+ The minimum visible grid size parameter has been moved to the "Misc" tab.
- The new User Language builtin function 'palette()' can be used to determine
the currently used palette as well as the palette entries (see "Help/User
Language/Builtins/Builtin Functions/Miscellaneous Functions/palette()").

* Control Panel:

- The tree view in the Control Panel can now be sorted by 'name' or by
'type' via the pulldown menu option "View/Sort".
- The Control Panel's pulldown menu option "File/Refresh tree" has been
moved to "View/Refresh".
- Directory entries in the Control Panel's tree view which can contain
libraries now all have the "Use all" and "Use none" options in their
context menus.
- New context menu options for libraries, device sets and packages as well
as Drag&Drop features for copying and updating library objects, and for
creating new package variants.
- Drag&Drop of a board, schematic or library file into the appropriate
editor window now loads the file into that window for editing. The
previous functionality of performing a library update when dropping a
library into any editor window has been removed.

* Design Rules:

- The new Design Rule parameters Shapes/Elongation can be used to define


the elongation of Long and Offset shaped Pads. Valid values are from 0 to
200, where 0 results in a regular octagon shape (no elongation) and 100
gives you a side ratio of 2:1 (100% elongation), which is the ratio that
has been hard-coded in previous program versions.
- The Design Rules dialog now has a new tab named "Layers", which defines
the layer setup for multilayer boards (see "Help/Design Checks/Design Rules").
- The Design Rules tab "Shapes" contains a new combo box named "First", which
defines the shape of the "first" pad within a package.
- The Design Rules tab "Sizes" contains the two new parameters "Min. Micro Via"
and "Min. Blind Via Ratio".
- The Design Rules tab "Restring" contains a new set of restring parameters
for micro vias.
* User Language:

- The User Language member functions UL_PAD.shape and UL_VIA.shape now return
PAD_SHAPE_ANNULUS, PAD_SHAPE_THERMAL, VIA_SHAPE_ANNULUS and
VIA_SHAPE_THERMAL, respectively, if their shape is requested for a supply
layer (see Help/User Language/Object Types/UL_PAD and UL_VIA).
- The User Language dialog object dlgListView now accepts a new parameter
that defines the column and direction to use for sorting.
- The User Language functions strchr(), strstr(), strrchr() and strrstr()
now accept an 'index' parameter to start the search at a given position.
- Opening the same file concurrently in two output() statements in a User
Language Program is now treated as an error.
- The User Language objects UL_HOLE, UL_PAD and UL_VIA now have a new
data member 'drillsymbol'.
- A User Language Program can now be aborted even if it is currently
executing a lengthy 'for' or 'while' loop.
- The new ULP function status() can be used to display a message in the
editor window's status bar.
- The User Language dialog function dlgTextView now accepts a second
parameter to support hyperlinks in Rich Text (see "Help/User
Language/Dialogs/Dialog objects/dlgTextView()").
- The User Language dialog function dlgMessageBox can now add an icon
to the message box by prepending the message string with one of the
characters '!', ';' or ':' (see "Help/User Language/Dialogs/Predefined
Dialogs/dlgMessageBox()").
- Due to the implementation of arbitrary angles and "spin" the following new
member functions have been added to the User Language:
UL_PAD.angle, UL_SMD.angle, UL_RECTANGLE.angle, UL_ELEMENT.angle,
UL_ELEMENT.spin and UL_TEXT.spin.
Make sure you take these into account in your own ULPs as necessary,
otherwise boards containing objects with these new features may be handled
incorrectly. See the 'dxf.ulp' for an example.
- Due to the modifications of pad shapes, the User Language constants
PAD_SHAPE_XLONGOCT and PAD_SHAPE_YLONGOCT have been replaced with
PAD_SHAPE_LONG, and the new constant PAD_SHAPE_OFFSET has been introduced.
- The new User Language member function UL_PAD.elongation returns the
elongation value for pads with shapes Long or Offset.
- The User Language object UL_VIA, now has two new data members 'start' and
'end', which return the layer numbers in which that via starts and ends.
The value of 'start' will always be less than that of 'end'. Note that the
data members 'diameter' and 'shape' will always return the diameter or shape
that a via would have in the given layer, even if that particular via doesn't
cover that layer (or if that layer isn't used in the layer setup at all).
- Due to the implementation of different arc cap styles the member function
UL_ARC.cap has been added to the User Language.
- The loop member functions UL_BOARD.arcs(), UL_PACKAGE.arcs(), UL_SHEET.arcs()
and UL_SYMBOL.arcs() no longer exist, since arcs are now treated a lot like
wires. Any ULPs that used to loop through arcs must now check the new data
member UL_WIRE.arc when looping through the wires (see "Help/User
Language/Object Types/UL_WIRE").
To convert an existing ULP that uses the arcs() loop member functions
consider the following example:

Assume you have a ULP that looks like this:

void ProcessArc(UL_ARC A) { /* do something with the arc */ }


void ProcessWire(UL_WIRE W) { /* do something with the wire */ }
board(B) {
B.arcs(A) ProcessArc(A);
B.wires(W) ProcessWire(W);
}

To make it run with EAGLE version 4.1 you need to eliminate the 'arcs()'
call and move the actual arc processing into the ProcessWire() function:

void ProcessArc(UL_ARC A) { /* do something with the arc */ }


void ProcessWire(UL_WIRE W)
{
if (W.arc)
ProcessArc(W.arc);
else
/* do something with the wire */
}
board(B) {
B.wires(W) ProcessWire(W);
}

Note that you only need this explicit handling of arcs if you actually
need to gain access to parameters only the UL_ARC can provide. If you are
not interested in that kind of information, you can handle the arcs just
like ordinary wires, using the parameters the UL_WIRE provides.
- To be able to handle any UL_ARC on UL_WIRE level the UL_WIRE object now
has the two additional members 'cap' and 'curve'.
- The User Language objects UL_PAD, UL_VIA and UL_SMD have a new data member
'flags', which returns the setting of the flags that control mask and
thermal generation (see "Help/User Language/Object Types/UL_PAD",
"Help/User Language/Object Types/UL_VIA" and "Help/User Language/Object
Types/UL_SMD").
- The User Language object UL_HOLE has a new data member 'diameter[]' which
returns the diameter of the solder stop masks.
- The output() statement in a User Language Program now supports the new
mode character 'D', which causes the file to be automatically deleted at
the end of the EAGLE session (see "Help/User Language/Builtins/Builtin
Statements/output()").
- The User Language object UL_GRID now has an additional data member named
'unitdist', which returns the grid unit that was used to define the actual
grid distance (see "Help/User Language/Object Types/UL_GRID).

* Autorouter:

- The Autorouter no longer attempts to route within the borders of the


signal's surrounding rectangle first, because that way it sometimes was
forced to take an "expensive" path, which it would have avoided if it
had been allowed to use the entire board area in the first place. This
may cause longer routing times in some cases, but may just as well speed
up the routing, especially on complex boards.

* CAM Processor:

- The new parameter MaxApertureSize can be used in the 'eagle.def' file to


define an upper limit for the size of the generated apertures for the
GERBERAUTO and GERBER_RS274X devices. If objects larger than this limit
are to be displayed, apertures will be emulated for them.
- If the board contains blind or buried vias, the CAM Processor generates a
separate drill file for each via length that is actually used in the board.
The file names are built by adding the number of the start and end layer
to the base file name, as in
boardname.drd.0104

which would be the drill file for the layer stack 1-4. If you want to have
the layer numbers at a different position, you can use the placeholder %L,
as in

.%L.drd

which would result in

boardname.0104.drd

The drill info file name is always generated without layer numbers, and
any '.' before the %L will be dropped.
Any previously existing files that would match the given drill file name
pattern, but would not result from the current job, will be deleted before
generating any new files. There will be one drill info file per job, which
contains (amoung other information) a list of all generated drill data files.
- The aperture wheel file is now checked for duplicate D-codes (see
"Help/Generating Output/CAM Processor/Output Device/Device
Parameters/Aperture Wheel File").

* Text editor:

- Setting the font in a text editor window is now done via the pulldown
menu option "File/Font..." and no longer via the printer setup. The
selected font is now also used in the text editor window.

* ADD command:

- The ADD command now mirrors the object that is attached to the cursor
when the center mouse button is pressed.

* ARC command:

- Arcs are now part of a signal if drawn in a signal layer of a board.


When updating an existing board drawing, arcs in signal layers are
transferred into signals (either newly generated ones or the ones that
the arcs are apparently connected to by sharing the same end points).
- The ARC command now accepts a signal name (just like the WIRE command).
- The endings of arcs can now be either round or flat (the ARC command
therefore accepts the new parameters ROUND and FLAT).
When updating an existing drawing, the 'cap' parameter of all arcs in
boards, packages and symbols, that have their endings covered by other
objects (like wires or vias) will be set to 'round'. This allows them
to be drawn more easily on the various output devices.

* BUS command:

- The BUS command now has an extended syntax to allow drawing arcs (see
"Help/Editor Commands/BUS").

* CHANGE command:

- When changing the layer of a signal wire, only the minimum necessary
via will be set (according to the layer setup in the Design Rules). It may
happen that an already existing via of the same signal is extended
accordingly, or that existing vias are combined to form a longer via if
that's necessary to allow the desired layer change.
- The CHANGE command has a new option named VIA, which can be used to change
the layers a via covers. The syntax is

CHANGE VIA from-to *

where 'from' and 'to' are the layer numbers the via shall cover. If that
exact via is not available in the layer setup of the Design Rules, the
next longer via will be used (or an error message will be issued in case
no such via can be set).
- The CHANGE command can now change the cap style of arcs by using

CHANGE CAP ROUND | FLAT


- The CHANGE command has the new options STOP, CREAM, and FIRST to modify
the new pad/smd flags (the THERMALS option already exists).
- The parameters Spacing and Isolate in the CHANGE popup menu now present
a list of predefined values (just like, for instance, the Width parameter).
All such popup menus now contain the entry "..." at the bottom, which
brings up a dialog to enter a new value.

* COPY command:

- The COPY command can now copy parts in a schematic (see "Help Copy").
- The COPY command can now copy packages and device sets from other
libraries into the currently edited library (see "Help Copy").
- The COPY command now mirrors the object that is attached to the cursor
when the center mouse button is pressed.

* DELETE command:

- The option "SIGNALS" must now be written in full.

* DISPLAY command:

- The automatic enabling/disabling of related layers when activating or


deactivating the t/bPlace or Symbols layer in the DISPLAY command can now
be turned off by appending the line

Option.DisplayRelatedLayers = "0"

to the eaglerc.usr file.

* DRC command:

- The DRC now checks for objects in the Pads and Vias layer that are not
Pads or Vias (i.e. wires, rectangles etc.) and flags them as "Layer Abuse"
errors. The reason for this is that EAGLE does not handle these object
in any special way, so they might cause short circuits. If you get such
an error from the DRC, you should move the object in question into the
proper signal layer(s).
- The DRC now checks objects in the t/bKeepout layers only if the
respective layer is activated.
- The DRC now checks whether all vias and objects in signal layers correspond
to the actual layer setup. If they don't, a "Layer Setup" error is flagged.

* GRID command:

- The GRID command accepts the new option 'alt', which allows you to define
an "alternate" grid that will be used whenever you press the Alt key while
selecting or moving objects. The alternate grid can have its own size and
unit, and is typically used to temporarily switch into a finer grid if the
normal grid is too coarse. See "Help/Editor Commands/GRID".
- The GRID dialog has been changed to allow the user to enter the alternate
grid parameters.

* INVOKE command:

- The INVOKE command now mirrors the object that is attached to the cursor
when the center mouse button is pressed.

* MIRROR command:

- The MIRROR command now accepts the name of an element in a board, just
like the MOVE command.

* MITER command:

- The new command MITER can be used to "take the edge off" wire joins
(see "Help Miter").

* MOVE command:

- When picking up an object with the MOVE command, the status line now
displays the same information as the SHOW command (currently this only
works if the "User guidance" is turned off).
- If an Arc is selected at one of its end points, that point can now be moved
freely (just like that of a Wire). The Radius of the Arc is then scaled
accordingly.
- The MOVE command now mirrors the object that is attached to the cursor
when the center mouse button is pressed.
- The MOVE command can now select objects at their origin by pressing the
Ctrl key (see "Help/Editor Commands/MOVE").

* NET command:

- The NET command now displays information about the current net in the
status line.
- The NET command now has an extended syntax to allow drawing arcs (see
"Help/Editor Commands/NET").

* PACKAGE command:

- The PACKAGE command can now create package variants with packages from
other libraries (see "Help Package").

* PAD command:

- The PAD command can now create pads with arbitrary angles and therefore
accepts an "orientation" parameter (See "Help Pad").
- The pad shapes XLongOct and YLongOct have been renamed to Long. When
updating an existing drawing from a previous version, XLongOct pads will
be converted to Long pads with an angle of 0 degrees, and YLongOct pads
will become Long with 90 degrees.
- The new pad shape "Offset" can be used to have pads that have the shape as
defined by Long, but extend only to one side.
- The PAD command supports the new options NOSTOP, NOTHERMALS and FIRST to
define the new 'flags' (see "Help/Editor Commands/PAD").
* PASTE command:

- The PASTE command now mirrors the object that is attached to the cursor
when the center mouse button is pressed.

* POLYGON command:

- The 'width' and 'layer' can now be changed at any time while drawing a
polygon.
- The POLYGON command now has an extended syntax to allow drawing arcs (see
"Help/Editor Commands/POLYGON").

* RATSNEST command:

- The RATSNEST command now processes all points of a signal, even if that
signal is very complex (in previous versions it dropped wire end points
from processing if the total number of connection points exceeded 254).
This requires more memory when calculating the ratsnest. In case this
is a problem on your system, you can revert to the original method
by appending the line

Option.RatsnestLimit = "254"

to the eaglerc.usr file. The value given


here is the number of connection points up to which all wire end points
will be taken into account and thus limits the amount of memory used
(processing will use up to the square of this value in bytes, so a value
of 1024 will limit the used memory to 1MB). A value of "0" means there is
no limit. A value of "1" will result in airwires being connected only to
pads, smds and vias.
- RATSNEST no longer marks the board drawing as modified, since the
calculated polygon data (if any) is not stored in the board, and the
recalculated airwires don't really constitute a modification of the drawing.

* ROTATE command:

- The ROTATE command now accepts an "orientation" parameter (e.g. SMR359.9).


- The ROTATE command now accepts the name of an element in a board, just
like the MOVE command.
- The ROTATE command can now be used with Click&Drag to rotate objects or
groups by any angle (see "Help Rotate").

* ROUTE command:

- The ROUTE command now dynamically recalculates the current airwire while
routing. In doing so, it also takes into account points along a wire, if
those are closer to the cursor than the ends of that wire. If there is
a pad, via or smd that is at most Snap_Length away from the end of the
airwire (in the current layer), that end will now snap to the center of
the object.
- The ROUTE command no longer automatically sets a Via at the end point
of a wire. If you want to place a Via at the end point of a routed wire
you can do so by holding the Shift key down while clicking at the end
point.
- When determining the layer in which to route, the ROUTE command now also
considers Wires (not only SMDs).
- When changing the layer in the ROUTE command, only the minimum necessary
via will be set (according to the layer setup in the Design Rules). It may
happen that an already existing via of the same signal is extended
accordingly, or that existing vias are combined to form a longer via if
that's necessary to allow the desired layer change.
- The ROUTE command now has an extended syntax to allow drawing arcs (see
"Help/Editor Commands/ROUTE").
- The ROUTE command now creates a new airwire if necessary when Ctrl is
pressed while selecting the starting point (see "Help/Editor Commands/ROUTE").

* SET command:

- The SET USED_LAYERS command also takes into account the layers from the
new multilayer setup in the Design Rules and keeps them in the menus.
- The SET WIRE_BEND command accepts the two new values 5 and 6 to define
bend styles that start or end in a 90 degree arc, plus the new value 7
for a bend style that results in an arc that exactly fits to the wire at
the starting point. If there isn't exactly one wire at the starting point,
a straight wire is drawn. This bend style can be used to draw wires in sort
of a "freehand" way.
- The special character '@' can be used with the SET WIRE_BEND command to
define which bend styles shall actually be used when switching with the
right mouse but (as in SET WIRE_BEND @ 1 2 4 5;).
- The SET command now restores the program default values for the parameter
menus when executed as, for instance,

SET WIDTH_MENU;

(i.e. without any values). This applies to all *_WIDTH parameters.

* SHOW command:

- The SHOW command now displays the net class (in case of a net or signal)
and the gate name (in case of a multi gate part).

* SMASH command:

- The SMASH command can now be applied to a GROUP.


- Pressing the Shift key while clicking on a part or group with the SMASH
command will now "un-smash" the object.
- The >PART and >GATE parameters are now also smashed.

* SMD command:

- The SMD command supports the new options NOSTOP, NOTHERMALS and NOCREAM to
define the new 'flags' (see "Help/Editor Commands/SMD").

* SPLIT command:

- The SPLIT command now has an extended syntax to allow drawing arcs (see
"Help/Editor Commands/SPLIT").

* UPDATE command:

- The UPDATE command can now update packages in a library (see "Help Update").

* VIA command:

- The VIA command has a new parameter that defines the layers this via shall
cover. The syntax is from-to, where 'from' and 'to' are the layer numbers
that shall be covered. For instance 2-7 would create a via that goes from
layer 2 to layer 7 (7-2 would have the same meaning). If that exact via is
not available in the layer setup of the Design Rules, the next longer via
will be used (or an error message will be issued in case no such via can be
set).
- The VIA command supports the new option STOP to define the new 'flags'
(see "Help/Editor Commands/VIA").

* WIRE command:

- The WIRE command now has an extended syntax to allow drawing arcs (see
"Help/Editor Commands/WIRE").

* Miscellaneous:

- If a net gets renamed because a Supply pin was placed on it, the user is
now notified of this.
- Improved part placement in BOARD and PASTE command.
- The files created with EXPORT IMAGE now contain the image resolution in
case the image format supports this.
- The RIPUP command can now be interrupted.
- The cursor is now switched to the "hour glass" while the Autorouter run.
- The size of the text origins is now limited to the actual size of the text.
- There is now a new item "Stop command" in the "Edit" pull down menu which
has the same effect as the "Stop" button in the action toolbar.
- When printing on DOS based Windows systems (Windows 95, 98, ME) EAGLE can
now render the drawing in memory and send the complete bitmap to the printer
in order to overcome problems with printing texts on some printer drivers.
This slows down printing, but at least it produces correct results. If you
happen to have a printer driver that doesn't work correctly, you can
turn this workaround on by setting the parameter

Printer.InternalRendering

in the eaglerc.usr file to a value other than


the default "0".
The individual bits in the number each stand for a specific Windows version:

00000001 = Win32s
00000010 = Windows 95
00000100 = Windows 98
00001000 = Windows Me
00010000 = Windows NT
00100000 = Windows 2000
01000000 = Windows XP

You can use any combination of these bits in order to turn InternalRendering
on or off for specific platforms. For instance the setting

Printer.InternalRendering = "6"

would turn this feature on only for Windows 95 and Windows 98.
If you had "Options/User interface/Always vector font" active because
your printer wouldn't print non-vector fonts correctly, you may want to
turn that option off now and try printing non-vector fonts. You may also
need to turn off the "Persistent in this drawing" option for a particular
drawing. Selecting the "Black" option in the PRINT dialog may speed up
printing (in case you are printing to a black&white device).
- Printing under Linux now supports CUPS.
- When selecting an object in a densly populated area, the "Select
highlighted object" message now also displays the information about
that object, as would the SHOW command.
- Opening the same file concurrently in two output() statements in a User
Language Program is now treated as an error.
- Error message dialogs now use the system defined sound effects.
- When connecting net segments the user is now always informed about the
resulting name.
- The SIGNAL and PINSWAP commands now offer a selection if there are, for
instance, two SMD pads on Top and Bottom at the same location.
- The DELETE command can now be interrupted when deleting a GROUP.
- The cursor now changes to the "hour glass" while processing polygons.
- Improved selecting smashed names/values in densely populated areas.
- If changing a package in a board results in connected pads of that
element being moved outside of the allowed board area of the Light or
Standard edition, the wires attached to these pads are now ripped up
in order to comply with the board area limitations.
- Fixed handling of '\' at the end of script lines (the '\' inserted an
additional blank, which caused problems with 'Description' lines in muliple
EXPORT/SCRIPT of a library).
- An airwire in a dense area now triggers the selection mechanism even if the
other objects belong to the same signal.
- Avoiding flickering status bar in library script with many EDIT commands.
- Changed mouse button handling under Windows to improve application
button selectability.
- The progress bar in the status line of an editor window is now only
displayed when it is actually active, and the percentage value is
displayed outside of the bar under Windows.
- When moving a part in a schematic causes net wires to be automatically
generated, both ends of these wires are now checked to see if any
junctions are missing or can be deleted (this only works if
"Options/Set.../Misc/Auto set junction" is active).
- Improved ERC's checks for unconnected net wires and missing junctions.
- The parameter toolbar in board context now contains a combo box where
angles can be selected and entered (instead of the former four buttons
for R0...R270).
- Panning is now done through Click&Drag with the center mouse button (no
longer with the Ctrl button). If you want to have the old functionality
back you can add the line

Interface.UseCtrlForPanning = "1"

to your eaglerc.usr file. Note, though, that the


Ctrl key is now used for special functions in some commands, so when using
these special functions (like selecting an object at its origin in MOVE)
with this parameter enabled you may inadvertently pan your draw window.
- Zero length airwires are now displayed as X-shaped crosses to improve their
visibility.
- The new fill styles Stipple1, Stipple2, Stipple3 and Stipple4 (numerical
values 12..15) can be used to have layers be drawn and erased without
disturbing each other.
- Improved library update in case of device sets with a large number of
package variants.
- When switching through the wire bend styles with the right mouse button
(for instance in the WIRE command), the Shift key reverses the direction
and the Ctrl key toggles between corresponding bend styles.
- When a Mark is active, the relative coordinates are now also displayed as
"polar coordinates" (radius + angle), indicated by "(P ...)" in the
coordinate display. This can also be used to measure the distance between
any two points.
- Coordinates entered in the command line or in scripts can now be given
relative to the mark, as polar coordinates, and can simulate a right mouse
button click, which is mainly useful to select a group (see "Help/Editor
Commands/Command Syntax").
- Dialog input fields that accept decimal numbers now automatically
convert the ',' (or whatever the local decimal point is set to) into
a real decimal point ('.').
- When loading a board/schematic pair that doesn't indicate consistency, a
consistency check will now be performed automatically.
- The sheet selection combo box in the action toolbar now contains an entry
named "remove", which can be used to remove the current sheet from the
schematic.
- The highlighted objects from SHOW now stay hightlighted if a WINDOW
command is given.
- The Rich Text tag <author> no longer uses a smaller font.
- The relative coordinate display now uses at least the mark's precision.
- Editor windows now have a new menu entry "File/Open recent" which allows
to easily reload recently used files.
- Increased grid display pecision for mil and inch.
- No more popup message for undefined or empty group, rather 'beep' and
status message.
- Avoiding unnecessary backups (for instance "*.b#1") when saving files
that have not been modified.
- Fixed EXPORT PARTLIST in case of long names or values.

* Bugfixes:

- Fixed delimiting the undo buffer in CHANGE PACKAGE and CHANGE TECHNOLOGY.
- The "Change Isolate" menu option is now also available in the package
editor.
- A polygon that consists only of two defined points is now rejected.
- Fixed removing an ASSIGNed key from the 'eaglerc' file.
- Fixed setting the default grid when changing the drawing type (package,
symbol, device) inside a library.
- Fixed canceling a command by pressing the "Cancel" button in a dialog
(for instance the NET command was not completely terminated).
- Fixed searching the 'eagle.scr' file in the current directory and handling
directory paths in the -S option.
- Fixed skipping unsuitable objects when pasting between different drawing
types.
- The User Language now generates an message if accessing a contact from a
pin without a device context.
- Fixed switching off the DRC check "copper against t/bRestrict" (polygons
in the t/bRestrict layers were still checked).
- Fixed renaming a package variant in the library editor.
- Fixed displaying pads/vias in case an additional signal layer is activated
with the DISPLAY command.
- Fixed UL_AREA for packages and symbols in an UL_ELEMENT or UL_INSTANCE
context, respectively.
- Fixed detecting an error condition in accessing an uninitialized User
Language variable while it is being defined.
- Fixed storing NET_WIRE_WIDTH and BUS_WIRE_WIDTH in the eaglerc file.
- Fixed double file name entries in the Control Panel under Windows after
renaming files with upper-/lowercase.
- Fixed refreshing the Control Panel tree after creating a new CAM job.
- Fixed handling CAM job descriptions that contain double quotes.
- Fixed handling mouse wheel events when zooming in/out (previously the
given "Mouse wheel zoom" factor was applied twice for each event).
- Fixed setting the focus in the DISPLAY and LAYER dialogs.
- Fixed displaying 'not saved' in >LAST_DATE_TIME on printed output.
- Fixed entering negative values in 'real' dialog fields.
- Fixed raplacing an identical package from a different library.
- Objects that don't cover any raster point are now virtually enlarged
by the Autorouter to make them cover at least one raster point, so that
the Autorouter can "see" them.
- Fixed a problem when deleting a layer from within the DISPLAY dialog.
- Fixed updating library devices with newly added packages.
- Fixed handling value on/off in the library update.
- The BOARD command no longer copies all package variants into the newly
created board, but rather just the ones that are actually used. When
loading a board from a previous version, the superfluous packages will
automatically be deleted.
- The Autorouter sometimes didn't route between objects where it
actually should have been able to do so.
- The 'Cancel' button sometimes didn't work when a message box was
displayed while, for instance, running a script.
- The ADD dialog didn't display all used libraries after a device has been
added from the Control Panel.
- Fixed handling layer of mirrored text wires in UL_TEXT.wires.
- Fixed drawing objects attached to the cursor when doing Ctrl+MouseMove
(wasn't drawn correctly under Windows).
- Fixed the Technology parameter in EXPORTed library scripts (the values
were not quoted).
- Fixed mirroring labels in a schematic.
- Fixed a crash if INVOKE was used in a board.
- Fixed 'Replace all' in the text editor for several occurrences in the same
line with different lengths of find and replace text.
- Fixed a bug in the library update of standalone boards in case a pad was
removed from a package.
- Fixed CHANGE PACKAGE in case both devices have no connects.
- Fixed flickering smashed texts when dragging parts.
- Fixed displaying wires when zooming far into the drawing.
- Fixed handling empty packages and symbols in CUT/PASTE.
- Fixed setting the size of the ERRORS window.
- The 'scale factor' and 'page limit' in the PRINT dialog are now limited
to values >=0.
- Fixed handling of net classes when renaming nets.
- Added missing 'L' parameter to the format statement (FS) of GERBER_RS274X
in eagle.def.
- Fixed closing a project if the user doesn't have write access to the
directory.
- Fixed setting user defined default Design Rules when loading an existing
library.
- Fixed handling of objects that don't belong to any signal in the DRC, in
case there are no signals with the default net class.
- Fixed the header for Postscript files in 'eagle.def'.
- Fixed UL_VIA.diameter[] for LAYER_TSTOP and LAYER_BSTOP in case the drill
isn't larger than the stop limit in the Design Rules.
- Fixed ADDing devices with '(' or ')' in their name.
- Fixed a crash in GROUP/CUT in case only net labels where in the group.
- Fixed handling packages that contain both pads and smds.
- Fixed handling multiple smashed '>NAME' etc. texts in User Language
Programs.
- Fixed handling the layer of polygons when doing GROUP/CUT/PASTE with
mirroring.
- Fixed printing hatched polygons with "pos. Coord" option in the
CAM Processor.
- The CAM Processor no longer complains about layers that are enabled in
the job but not used in the drawing.
- Fixed 'dxf.ulp' to correctly display solder stop masks for pads, vias
and holes.
- Fixed rotating with right mouse button while moving an object with
click&drag.
- Fixed deleting a net wire that was connected to a supply pin (the remaining
net wasn't renamed accordingly).
- Fixed setting the >DRAWING_NAME parameter when creating a board from a
schematic.
- Fixed handling wires that ended exactly on a vertical polygon edge (the
polygon was not considered to be connected to that wire).
- Fixed closing ULP include file after an error message (text editor was
unable to save the edited file under Windows).
- Fixed checking empty (value) texts in the DRC.
- Fixed snapping bended wires if "Options/Set/Misc/Snap bended wires" is on.
- Fixed buffer overflow in printf() with very long '%*' formats in ULPs.
- Fixed handling SET WIRE_BEND while drawing a wire.
- Fixed calculating zero length airwires in case there is another wire end
point very close to these coordinates.
- Fixed searching the library in the library path in case of
"ADD part@libraryname".
- Fixed execution of 'eagle.scr' in case there is a command following the
EDIT command in the command line.
- Fixed EXPORT SCRIPT in case the library description contains the backslash
character.
- Fixed emulating thin arcs on photoplotters.
- Fixed some superfluous '*' in the Gerber RS274X output format.
- Fixed an abort if a ULP accesses a schematic's nets from a board via
project.schematic(SCH).
- Fixed the location of pad names for pins in mirrored instances in
the User Language.

Release notes for EAGLE 4.09r2


==============================

* CAM Processor:

- The new command line option '-N' can be used to turn off the command line
message prompts in the CAM Processor. This is mostly useful for fully
automated CAM batch jobs.

* Bugfixes:

- Fixed a case where the original pad/via shape was drawn in a supply
layer (in addition to the thermal/annulus symbol). This also may have
caused the autorouter to route a signal that actually had a supply layer
(and therefore didn't have to be routed).
- Fixed the DRC check between copper and Dimension lines with zero width.
- Fixed reacting on system color changes in the Help window under Windows.
- Fixed handling Pwr pins in the library update (consistency could be lost
if the pins had a different sequence in the new symbol).

Release notes for EAGLE 4.09r1


==============================

* Bugfixes:

- Fixed drawing SMDs with Roundness values other than 0 or 100 on photo
plotters with fixed aperture wheels. Note that aperture tolerances are
relative to the final object dimensions, so when drawing SMDs with
Roundness the aperture actually used may be larger, even if only a
negative tolerance value was specified. Also, the difference between the
initially requested aperture and the actually used one may be a lot
bigger than the absolute value of the tolerance would indicate.
If you are processing CAM data for a board that contains SMDs with Roundness
and you get an "Aperture missing" error regarding a Draw aperture, you can
try specifying a negative draw tolerance of a few percent to enable
drawing of the rounded SMDs (which will then be drawn as if they had a
larger Roundness value).
- Fixed handling GROUP rectangles with zero width (which caused a program
crash).
- Fixed printing drill symbols with Postscript in the CAM Processor in case
the Pads or Vias layer was not activated.
- Avoiding unjustified 'close but unconnected...' warnings in the ERC.
- Fixed net class handling in forward annotation when splitting a net.
- Fixed library update in case of CUT/PASTE from one schematic into another
(there was no error message if a package variant was no longer available).
- Added the missing "Cam Processor" entry to the pulldown menu in the
schematic editor.
- Fixed handling description when checking for modified CAM job.

Release notes for EAGLE 4.09


============================

Version number changed for final release.

Release notes for EAGLE 4.08r2


==============================

* Bugfixes:

- Fixed deleting net segments from pins that overlap with another segment
(in such cases it could have happened that the consistency between board
and schematic was lost).

Release notes for EAGLE 4.08r1


==============================

* Bugfixes:

- Fixed a problem when closing a window and canceling the "Save?" dialog.
- Fixed library update in ADD when package variant is missing.

Release notes for EAGLE 4.08


============================

* Bugfixes:

- Fixed another unjustified error message "Load error 293".

Release notes for EAGLE 4.07


============================

* Bugfixes:

- Fixed unjustified error message "Load error 293".


- Fixed a possible crash when closing a window in a script.
Release notes for EAGLE 4.06
============================

* Bugfixes:

- Fixed checking rectangular objects versus circular objects in the DRC.


- Fixed installing executable file and manual page under Linux.

Release notes for EAGLE 4.05


============================

* Bugfixes:

- Fixed polygon calculation under Windows.


- Fixed canceling the Autorouter during ripup.
- Fixed handling circles in the autorouter (sometimes it routed right through
them).

Release notes for EAGLE 4.04


============================

* DELETE command:

- Net segments connected to a bus now keep their name when splitting segments.
- Added a note to the online help of the DELETE command, regarding ripup of
signal wires when deleting a part with SHIFT+Delete.

* ERC command:

- In order to handle board/schematic pairs that have only minor inconsistencies,


the user can now enable a dialog that allows him to force the editor to
perform forward-/backannotation, even if the ERC detects that the files are
inconsistent. This can be done by appending the line

Erc.AllowUserOverrideConsistencyCheck = "1"

to the eaglerc.usr file.


PLEASE NOTE THAT YOU ARE DOING THIS AT YOUR OWN RISK - if the files get
corrupted in the process, there may be nothing anybody can do to recover
them. After all, the ERC *did* state that the files were inconsistent!
- The ERC now reports an error if supply pins with the same name are
overwritten with more than one signal.

* EXPORT command:

- The EXPORT SCRIPT command now sets the grid unit to 'mm' if the current
grid isn't metric, in order to avoid loss of precision.

* INFO command:

- The INFO command now displays the VIA diameter separately for outer and
inner layers (as determined by the Design Rules), plus the value that has
been originally defined by the user.
The format is "Diameter = outer/inner (original)".

* OPTIMIZE command:

- The OPTIMIZE command now also optimizes the "flat" wires in a board (i.e.
those not being part of a signal).
* PACKAGE command:

- The PACKAGE dialog now accepts an empty "Variant name" field and no longer
requires the explicit entry of '' (two single quotes) to define a
package variant with an "empty" name.

* TECHNOLOGY command:

- The TECHNOLOGY command no longer asks before removing a Technology from


a device.

* WIRE command:

- In order to speed up execution of large scripts that produce many wires,


'Set Optimizing Off' now also disables automatic wire splitting in scripts.

* User Language:

- When running a ULP the internal search path for images will now be set to
the ULP's directory.
- The help page for Rich Text now contains a list of the supported image
formats for the "<img...>" tag.
- The new member function UL_LAYER.used can be used in a ULP to check if a
given layer is actually used in a drawing.
- The new builtin constants "path_...[]" and "used_libraries[]" can be used
to determine the entries in the "Options/Directories" dialog and the
currently used libraries from within a ULP.
See "Help/User Language/Builtins/Builtin-Constants".
- The new mode character 'F' in the 'output()' statement of the User Language
can be used to force opening a file with an otherwise protected extension
(*.brd, *.sch or *.lbr).

* Miscellaneous:

- Improved speed of CAM Processor.


- NET and SIGNAL commands are no longer terminated when canceling a
'Connect...?' dialog.
- Pad and via drill holes are no longer subtracted from polygons.
- The position of the "splitters" in dialogs like for instance "ADD" are no
longer stored as percentage values in the file eaglerc.usr,
but rather as absolute pixel values. The first time such a dialog is opened
with this program version the splitter positions may therefore not be the
same as when the dialog was left last time.
- Polygons that would completely disappear after being calculated with RATSNEST
are now shown on the screen with their original outlines. This allows editing
or deleting them.
- The string edit dialog now adjusts its width to completely show longer
strings (for instance when editing a long bus name).
- Command text buttons (defined with the MENU command) now stay pressed to
indicate the currently active command (this does not apply to buttons that
result in a submenu).
- The Windows file dialog no longer checks for the existence of a file, thus
allowing the user to leave out the filename extension when typing in a
file name.
- The command button groups are now separated by horizontal lines, which saves
space in the command menu.
- The default value for the solder stop mask ("Edit/Design rules/Masks/Stop")
has been changed to a fixed value of 4mil.
- The size of SMD names displayed when SET PAD_NAMES is on is now limited to
20mil.
- The "Description" field in the library editor and the right pane in the
Control Panel can now be completely minimized with the splitter.
- If a package variant or technology is no longer there (e.g. because it has
been deleted or renamed) the user can now select a different one in the
library update.
- The automatic unit determination in dialog input fields can now be controlled
by appending the line

Interface.PreferredUnit = "x"

to the eaglerc.usr file, where "x" can be


"0" for automatic unit determination (default)
"1" for imperial units
"2" for metric units.
- The 'dxf.ulp' now has radio buttons to choose the unit of the generated
data ('mm' or 'inch'), and outputs data in 'mm' with 4 decimal digits
instead of 3.
- When using the CAM Processor in command line mode it no longer stops if
a warning message is given, but rather offers a prompt that allows the user
to decide whether to continue or not.

* Bugfixes:

- Fixed handling of upper/lowercase umlauts in removing/renaming library


objects.
- Fixed error handling if a non existing member function was used in a ULP.
- Fixed library update error 403-1362.
- Fixed library update in case a device set is no longer present in the
library.
- Fixed printing Thermal symbols.
- Technologies can no longer contain lowercase characters.
- Fixed handling devices with double quotes in their name in the Control Panel.
- Fixed focus handling in 'Connect Nets' dialog.
- The internal object counters are now checked against a safety limit in order
to avoid overflows.
- Fixed optimizing wires after MOVE.
- Fixed layer in UL_POLYGON.contours and UL_POLYGON.fillings in case of
mirrored polygons.
- Fixed handling of PWR pins in library update.
- Fixed exporting images.
- Fixed handling printer specific page sizes under Windows.
- Fixed updating libraries in case packages had been replaced in the board.
- Empty values of smashed parts are no longer selectable by mistake.
- Fixed handling '\' in the "Options/Directories" dialog under Windows.
- Fixed displaying User Language dialogs under Windows.
- Fixed handling Technology values that add up to exactly 13 characters.
- The EXPORT SCRIPT command now explicitly generates a "-''" if a device
does not contain the empty Technology.
- Fixed handling lowercase characters when deleting Technologies.
- Fixed splitting net segments with supply symbols.
- Fixed EXPORTing net class for implicit PWR pins.
- Fixed optimizing wires after deleting a group.
- Fixed handling the PRINT option '-0'.
- Fixed handling lines longer than 1000 characters in eaglerc.
- Fixed handling "SET BEEP ON|OFF".
- Fixed a possible crash that happened under Windows if the system date was
outside the range 1970..2037.
- Fixed parsing '(' in the command line (caused an error message when
renaming a package variant that contained this character).
- Fixed a possible crash that could happen if a part on a sheet was deleted
with SHIFT+Delete, and that part was the last of this type in the schematic.
- Fixed 'Shift-Deleting' parts with gates on different sheets.
- The terminating ';' was missing for "Hole..." in exported scripts.
- Fixed handling "WRITE @filename;".
- Fixed handling directory paths after navigating with the file dialog.
- Fixed the "...not saved" dialog in case an other board should be edited
after a modification that changed both the board and the schematic (it
didn't list the schematic as modified).
- Fixed setting the net class of a newly drawn net or signal in case the
net/signal name is specified in the command line.
- Fixed library update in case a non-pwr pin became a pwr pin.
- Fixed handling unconnected supply pins. They are now implicitly mapped to
the same net name as any other overwritten supply pin with the same name.
- Fixed handling "&xxx;" tags in the tree view of the control panel.
- When drawing a new net/signal segment towards an existing one, the net
class of the existing net/signal is no longer overwritten.
- "File/Open/Text..." now always opens a text editor window, even if the file
name has an extension that would indicate a different kind of window (like
".cam").
- The library editor window is now refreshed after executing a script.
- Closing a "Description" or "Connect" dialog with the system's close button
now reacts correctly if the user selects not to discard changes.
- When opening a file from the Control Panel with "File/Open/..." the proper
filename extension is now added if it is missing.
- Fixed naming nets if the NET command contains an explicit net name.
- Fixed delimiting the undo buffer in the REPLACE command.
- Fixed setting the directory in "Save as...".
- Fixed handling command line PRINT parameters.
- Fixed selecting objects that are close together.
- Fixed using expressions as title in a dlgGroup.
- The User Language no longer returns wires in layer 0.
- Fixed PASTEing nets with different net classes than an existing net of the
same name.
- Fixed toolbar positioning.
- Fixed checking user defined print borders against the printer driver's
minimums.
- Fixed library update in case of pins with '@' in their name.
- Fixed handling pin names with '@' in the User Language.
- Fixed handling parameter strings (like '>NAME') in ULPs in case the editor
window was refreshed after a dialog.
- Fixed handling the '>GATE' parameter String in ULPs.
- Fixed UL_TEXT.wires() for mirrored texts of smashed elements.
- Fixed calculating ratsnest when adding a part with many Pwr pins (this took
a very long time).
- Fixed page size of PS_DINA3 device in CAM Processor.
- Fixed the polygon subtractor to handle cases where many identical objects
have to be subtracted from the same polygon.
- Fixed closing a window in a script that has been called from an other
window.
- Fixed version 3.5 compatibility mode in PACKAGE command.
- Fixed the UL_PIN.contact function if called from a UL_PINREF context.

Release notes for EAGLE 4.03


============================

WARNING: Due to some necessary changes in the data structure once you edit
a file with version 4.03 you will no longer be able to edit it
with earlier versions!

PLEASE MAKE BACKUP COPIES OF YOUR CURRENT BOARD-, SCHEMATIC- AND


LIBRARY-FILES BEFORE EDITING THEM WITH VERSION 4.03!

* ADD command:

- The ADD dialog now has a 'Drop' button that removes a library from the list
of used libraries.
- The ADD command can now fetch a particular gate from a device, without
automatically fetching the MUST and ALWAYS gates, too.
- Some users always want to use the device name as part value, even if the
part needs a user supplied value. Those who want this can now append the line

Sch.Cmd.Add.AlwaysUseDeviceNameAsValue = "1"

to the eaglerc.usr file.

* DELETE command:

- The DELETE command now deletes an entire part when clicking on a gate
with the Shift key pressed. In that case, the wires connected to the element
in the board will not be ripped up.
- The DELETE command now deletes the entire polygon when clicking on a
polygon wire with the Shift key pressed.
- The DELETE command now deletes the entire net or bus segment when clicking
on a net or bus wire with the Shift key pressed.

* ERC command:

- Since some people did not appreciate the new checks implemented into the
ERC, these can now be suppressed by appending the line

Erc.SuppressAdditionalWarnings = "1"

to the eaglerc.usr file.


- The ERC now reports uninvoked MUST gates as errors.
- The ERC now checks whether nets and signals have consistent net classes.
- The ERC no longer checks pin overlaps within the same gate.

* EXPORT command:

- The EXPORT IMAGE command now accepts the new keyword MONOCHROME to produce
a black&white image.
- EXPORT IMAGE now displays a 'wait' cursor if the operation takes some time.
- EXPORT NETSCRIPT now outputs the net classes.

* INFO command:

- The INFO command now displays the layer name.

* LAYER command:

- The new option '??' can be used to suppress error messages when deleting
a layer.

* UPDATE command:
- The UPDATE command now accepts the parameters '+@' and '-@' which allow
renaming the libraries contained in a drawing.

* VALUE command:

- Some users don't want the warning message about a part not having a user
definable value, so that warning can now be disabled by appending the line

Warning.PartHasNoUserDefinableValue = "0"

to the eaglerc.usr file.

* Design Rules:

- The DRC check "copper against t/bRestrict" can now be completely turned
off through "Misc/Check restrict" in the Design Rules dialog. By default
any copper objects in the Top and Bottom layers are checked against objects
in t/bRestrict.
- There are now checkboxes on the "Restring" tab that can be
set to enable using the actual pad or via diameter in inner layers, too.
By default this option is off for newly created boards, but will be set
when updating a board from version 3.5 or earlier, since previous versions
used the same pad/via diameter on all layers.
TO IMPLEMENT THIS FEATURE IT WAS NECESSARY TO MODIFY THE DATA STRUCTURE
IN A WAY SO THAT FILES EDITED WITH VERSION 4.03 CAN NO LONGER BE LOADED
INTO EARLIER VERSIONS (OTHERWISE THE RESULTS MIGHT NOT BE CORRECT).
- The Restring parameters in the Design Rules are no longer set to 0 when
updating a board file from version 3.55 or earlier. They are now left at
their default values and if the file contains any pads or vias that would
become larger due to these new parameters, the user will pe prompted to
confirm this and to adjust the Design Rules if necessary.
When the CAM Processor loads a version 3.55 (or earlier) file, the Restring
Parameters will still be set to 0, which makes sure that the result will be
the same as in previous versions.
When loading a file from version 4.0 or 4.01, the restring parameters will
be checked, and if they are 0 the user will be prompted to confirm this and
and to adjust the Design Rules if necessary.
- The DRC now checks the Design Rules for plausibilities.
- The DRC now only checks pads and smds, as well as any copper objects
connected to them, against dimensions.

* Polygons:

- The polygon named _OUTLINES_, which is used for calculating outlines, no


longer needs to have an Isolate parameter of 0 (See "Help/Generating
Output/Outlines data").
- When calculating the _OUTLINES_ polygon, objects in the layers t/bRestrict
and Dimension were wrongly subtracted.

* User Language:

- New data members UL_PART.deviceset, UL_DEVICESET.library,


UL_DEVICE.library and UL_SYMBOL.library.

* CAM Processor:

- The CAM Processor can print schematics again.

* Miscellaneous:
- Improved selectability of arcs.
- Speeded up saving a file when there are many entries in the CP tree and the
network is slow.
- The "Always vector font" flag that is stored in a drawing file can now
be controlled via "Options/Set/Persistent in this drawing" (previously
this was only possible by entering the SET command in the command line).
- The vector font characters '&', '@' and '~' have been improved.
- The 'dxf.ulp' now outputs texts always with the builtin vector font by
default (this can be changed through a new checkbox in the dialog).
- Junctions are now also set automatically when a part is placed, and they
will be automatically deleted if a part or a net wire is deleted.
- The automatic opening of the project folder at program start (or when
activating a project by clicking on its gray button) can now be disabled
by appending the line

ControlPanel.View.AutoOpenProjectFolder = "0"

to the eaglerc.usr file.

* Bugfixes:

- The Autorouter sometimes routed too close towards pads, which could result
in short circuits (this only happened when the pad shape was different in
the various routing layers).
- A crash could happen in EXPORT IMAGE unter Linux with 8bpp X-servers.
- A crash could happen when removing a sheet with the REMOVE command.
- When using the CAM Processor device GERBER_RS274X to generate data for
a supply layer, the thermal gaps were missing.
- When printing several sheets the caption was not printed correctly under
Windows with some printers.
- The CAM Processor's GERBERAUTO didn't always create all apertures when
pads or vias had different shapes in the various layers.
- Resource usage under Windows was drastically reduced.
- Entering command names that were too long caused a crash.
- The values used with the CAM Processor command line options -h, -w, -x and
-y have been wrongly rejected.
- Values for Width and Height defined in 'eagle.def' were not copied into
the CAM Processor window, and values entered in the CAM Processor were not
used.
- CUT didn't work with the right mouse button.
- The library update mechanism sometimes didn't recognize different symbols
or packages, which made it impossible to add certain parts to a schematic.
- If the resulting bitmap was too large, the EXPORT IMAGE sometimes crashed
or didn't create any output (without an error message).
- When creating new library objects it was possible to enter names that
contained blanks.
- When EXPORT IMAGE was used in a newly loaded library with no object being
edited, the program crashed.
- A possible crash under Windows that happened when the program was left with
Alt-X was fixed.
- The User Language function fileglob() didn't work if the filename pattern
contained a blank.
- Sometimes some layers were not displayed in the CHANGE PACKAGE preview.
- The selected window area was not restored correctly when a schematic was
loaded from a project file.
- Avoiding ERC warnings about net wires being too close if there is a bus
wire at that point.
- Under Windows the UPDATE command didn't search for libraries case
insensitively.
- Fixed changing the layer of a polygon in a package.
- When printing more than one sheet on Windows 2000 the offset of the second
and following sheets was incorrect with some printer drivers.
- Empty lines in text files were not printed.
- Editing the DESCRIPTION of a directory produced faulty line ends under
Windows.
- There was no error message when the DESCRIPTION file couldn't be written.
- Speeded up DRC processing and deleting errors when the large cursor is
used.
- Reading a Design Rules file didn't work if the description contained the
'=' character.
- When a package was renamed, the package variant list wasn't updated.
- The Control Panel did not open the tree to the initial project if the
"Projects" path contained more than one entry.
- The Control Panel tree was not refreshed after operations like rename,
copy etc.
- The chapter describing the User Language function 'lookup()' was missing
from the German online help under Windows.
- Relative symbolic links were not expanded correctly under Linux.
- Pads and vias didn't keep their drills open inside signal polygons.
- The DRC now reports texts in signal layers that don't use the builtin
vector font (this check can be disabled through "Check texts" on the
Design Rules' "Misc" page).
- The DRC and Autorouter sometimes crashed when the board contained a large
arc or circle.
- Polygon wires no longer react on CHANGE STYLE.
- The SIGNAL command did not ask the user whether to combine newly defined
signals with existing ones, but rather silently connected them.
- When a dialog is canceled, any running script will now also be canceled.
- Previously entered text in the text editor's 'Find' dialog is now selected.
- Avoiding 'wait' cursor in dialogs during lengthy operations.
- EXPORT IMAGE didn't use the board's Design Rules.
- A UL_GATE that has been derived from a UL_INSTANCE did not provide the
correct x and y values.
- When loading an Autorouter control file that contained a routing grid with a
precision that exceeded the internal editor resolution of 0.0001mm, the
routing grid was rounded to the internal resolution.
- When a file was opened using the Control Panel's context menu, the buttons
in the editor window's toolbars didn't work correctly under Windows.
- The program crashed when a device was added to a schematic via Drag&Drop
from the Control Panel, and the library needed to be updated from an older
version.
- Some paper sizes were not handled correctly in the PRINT command under Linux.
- When a device that supports colors has been used in the CAM Processor,
selecting "Layer/Show selected" or "Layer/Show all" disabled the display of
the color numbers in the layer list.
- Removing a key assignment with "ASSIGN key;" didn't work.
- The ADD command didn't add a new part if a part name was given and there
were still unused NEXT gates of that type available in an already existing
part.
- The 'Stop' button wasn't disabled correctly when pressed in the LABEL
command.
- Supply layers were not printed correctly if the print was done rotated.
- Fixed missing cursor in text editor if the first character in a line is
something like '{'.
- When using the MOVE command with "click&drag" mode, releasing the mouse
button outside the drawing area is now ignored (as was the case in version
3.55).
- The next command was sometimes skipped when an error message was given in
a script file.
- When routing a large board with many layers and a fine grid, the autorouter
sometimes needed extremely much memory. This has been improved to make it
work with less memory.
- When using a fine routing grid the Autorouter sometimes inserted an extra
(jagged) wire segment at the starting point of a trace.
- When the routing grid was not an integer multiple of the internal editor
resolution of 1/10000mm (e.g. 6.25mil), the Autorouter sometimes didn't
round the resulting coordinates corrrectly.
- Fixed updating the contents of a dlgComboBox when a statement is executed.
- Fixed the bahaviour of the "Again" function in the text editor in case
nothing has been searched yet.
- Fixed setting colors, fill styles and long strings when adding new layers
from a library to a board or schematic drawing.
- Fixed processing textual coordinate values (sometimes in script files only
every other coordinate pair was recognized).
- Fixed recalculating the "Window Fit;" area of a sheet after a library
update.
- User Language Dialogs sometimes became inoperative after canceling a
message box.
- The bounding box of texts will be recalculated in order to fit exactly to
the text size when using vector font.
- The CAM Processor didn't correctly write the offsets into the info files.
- The PASTE command in a schematic didn't always forward annotate the net
classes of the pasted nets correctly.
- Fixed handling empty strings in dlgComboBox.
- Fixed updating libraries in the PASTE command.
- Sometimes small white "dots" appeared when a file was newly loaded.
These also caused zero-length/zero-width apertures to be generated in
Gerber output.
- When renaming a file in the Control Panel, a possibly existing target file
is no longer overwritten.
- Sometimes under Windows a click on a push button was not recognized when
the mouse button was released while moving the mouse pointer away from the
push button.
- Fixed handling parameters (e.g. package variant names) containing '='.
- Fixed creating new projects and folders in case several branches in the
Control Panel tree view contained the same directory.
- Sometimes thermal and annulus symbols were not correctly generated for
supply layers if a window refresh in the board editor was caused while the
CAM Processor was running.
- CHANGE PACKAGE sometimes didn't map the pad assignments correctly, which
could cause wrong connections in the board and a loss of consistency.
- The ROUTE command no longer generates a via at points where there is
already a wire in the same layer.
- The layer of SMDs was sometimes not recognized correctly.

Release notes for EAGLE 4.01


============================

* Bugfixes:

- The 'bom.ulp' didn't print the "Description" if no database was in use.


- 'bom.ulp' now uses '.htm' as default extension when saving as HTML.
- Added missing warning messages to the ERC help page.
- Holes will be subtracted from signal polygons even if the Distance
parameter for Copper/Dimension in the Design Rules is 0 (for better
compatibility with version 3.55).
- Fixed restoring the visible area in a schematic when loading a project.
- Fixed handling umlauts in NAME command.
- Sometimes text files were not correctly recognized and thus not listed
in the Control Panel's tree view.
- Making sure a very small circle with Width=0 is drawn as at least one pixel
on the screen (this is sometimes used as a reference marker).
- Fixed not limiting the zoom factor for small drawings.
- Avoiding flickering hour glass cursor when loading many libraries in ADD.
- No longer displaying text origins in device set drawing.
- Fixed checking whether a pad or via is connected to a polygon.
- Fixed calculating airwires between partial polygons.
- Checking if coordinates are within the allowed range.
- Fixed calculating polygons with widths less than 1 micron.
- The "Use all/none" option was missing in the context menu of the "Libraries"
entry in the Control Panel if there was only one entry in the
"Options/Directories/Libraries" path.
- Sometimes a faulty "used" indicator appeared in the Control Panel on
directories that are not project directories.
- After loading Design Rules from a file into the Design Rules dialog, the
percentage values of e.g. the Restring parameters were not updated
correctly.
- Fixed switching back the mouse cursor from the four-way selection cursor.
- Fixed editing the library description from a symbol drawing.
- The "mouse click" symbol was not displayed correctly in the Linux help.
- Changing "Options/Set/Display mode" did not propagate the parameter change
to the other windows.
- Polygons and non-continuous wires in packages and symbols were not handled
correctly in the User Language.
- Since version 4.0 a bus name that is used with a range can no longer end
with a digit. However, if such a name was already present in a drawing from
a previous version and a net was extracted from that bus, the program
crashed. Now there will be an error message in such a case.
- If a library was saved and parts from that library were added very quickly
(within the same second, for example in a script) it could happen that the
current version of the library was not used, but rather the previously
loaded version.
- The obsolete description of DISPLAY_MODE FAST has been removed from the
online help.
- Fixed a bug in the library update mechanism that caused an error code
of 400-1363.

Release notes for EAGLE 4.0


===========================

* Control Panel:

- The Control Panel now has a "Tree View" which provides an overview over
all areas of EAGLE, like Libraries, User Language Programs, Projects etc.
- The Control Panel's tree view supports "Drag&Drop" to copy or move files
and directories. Files (like ULPs or scripts) can also be dragged over
an editor window and dropped there; this results in the file being RUN
or executed by the SCRIPT command inside the respective window. Devices
and packages can also be dragged and dropped onto editor windows. Dropping
an entire library onto a board or schematic editor window will perform
a library update.
- Objects in the tree view have a context menu that can be accessed by
pressing the right mouse button.
- The menu option "Save project as..." is no longer available. New projects
can now be created via the context menu in the "Projects" tree item, or
by selecting "File/New/Project" from the Control Panel.
- The path settings in "Options/Directories" can now use the special names
"$HOME" and "$EAGLEDIR" to access the user's home directory or the EAGLE
installation directory, respectively.
- The new "Auto backup" feature will automatically save any modified
drawing into a safety backup file after a certain time.
See "Help/Automatic backup" for details.

* New Project Structure:

- The names of files that are under the current project directory are
no longer written as absolute paths into the 'eagle.epf' file, but rather
relative to the project directory. This allows for complete project
directories to be easily copied or renamed.
- A project is now held in a subdirectory that contains a file named
'eagle.epf' (which stores the location and settings of open windows).

* Converting projects from previous versions:

- Previous versions of EAGLE used individually named project files (*.epf)


to store project information. Beginning with version 4 a project is stored
entirely in a subdirectory, and that directory contains a file with the
fixed name 'eagle.epf'.
- The easiest way to convert projects from older versions is to create one
directory for each project and copy that project's '.epf' file into this
directory under the name 'eagle.epf'. The name of the project in version 4
is the name of the project's directory.
- In the Control Panel use the "Options/Directories" dialog to enter the
name of the directory that contains your project subdirectories into the
"Projects" field.

* User Interface:

- The textual command menu can now be configured to display aliased


command buttons as well as submenus (see HELP MENU for details).
- Changes made in the "Options/User interface" dialog now take effect
immediately for open editor windows.
- The cursor inside a layout or schematic editor window can now be set
to a "large" crosshair cursor (see "Options/User interface").
- The "Delete" icon was changed from a pencil with an eraser to an 'X'.
- The "Split" icon was changed to better indicate what will happen.

* Keyboard and mouse control:

- Alt-0 no longer popups up the window list, but leads directly


to the Control Panel.
- Pressing the Ctrl key while moving the mouse now scrolls the
draw window in any direction.
- The mouse wheel now zooms in and out in editor windows (zoom factor can be
adjusted in "Options/User interface/Mouse wheel zoom", a value of '0'
disables this feature and the sign of this factor defines the direction
of the zoom operation).

* Screen display:

- The default for "minimum visible text size" has been changed to 3.
- The display mode parameter FAST has been dropped.
- By default the zoom factor in editor windows is limited so that the
resulting virtual drawing area does not exceed the 16-bit coordinate range.
This is necessary to avoid problems with graphics drivers that are not
32-bit proof. If the graphics driver on a particular system can handle
coordinates that exceeed the 16-bit range, "Options/User interface/Limit
zoom factor" can be switched off allow larger zoom factors.

* Design Rules:

- EAGLE now supports a full set of Design Rules that are stored inside
the board file (and can also be saved to disk files). Both the Design
Rule Check and the Autorouter will use the same set of rules.
- Newly created boards take their design rules from the file 'default.dru',
which is searched for in the first directory listed in the
"Options/Directories/Design rules" path.
- Cream mask values are now measured "inwards" and thus have a positive sign.
- The parameters AnnulusConduct and ThermalConduct are no longer available.
There are now checkboxes in the Design Rules dialog's "Supply" tab that
define whether a Thermal or Annulus symbol shall have a "Restring" or not.
- In order to assure that existing boards yield the same results when
producing CAM data after they have been updated to version 4, the minimum
restring parameters for the outer layers are set to 0 in the design rules
(this allows the existing pads and vias to keep their defined diameters).
The user should adjust these parameters to some reasonable values and run
a design rule check after adding new parts from version 4 libraries.

NOTE: The above has been changed in version 4.03 - see release notes for
version 4.03!

Also, the new design rule parameter that controls the minimum distance
between objects in signal layers and the board dimensions (default: 40mil)
will be set to 0 if a board that is updated from an older version contains
any signal polygons. The reason for this is that in previous versions
polygons didn't take the board dimensions into account when they were
calculated, but starting with version 4 polygons keep the minimum distance
defined in "Edit/Design rules/Distance/Copper/Dimensions" from the boards
dimensions. In order to guarantee that updated boards will yield the same
results when producing CAM data with version 4 this parameter is set to 0.
Note that this will also have an impact on the autorouter, so the user
should adjust this parameter to some reasonable value.

* Net Classes:

- Nets and Signals now have a new parameter called "Net Class".
- The new command CLASS is used to define and select net classes.
- The CHANGE command has a new option 'class' to change the net class
of a net or signal.

* Polygons:

- When calculating polygons, the minimum distances defined in the design


rules and net classes will be taken into account. Therefore the default
value for the Isolate parameter of newly created polygons is now 0. If a
particular polygon is given an Isolate value that exceeds that from the
design rules and net classes, the larger value will be taken.
- The new parameter 'rank' defines if and how polygons are subtracted from
each other. When updating existing files, polygons in signals will get
a rank of '1', while polygons in packages will get rank '7'.
- Polygons are now checked in the Design Rule Check if they have the same
'rank'.
- Sometimes the polygon subtractor didn't go through a gap where, according
to the actual widths and minimum distances, it should have.
- Polygons in the t/bRestrict layers are now subtracted from signal polygons
in the Top and bottom layer, respectively.

* Design Rule Check:

- The DRC now runs a lot faster.


- Progress is now displayed in a progress bar (the progress rectangles
are no longer displayed and the SET variables DRC_SHOW and DRC_COLOR
are now obsolete).
- Since the DRC is now much faster its error messages are no longer
stored in a separate '*.drc' file (this separate file sometimes
caused board and DRC error messages to be out of sync).
- Polygons from different signals with the same 'rank' are checked
against each other.
- All objects in layers Top..Bottom (including arcs, circles etc.)
are now checked.
- The 'overlap' and 'minimum distance' check are no longer separate checks.
- The DRC no longer checks an individual signal against everything else.
The newly introduced "Net Classes" can be used to do this.
- The rectangle for a selective DRC can now be defined with "click&drag"
(just as in the WINDOW command).
- Holes are no longer checked in the "Grid" check (only pads, vias, smds
and wires in signal layers are checked).
- Any objects in signal layers within a package are now checked against each
other.
- Several new checks have been added (see the DRC dialog for more information
about the new parameters).
- Due to a calculation problem the DRC sometimes reported very small errors
where in reality there were no errors.

* Long strings:

- All names, values and texts can now be of any length.


- The User Language constants regarding name lengths still exist,
but the program uses these constants only for formatted output
as in the EXPORT command. They are still present for compatibility
only.
- There is no more limit to the number of members in a bus (bus index
values are limited to 0..511).
- Bus member names can now contain any characters, except ':', ',', '[', ']'
and blanks.

* Wire styles:

- Wires now have a new parameter 'Style', which can be set to one of the
following values:

Continuous _______________ (default)


LongDash ___ ___ ___ ___
ShortDash _ _ _ _ _ _ _ _
DashDot ___ . ___ . ___

- The variable for setting the bend type of a wire has been renamed from
Wires_Style to Wire_Bend to avoid confusing the two parameters.
- Note that the DRC and Autorouter will always treat wires as "Continuous",
even if their style is different. Wire styles are mainly for electrical
and mechanical drawings and should not be used on copper layers. It is
an explicit DRC error to use a non-continuous wire as part of a signal
that is connected to any pad.

* Text fonts:

- Texts can now have three different fonts:


'Vector' the program's internal vector font (as used in previous versions)
'Proportional' a proportional pixel font (usually 'Helvetica')
'Fixed' a monospaced pixel font (usually 'Courier')
- When updating drawings from older versions, all texts are converted to
'Proportional' font, except for those in layers Top...Bottom, tRestrict
and bRestrict, since these texts probably need to be subtracted from
signal polygons, which only works with the 'Vector' font.
- The program makes great efforts to output texts with fonts other than
'Vector' as good as possible. However, since the actual font is drawn
by the system's graphics interface, 'Proportional' and 'Fixed' fonts
may be output with different sizes and/or lengths.
See HELP TEXT if you don't want texts to be displayed with fonts other
than 'Vector'. You can set the user interface option "Always vector font"
to always have texts output with the builtin vector font.
- When creating output files with the CAM Processor, texts with fonts
other than 'Vector' may be output using the 'Vector' font instead.
This happens if the actual output device is unable to produce texts
with different fonts.
- If a text with a font other than 'Vector' is subtracted from a signal
polygon, only the surrounding rectangle is subtracted. Due to the
above mentioned possible size/length problems, the actually printed
font may exceed that rectangle. Therefore, if you need to subtract
a text from a signal polygon it is recommended that you use the 'Vector'
font.
- The 'Ratio' parameter has no meaning for texts with fonts other than
'Vector'.
- The CHANGE command has a new option "Font".

* Pads and Vias:

- The diameter of pads and vias is now derived from the drill diameter
using the Design Rules (the pad and via diameter '0' is now allowed
and results in a diameter that is derived from the current design rules).
If a pad is defined with a diameter that exceeds the one that would
result from the current design rules, the larger diameter is taken.
The default value for the diameter of newly created pads and vias is now
'0' to allow the Design Rules to define the actual diameters.
- Pads can have different shapes on Top and Bottom (they will always be
'round' on the inner layers).
- The via shape now only applies to the outer layers (they will always be
'round' on the inner layers).
- The diameter of pads with shape X/YLongOct now defines the smaller side
of the pad (formerly the wider side). Existing files will be modified
accordingly during the update.
- By default vias no longer generate Thermal symbols in supply layers.
There is a new design rules parameter that enables Thermal symbols to
be generated for vias in supply layers and signal polygons.
- When updating files from older versions, pads and vias with diameter <=
drill will be replaced with a 'hole' of that drill diameter. This only
works for unconnected pads; if a pad is connected to a pin (in a library
or schematic) or to a signal (in a board) it can't be converted to a hole
and the user must decide what to do in such a case. This conversion has
become necessary because pads and vias now always have a 'restring' that
is determined by the design rules.
If a consistent board/schematic pair is updated to version 4 and such pads
are replaced with holes in only one of the drawings, the board/schematic
pair will become inconsistent. If that happens you will need to modify
the respective package/device definition to make things consistent again.

* Round SMDs:

- SMDs have a new parameter "Roundness", which can range between 0 and 100
and defines the percentage by which the corners are "rounded". A value
of 0 (default) results in a rectangle, while a value of 100 results in
a circular shape (if the x and y dimension of the SMD are the same),
which can be used for BGAs.
- The SMD command accepts roundness values as numbers with a leading '-'
(to be able to distinguish it from the SMD size values).
- The CHANGE command has a new option "Roundness".

* New Library structure:

- What was called a "Device" in previous versions is now called a "Device Set".
A "Device Set" consists of the gate definitions and several actual devices,
implemented through "Package Variants"
- The PACKAGE command can now assign several different package variants
to a device (as in 7400N, 7400D,...).
- The new command TECHNOLOGY can be used to define various "technology"
variants for a device's package variants (as in 74LS00N, 74S00N,...).
- The CHANGE command has the new options PACKAGE and TECHNOLOGY, which
can be used to select from the packages and/or technologies a device
set defines. This can be done from within the schematic or board.
- The new command DESCRIPTION can be used to provide detailed textual
information about a device, package or library.
- The CONNECT dialog now allows copying pin/pad connections from an other
package variant. Only those package variants are offered in the "Copy from"
combo box that have the same pad names as the current package variant
(only connected pads are checked).
- The CONNECT dialog now asks the user if he want's to discard any changes
before canceling the dialog.
- The CONNECT command can now handle gate names that contain periods.
- The device editor now displays a list of package variants, a preview of the
current package and the description of the device.
- Since it is now possible to "completely" define a device with all
package and technology variants, the default setting of the "Value"
parameter has been changed to "Off".
- The meaning of the "Value" parameter in a device set is now as follows:
+ "Value Off" means there is no user definable value, i.e. the value of
a part is defined by the dievice name (including, if present, technology
and package variant). A device like "74LS00N" would be an example.
+ "Value On" means this device needs a user defined value to be fully
specified. A resistor is an example.
Even in the "value off" case the user can (after a confirmation dialog)
change a part's value to handle any special cases that might otherwise
cause problems. Any CHANGE TECHNOLOGY or CHANGE PACKAGE command that is
executed after such a change will set the value back to the device name.

* Automatic Library update:

- If a library has been modified after parts or packages from it have been
added to a schematic or board, the new command UPDATE can be used to
automatically update all used library objects with their latest version
(see "Help Update").
- The UPDATE command can be selected from the "Library" pulldown menu in a
board or schematic, or from the context menu of a library in the Control
Panel. It is also possible to drag&drop a library from the Control Panel
onto a schematic or board drawing and perform the update that way.

* Bill Of Material:

- The User Language Program 'bom.ulp' to generate the "Bill Of Material"


has been rewritten. It now has a dialog in which the user can
interactively generate the BOM, pulling in additional data from a
user defined database file. Use "RUN bom.ulp" and click on the "Help"
button for more information.

* Generating Outlines for milling prototypes:

- The User Language Program 'outlines.ulp' can be used to generate the data
necessary to control a milling machine for generating a prototype board.

* User Language:

- The User Language now supports user defined dialogs as well as standard
file dialogs and message boxes.
- The RUN command now accepts additional arguments that are available
to the ULP as 'argc' and 'argv' parameters.
- Data can now be read into a ULP.
- The new lookup() function can be used to perform database lookups.
- The new fileglob() function can be used to do a directory search.
- The new fileerror() function can be used check for I/O errors.
- The 'exit()' function can now have a string parameter which is sent
to the editor window and executed as a command string.
- ULPs can now include other ULP files with the new #include directive.
- The new #usage directive can be used to provide information about a ULP.
- The new object UL_DEVICESET is used to access device sets in a library.
- The builtin statement device() has been renamed to deviceset() to conform
with the new library structure.
- UL_POLYGON has a new member 'rank'.
- UL_POLYGON has new members 'contours()' and 'fillings()' to access
the calculated polygon data. The 'dxf.ulp' now uses these new members
to draw the actual shape of calculated polygons.
- The new object UL_CLASS is used to access net classes.
- UL_BOARD and UL_SCHEMATIC have new members 'classes()'.
- UL_NET and UL_SIGNAL have new members 'class'.
- UL_WIRE has new members 'style' and 'pieces()'.
- UL_TEXT has a new member 'font'.
- The data members 'diameter' and 'shape' of UL_PAD and UL_VIA are now layer
dependent and thus require the layer number for which the data shall be
retrieved, because depending on the new Design Rules diameters and shapes
of pads and vias can be different in the various layers. The syntax is
now, e.g., pad.diameter[LAYER_TOP] to get the pad diameter in layer 1.
Existing User Language Programs need to be edited to conform to this new
syntax. See "Help UL_PAD/UL_VIA" for further details.
The 'dxf.ulp' now generates the pads and vias separately in each active
layer, including stopmask layers.
- The data members UL_SMD.dx and UL_SMD.dy can now have an optional layer
index to retrieve the dimensions in the t/bStop and t/bCream mask layers.
The 'dxf.ulp' now generates mask data if those layers are active.
- New builtin constants INT_MAX, INT_MIN, REAL_EPSILON, REAL_MAX and REAL_MIN
(see "Help/User Language/Builtins/Builtin Constants").
* Script files:

- Script files can now call other scripts (as long as no recursive
call is made).
- Script files can now contain comments. Everything after (and uncluding)
a '#' character will be ignored. '#' characters inside quotes have no
special meaning. Note that script labels (e.g. "BRD:") and continuation
characters ("\") must not be followed by anything else than white space,
and therefore can not be followed by comments (otherwise they loose
their special meaning).
- The 'eagle.scr' file is now first searched for in the current project
directory (which is equal to the current working directory in case there
is no project open) and then in the directories listed in the Control
Panel's "Options/Directories/Scripts".

* Autorouter:

- The Autorouter can now route "through" signal polygons (this can be
controlled by the new cost factor 'cfPolygon'). A side effect of this
is that a connection that has been made by the polygon before the
Autorouter was started may be lost if a track generated by the Autorouter
"splits" the polygon. Therefore, even if the Autorouter reaches 100%,
the final result (after recalculating the polygon by RATSNEST) may be
below 100%.
- The Autorouter control parameters are now stored inside the board file.
They can be saved to and loaded from external files via the Autorouter
dialog. Existing control files will be automatically read and stored in
the board file when updating files from previous versions (the old *.ctl
file then becomes obsolete and will not be read when the autorouter is
started - any changes made to such a file with a text editor are ignored!).
- The Autorouter and DRC now use the same set of Design Rules. The old
Autorouter parameters are stored in their corresponding DRC parameters,
except for the following:

+ Instead of the separate 'mdWireDimension' and 'mdViaDimension' there is


now only a single 'Copper/Dimension' parameter. This parameter will be
set to the last of the two 'md*' parameters from the *.ctl file (which
typically is 'mdViaDimension').
+ The 'mdWireRestrict' and 'mdViaRestrict' parameters are ignored because
the minimum distance between any copper (except pads and smds) and a
restrict area is now 0.
+ The 'tpViaDiameter' parameter is ignored because the actual via diameter
is now generated from the via drill and the restring parameters.
+ The 'tpWireWidth' and 'tpViaDrill' parameters are stored in the default
net class 0.

When saving Autorouter control parameters to disk, the minimum distance


parameters are no longer part of that file.
- There can now be any number of 'Optimize' passes. By default there are
now 4 'Optimize' passes.
- Each pass can be separately activated or deactivated.
- The Autorouter can now route different wire widths and minimum distances
simultaneously by using "Net Classes".
- The minimum distance parameters are no longer defined in the Autorouter
dialog, but rather in the Design Rules dialog.
- The track parameters (wire width and via diameter) are now defined in
the Design Rules dialog (absolute minimums) and the Net Classes dialog.
- The minimum routing grid is now 0.02mm (about 0.8mil).
- The default control parameters and the internal handling of cfChangeDir
have been modified to avoid jagged tracks.
- The value 99 for the cfNonPref parameter now causes the router to
completely avoid traces that are not in the preferred direction of the
respective layer. You should carefully decide if this behaviour is really
what you want. To avoid unexpected effects with existing boards, the value
99 will be silently changed to 98 when updating older files.
- With very small routing grids the Autorouter sometimes routed a little bit
too close towards round pads/vias.
- Sometimes the autorouter didn't go through a gap where, according to the
actual widths and minimum distances, it should have.

* ADD command:

- The ADD command can now be used with wildcards ('*' or '?') to find
a specific device. The ADD dialog offers a tree view of the matching
devices, as well as a preview of the device and package variant.
- To add directly from a specific library, the command syntax

ADD devicename@libraryname

can be used. 'devicename' may contain wildcards and 'libraryname' can


be either a plain library name (like "ttl" or "ttl.lbr") or a full
file name (like "/home/mydir/myproject/ttl.lbr" or "../lbr/ttl").
- If a device or package shall be added, and there is already such an object
(with the same name from the same library) in the drawing, an automatic
library update will be performed which replaces the existing object in
the drawing with the current version from the library.
- The new command UPDATE can be used to update all parts in a board or
schematic with modified library versions (see "Help Update").

* CHANGE command:

- CHANGE LAYER for wires and polygons now works between any layers within
packages and symbols.

* CONNECT command:

- Pressing the SPACE key in the CONNECT dialog while a list element has
the focus will now perform the 'connect' or 'disconnect' action,
respectively.

* DELETE command:

- If the last supply symbol of a given type is deleted from a net segment
that has the same name as the deleted supply pin, that segment is now given
a newly generated name (if there are no other supply symbols still
attached to that segment) or the name of one of the remaining supply
symbols.

* DISPLAY command:

- The new parameters '?' and '??' can be used to control what happens if
a layer that is given in a DISPLAY command does not exist in the current
drawing. See "Help Display" for details.

* GROUP command:

- If the selected group is empty, the GROUP command no longer displays


a message box saying "Group is empty". It rather prompts that message
in the status bar (with a beep) and stays active for a new group
definition.

* ERC command:

- The ERC now lists the package names when reporting parts/elements with
inconsistent packages.
- The ERC now detects inconsistencies between the implicit power and supply
pins in the schematic and the actual signal connections in the board. Such
inconsistencies can occur if the supply pin configuration is modified
after the board has been created with the BOARD command. Since the power
pins are only connected "implicitly", these changes can't always be forward
annotated. If such errors are detected, forward-/backannotation will still
be performed, but the supply pin configuration should be checked!
- The ERC now checks for missing junctions and overlapping wires and pins.

* ERRORS command:

- The ERRORS dialog is no longer modal (it stays "on top" of the editor
window) and can be kept open while resuming normal editing in the editor
window.
- The various error types are now listed more detailed.

* EXPORT command:

- The EXPORT can now export image files (BMP, PNG, etc.).
See "Help/EXPORT" for details.

* NET and BUS command:

- If a net wire is placed at a point where there is already another net


or bus wire or a pin, the current net wire will be ended at that point
(in previous versions the user had to click twice to end a net wire).
The same applies to a bus wire that is placed at a point where there
is already another bus wire. This function can be disabled with
"SET AUTO_END_NET OFF;", or by unchecking
"Options/Set/Misc/Auto end net and bus".
- If a net wire is placed at a point where there are at least two other
net wires and/or pins, a junction will automatically be placed.
This function can be disabled with "SET AUTO_JUNCTION OFF;", or by
unchecking "Options/Set/Misc/Auto set junction".
- If a bus name is used with a range, that name must not end with digits,
because it would become unclear which digits belong to the Name and which
belong to the range.

* PASTE command:

- When pasting objects into a drawing that already contains earlier


(different) versions of these objects, an automatic library update will be
performed which replaces the existing objects in the drawing with the new
versions from the paste buffer.

* PRINT command:

- The PRINT dialog's "Page setup" now allows border values that are smaller
than the initial values derived from the printer driver. To get back to
the original default you can enter '0'. Note, though, that your actual
printer may not be able to print that close to the page limits.
- The printer settings are no longer stored in the project file, but are now
stored in the user parameters ('eaglerc').
- Version 3.5 stored the binary printer setup in the Windows registry in
order to remember which printer was last used in EAGLE. This, however,
has frequently caused problems, sometimes even total system crashes.
As of version 4 EAGLE (like most other Windows applications) no longer
stores the used printer and always starts up with the system default
printer.

* REMOVE command:

- The REMOVE command can now handle device, symbol and package names with
extension (for example REMOVE name.pac). If the name is given without
extension, you have to be in the respective mode to remove an object
(i.e. editing a package if you want to remove packages).

* RENAME command:

- The RENAME command now allows '.' in names.


- The RENAME command can now handle device, symbol and package names with
extension (for example RENAME name1.pac name2[.pac] - note that the
extension is optional in the second parameter). If the first parameter
is given without extension, you have to be in the respective mode to
rename an object (i.e. editing a package if you want to rename packages).

* REPLACE command:

- The REPLACE command can no longer be used with active forward- and
backannotation. This is due to the now complete definition of a device
set with all its package variants. Use the CHANGE PACKAGE command to select
one of the defined package variants, or use the UPDATE command to update a
package with a modified version from the same library.

* SET command:

- The SET options for Thermal and Annulus parameters as well as the Solder
Stop and Cream mask data have been removed.
These values are now defined in the Design Rules.
- The SET variables DRC_SHOW and DRC_COLOR are now obsolete (progress in the
Design Rule Check is now displayed in a progress bar).
- The SET variable MAX_ERROR_ZOOM is now obsolete. The ERRORS dialog is no
longer modal (it stays "on top" of the editor window) and zooming can be
done with the usual WINDOW commands or buttons.

* SHOW command:

- Highlighted objects are now kept highlighted during subsequent window


operations.
- Pressing ESCape in the SHOW command now lowlights the currently highlighted
object.

* USE command:

- The USE command is now mainly for use in script files.


- The actually used libraries can now be comfortably selected in the
Control Panel.

* CAM Processor:

- The CAM Processor no longer supports matrix printers. Use the PRINT
command to print to the system printer.
- The CAM Processor no longer prints schematics. Use the PRINT command instead.
(As of version 4.03 the CAM Processor can print schematics again).
- The command line option -I is no longer available, since the CAM Processor
can now be used freely in the Freeware version.
- Output is now only possible into files. If data shall be sent to a COM
or LPT port under Windows the UNC filename of a queue attached to that
port has to be used.
- If the "Section" text in a CAM Processor section consists of a string
like "Title: Descriptive text...", the "Title" will appear on the section's
tab, while the "Descriptive text..." will only be visible in the "Section"
field.
- CAM Processor jobs can now have a description.
- The diameter of octagonal pads in RS274-X has been increased by a factor of
1.08239 to compensate for the different interpretation of pad diameters in
EAGLE and RS274-X.
- Wires are no longer shortened in the CAM Processor in order to keep the
drills open. Only devices that can actually remove pixels from the output
can now keep the drills open (currently only the Postscript devices "PS"
and "EPS" can do this).
- The new CAM Processor device PS_INVERTED can be used to produce inverted
Postscript output.

* Parameter storage:

- User specific parameters are now stored in an "eaglerc" file.


At program start, parameters are read (in the given sequence) from the
files

<prgdir>/eaglerc (Linux and Windows)


/etc/eaglerc (Linux only)
$HOME/.eaglerc (Linux)
$HOME/eaglerc.usr (Windows)

where <prgdir> means the directory that contains the EAGLE program file.
If no environment variable HOME is defined, the <prgdir> will be used
instead. When the program ends, the current values of all parameters
(if any of them have changed) are written to the eaglerc file in the HOME
directory.
Under Linux "$HOME" stands for the environment variable HOME.
Under Windows "$HOME" is either the environment variable HOME (if set)
or the value of the registry key "HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Explorer\Shell Folders\Personal", which contains
the actual name of the "My Documents" directory.
- The file 'eagle.cfg' is not read any more.
- Key assignments made with the ASSIGN command are now stored in the user
specific parameters.

* Command line options:

- The options '-A' and '-T' are now obsolete (thermal and annulus data
is now defined in the Design Rules).
- The options '-B' and '-M' are now obsolete (solder stop and cream mask
data is now defined in the Design Rules).
- The option '-C' is now obsolete, since the CAM Processor no longer
supports matrix printers (all printing is done with the PRINT command).
- The options '-Z' and '-Y' are now obsolete (drill symbols are
configured in "Options/Set/Drill" and are stored in the user specific
"eaglerc" file).
* Bugfixes:

- When printing several sheets at once, the >SHEET always displayed the
number of the currently edited sheet.
- When saving a file with more than one dot in its name the name was
cut off.

* Miscellaneous:

- The DOS and OS/2 platforms is no longer supported.


- Due to changes in the file data structure you will most likely be asked
whether to run the ERC when loading a board/schematic pair created with
an earlier version of EAGLE.
- Files from earlier versions of EAGLE may contain library objects with
the same names. This was caused by PASTE or ADD operations with modified
devices or packages. Version 4 no longer allows this to happen, and
therefore needs to make sure updated files do not contain multiple
objects with the same name. In order to assure this, the update routine
adds the '@' character and a number to the names of such library objects.
- The library editor can now edit devices and symbols, even if the user's
license does not contain the schematic module.
- Avoiding multiple 'Save?' prompts for boards and schematics that are
connected via f/b annotation.
- When a file is modified while updating from a previous version the resulting
update report is now presented in a separate text window.

You might also like