EAGLE Central Forums
Where the EAGLE community meets. Sponsored by Stratford Digital.

Home » CadSoft Support Forums » eagle.announce.eng » EAGLE version 6.0 released!
EAGLE version 6.0 released! [message #143092] Mon, 12 December 2011 12:11
Klaus Schmidinger
Messages: 1460
Registered: November 2008
Senior Member
A new version of EAGLE is now available for download at


The changes since the previous version are:

* 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
- 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
- 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.
- The maximum number of net classes has been increased to 16.

* 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.
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.


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,
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
- 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:

- 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
- 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
- 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
- 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
- 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
- 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
- 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.

Klaus Schmidinger

Klaus Schmidinger Phone: +49-8635-6989-10
CadSoft Computer GmbH Fax: +49-8635-6989-40
Pleidolfweg 15 Email: kls@cadsoft.de
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
Previous Topic: Wurth part library for EAGLE
Next Topic: Bug in version 6.0 CAM Processor!
Goto Forum:

Current Time: Mon Mar 27 22:22:43 GMT 2017