Your Name (required)

Your Email (required)

Your Message

What's new in version 5?

New in V5

What’s new in version 5?

Version 5.11
Version 5.10
Version 5.9
Version 5.8
Version 5.7
Version 5.6
Version 5.5
Version 5.4
Version 5.3
Version 5.2
Version 5.1
Version 5.0
Version 5.11

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

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.10

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.9

Bugfixes

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.8

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.7

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.6

Bugfixes

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.5

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.4

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.3

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.2

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

  • Fixed unexpected wire fragments in CAM Processor and PRINT output.

    WARNING:

    All EAGLE versions from 4.90.1 to 5.1.1 contain a bug which, under rare circumstances, may cause unexpected wire fragments in the CAM Processor and PRINT output, which may lead to short circuits. These wires are not visible in the editor window and are not reported by the DRC. This bug is fixed in version 5.2.0 (and since version 5.1.2, respectively). Please switch to version 5.2.0 as soon as possible. Windows users should also make sure they use the latest version of the command line version eaglecon.exe, which is automatically generated from the eagle.exe during installation. You can determine the actual version of your eaglecon.exe by callingeaglecon -?

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.1

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

  • See the UPDATE file that comes with the installation archive for a list of fixes.
Version 5.0

Platforms

  • The minimum system requirement on Windows platforms is now Windows 2000, Windows XP or Windows 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 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. 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.

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