========================================================================
Release notes for pcb-4.0.1
========================================================================
Dear Users,
This release fixes a number of bugs.
Kind regards,
The pcb development team
Contributors
------------
The following authors contributed to the 4.0.1 release:
- Milan Prochac
- Charles Parker
- Dan McMahill
- Sergey Alyoshin
- Igor2
- Peter Clifton
- bert
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
User experience improvements
----------------------------
- reorchestrated the closing of the command window to not crash.
- only invalidate the screen after changes to the crosshair or mark are
complete.
Plugins
-------
- none
Exporters
---------
- fix for gcode dimensions.
- added a regression test for the IPC-D-356 exporter.
- added more documentation for the IPC-D-356 netlist exporter.
Footprints library
------------------
- add macro with more programmability for 2 pin axial components. Use
this to add a few IPC-7251 compliant footprints for axial inductors,
horizontally mounted. Use this in turn for the TDK B82145A RF chokes
family.
- add toko category and the 7P variable inductors.
- gen_geda_*.awk were nearly identical to gen_*.awk so add 2 lines to
geda.inc so we can use the same script for everything. Verified that
pcblib-newlib builds with identical results before/after.
- for the horizontally mounted axial macro add the missing bits for
marking polarity on parts like diodes.
- add PKG_RADIAL_MM100 macro for doing more general metric 2 pin radial
packages.
- add some IPC radial capacitor footprints and use those to create some
united chemicon footprints.
- add DO-41 diode package, horizontally mounted.
- add PKG_MTHOLE_GENERIC macro for fairly generic mounting holes. Use
this to define IPC mounting holes for #4 and #6 machine screws with
pan heads or flat washers for both "tight" (board < 4") and "loose"
(board > 4") fits.
- add TO-263 footprint.
- add some notes about m4 library development.
- fix problem in some possible invocations of the generic mounting hole
macro. All footprints pass syntax checks again.
- remove an extra empty attribute which is not needed and causes
warnings in the mounting hole macro.
- fix clearance on the Toko 7P footprint.
- in the mounting hole macro, change the calculation of the pad size for
the support vias to make them as large as possible without actually
changing the copper (the support vias are covered by the main pad).
This does not affect the fabricated board but it does remove some
false positive DRC complaints.
Developer experience improvements
---------------------------------
- allow translators to change number of tabs in message.
- In the test suite, check for a working X display using xhost before
running action script tests
- match() with 3 arguments is a gawk extension. Rework the code to avoid
using a 3 argument call to match() in one spot. Lets the script run
with gawk or NetBSD's awk (20121220). Verified that the generated
result is identical to the previous gawk result using both gawk and
NetBSDs awk.
- change from AC_FD_CC to AS_MESSAGE_LOG_FD
- removed the antifork abomination.
- disabled one of the checks used to deal with older gdlib installs on
some linux systems when building under cygwin as the test has
problems. Repairs building for mingw under cygwin.
- when building under cygwin, create a pcbtest.bat batch file that
allows testing the compiled pcb without installing. This is somewhat
analogous to the pcbtest.sh script generated on linux and other
unix-like systems.
- cleanup the win32 build script a good bit. An important change is
that instead of blindly installing all of the mingw cross system root
files, only install a set of listed ones. This not only reduces the
size of the windows installer but makes sure we have a more repeatable
build and know what we are actually bundling into the installer.
- fixed the Attribute deletion code.
Notes for early adapters
------------------------
- none
Changed dependencies
--------------------
- none
Fixed and committed Launchpad bug reports
-----------------------------------------
#700193 Append branch to version string.
#917308 m4lib_to_newlib.sh does not work with mawk.
#1528040 Gcode export smaller pad size.
#1654821 Attribute deletion code is broken.
#1659045 gts source do not compile when DEBUG symbol defined.
#1659061 Compile warnings when DEBUG symbol is defined.
#1660058 Several i18n fixes.
#1672886 Crash when reopening command entry window in gtk.
#1674133 Last action executed when escaping from command entry.
#1682654 Drawing area redrawn twice when crosshair moves.
========================================================================
========================================================================
Release notes for pcb-4.0.0
========================================================================
Dear Users,
It has been quite some time since the last snapshot of pcb was released
in March 2014.
Since then quite a lot of bugs were fixed and new features added, below
this introduction a summary is given of the improvements and additions
since the latest snapshot "pcb-20140316".
This release represents over 480 commits (mostly bugfixes and code
refactoring) and as such this summary clearly is not complete.
This pcb release 4.0.0 has a significant change in the major version
number.
This is done to make a fresh start and to get away from the 1.99z
version with YYYYMMDD snapshots.
Kind regards,
The pcb development team
User experience improvements
----------------------------
- added the command-line option --save-metric-only.
- added escaping of Attribute values.
- added a translation of the Getting Started with PCB for pt_BR.
- added translatable tooltips for toolbar buttons.
- added "Report net length" to Menu -> Info in Gtk.
- added a script for generating a key binding list.
- added tooltips in the GTK HID UI.
- the puller no longer crosses unplated holes.
- solder/component outer layer names changed to top/bottom.
- pcb now uses a tilde instead of a dash for backup filenames.
- corrections in the user documentation.
- the position "delta" display no longer forces the GTK HID window to
grow.
- write time in ASCII locale into exported files.
- allow for up to 10000 dpi on png exporter output.
Plugins
-------
- added smartdisperse for dispersing elements better, contributed by
Ben Jackson.
- added relocate for relocating elements, contributed by Jean Richard.
- added RenumberBlock() and RenumberBuffer(), contributed by DJ Delorie.
- added teardrops(), contributed by DJ Delorie.
Exporters
---------
- added a netlister conforming to the IPC-D-356 standard, contributed by
Jerome Marchand.
- changed "as-shown" to "screen-layer-order" in the png and eps hids.
Footprints library
------------------
- added a SC88A footprint.
- added a LQFP80-10 footprint.
- added QFN24_5 and TQFN24_5 footprints.
- added a SOD523 footprint.
- the SOT325 package had a wrong numbering.
- renamed the SOT325 footprint to SOT353.
- in the ALF footprint the drill holes were too tight.
- an infinite loop in the SIL m4 macro was fixed.
Developer experience improvements
---------------------------------
- made a start with adding Doxygen developer documentation tags in the
source files.
A pcb.dox configuration file is available in the "doc/doxygen"
directory so developers can build the documentation there by invoking
"doxygen pcb.dox" from the CLI.
This is not done by configuring with --enable-docs, which is solely
reserved for the generation of User documentation.
- added numerous fixes in the win32 target.
Notes for early adapters
------------------------
In the git repository two tags have been added to allow for checking
out of pcb-4.0.0 at the branch point (git checkout pcb-4.0.0-base) or at
the release point (git checkout pcb-4.0.0-RELEASE).
This is in line with tagging done in former snapshots.
Changed dependencies
--------------------
- autoconf 2.60 --> 2.69.
- gettext 0.14 --> 0.19.3.
Contributors
------------
The following authors contributed to the 4.0.0 release:
- Milan Prochac
- WileyECoyote
- DJ Delorie
- Britton Leo Kerin
- Jerome Marchand
- chrysn
- Sergey Stepanov
- Gareth Edwards
- Peter Clifton
- Anton Dubniak
- Markus Hitter
- Kai-Martin Knaak
- Martin
- Adrian Pardini
- Keith Packard
- Patrick Bernaud
- Robert Drehmel
- erich_heinzle
- Andrew Poelstra
- Marco Ciampa
- Roland Lutz
- Eugene Mikhantiev
- Jorge Barros de Abreu
- Richard Hughes
- Ivan Stankovic
- Charles Parker
- Dan McMahill
- Igor2
- Jean Richard
- Ben Jackson
- Morvan
- dima
- Peter S. May
- Felix K (kuhlix)
- rosvall
- Sergey Alyoshin
- bert
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
Fixed and committed Launchpad bug reports
-----------------------------------------
#699149 infinite loop in the SIL m4 macro.
#699164 Position "delta" display forces GTK HID window to grow.
#699209 DSP dances.
#699243 SOT325 Package wrong numbering.
#699286 ALF footprint drill holes too tight.
#699413 Doxygenation of action.c and hid.h.
#699539 Request: tooltips.
#699543 Request: key binding list.
#701133 Export to PNG always shows pads on other side of board.
#996319 ipc-d-356 netlist creation.
#1005137 Build fails when DEBUG constant defined.
#1013358 Auto-enforce-DRC : cannot draw with exact clearance.
#1035979 default silk layer names are the same for top and bottom.
#1048256 pcb crashes when GUI-lessly exporting a PNG.
#1074268 gcode tests fail.
#1280748 Print non localized date string.
#1308221 Use tilde instead of dash for backup files.
#1309579 Adding descriptive Tooltips to the toolbar buttons.
#1339383 Segfault on PS export with completely clipped polygon.
#1408399 small fix in source text.
#1408615 added pcb.pot to the gitignore.
#1413254 Value of 1umil incorrectly set to 10µmil.
#1413350 Drill report - wrong hole count.
#1486582 pcb doesn't build.
#1487761 Antifork.
#1488220 Allow automated tests of actions.
#1490264 Remove vi command line interface.
#1490284 Compile error in src/hid/lesstif/dialogs.c and
src/hid/lesstif/main.c.
#1491953 Dispersing elements better.
#1492497 Documentation for "Arc" is wrong.
#1497628 We need a PPA.
#1500224 Unit tests fail on 32-bit.
#1500241 pcb/gtk: buggy definition of LAYER_BUTTON_SILK.
#1500244 pcb/gtk: order of layer groups in preference dialogue.
#1505262 The N_ macro is spoiling the user documentation
#1506204 Quotes in attribute name or value make the PCB file
unreadable.
#1521597 PCB includes invalid vertex into merged polygon.
#1532298 add the relocate plugin.
#1532329 add keywords to appdata.
#1534373 Improper handling of files specified on cmdline.
#1542858 strchrnull not in OSX C library.
#1550382 puller crosses unplated holes.
#1551970 Install failure in doc subdirectory.
#1553255 djopt(splitlines) does not behave as expected.
#1553281 djopt(miter) affects outline.
#1580837 Cleanup code causes core dumps.
#1586020 Bad Translation Menu Entry: PCB (Portuguese).
#1604524 polygon "twin hole" bug.
#1609542 text bug.
#1616803 Remove redundant setting of library_window->libtreeview.
#1631059 Crash during undo of element text resize.
#1631646 Non-fatal errors when building docs.
#1633924 FontSave distorts symbols.
#1636221 Undo serial number not incremented when deselecting.
#1639518 Joining Text Fails to Undo.
#1645100 Arc rtree/polygon clearance bugs.
Addresses pkg/49383 and pkg/46543
========================================================================
Release Notes for PCB snapshot 20140316
========================================================================
This release represents over 421 commits (mostly bugfixes and code
refactoring) and as such this summary clearly is not complete. See
the ChangeLog file for the complete list of changes.
Features
--------
- GTK gui uses GL now, including a pseudo-3D mode.
- Brazilian translation added, others updated.
- Many internationalization tweaks.
- Mice with right-left scroll wheels now supported.
- Major upgrades to the GCode exporter.
- rat-thickness parameter can take a 'px' suffix
- metric and imperial grids are now more independent.
- photo exporter supports multiple color schemes.
- gerbers can be output in metric.
- There's now a difference between "found" (what the netlist wants)
and "connected" (what the copper says).
- PNG exporter has --fill-holes to omit the "drill helper" completely.
- gerber drill files now 0.1mil resolution.
- XY file is now IPC 7531 compliant.
Bug Fixes
---------
- Fix pan locking up pcb if you leave the window.
- Many bugfixes related to the metric conversion, including the two
autorouters.
- ps alignment marks fixed.
- route styles in *.pcb files may contain units.
- able to select more parts by their mark when their mark is on-grid.
- gtk route selector may now have nothing selected, if the board has
custom route settings.
- drc no longer hangs when some layers are skipped.
- ps_bloat works again.
- EPS header is more standards-compliant.
- PS outlines are only drawn on copper layers, not mask layers.
- cursor position and zoom are no longer written to the *.pcb file.
- lines with different clearances aren't auto-merged.
- pin names are drawn in the pinout window.
- gerber aperture numbers won't increase between runs.
- misc doc tweaks and fixes.
Other
-----
- Many tweaks to the source code to make it cleaner.
- The top and bottom layers are now consistently called "top" and
"bottom" instead of "solder" and "component"
- *.pcb file version bumped to 20091103 to reflect coordinate units change.
- gEDA/pcb project moved to geda-project.org
Problems found with existing distfile for eagle:
distfiles/eagle-lin32-7.4.0.run
No changes made to eagle/distinfo file.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
========================================================================
Release Notes for PCB snapshot 20110918
========================================================================
This release represents over 797 commits and as such this summary
clearly is not complete. See the ChangeLog file for the complete list
of changes.
Features
--------
- Internal coordinate space is now metric. This should fix the "trace
nubs on metric grids" issue. Also, units are allowed on pretty much
every "coordinate" that PCB accepts. Example: 5.4in, 10cm, 0.55mm.
New configure option --enable-coord64 to force (slower?) 64-bit type
for coordinates on 32-bit systems (if you need a board bigger than 1
meter across). The internal precision is 1 nanometer, the internal
type is "Coord".
- MinGW support.
- New GL mode for the gtk hid with translucent traces.
- New GTK layer view/choose widget and other GUI enhancements.
- GTK HID warns if the *.pcb file has changed on disk.
- Enhanced grid snapping logic.
- Select/report nets by name.
- Auto-pan has been removed.
- Zoom can zoom out beyond the edge of the board's workspace.
- GTK: title string matches GNOME conventions.
- Personally identifiable information is no longer stored in the PCB.
- Toggling vias from hole to plated is reversible.
- Gerber exporter has options for including outlines on other layers.
- Edited footprint files are saved as footprints, not pcbs.
- Improved gtk library search/filter.
- Default layer stack is now a six-layer template with outline.
- If the board has an outline layer, an outline will be shown if no
other outline is specified.
- Group[] string allows t/b synonyms for c/s. "top" and "bottom" are
the standard names now.
- PCB will save files with an older version tag if newer features aren't needed.
- Autorouter has a progress dialog.
- PCB will no longer let you delete the last top/bottom layer.
- Refcard has been updated.
- Documentation updates.
- Layes with the PCB::skip-drc attribute set are ignored during DRC.
- Allow numeric keys to also choose the silk layer.
- Minor readability tweaks to the default font.
- Via copper may overlap.
- User is notified if an Import() cannot find all the footprints.
Bug Fixes
---------
- Optimizer won't try to optimize overlapping pads
- Undo should fail less, in corner cases.
- Nested key-bound actions won't crash lesstif.
- Do not select invisible pads on the far side.
- Protect Import() from command injection.
- Fix conversion of far-side polygons to element pads.
- Fix initial clearance values of text when loading PCBs.
- Fix solder mask drawing on vias.
- Add missing action documentation.
- Fab drawing notes actual outline trace width.
- Zero clearance pins and pads won't cause DRC failures.
- PS export: fix draw-rectangle (used to do fill, not outline)
- Gerber export no longer fills unfilled rectanges.
- If there are no image formats available, the PNG hid is not enabled.
- You can no longer select pins/pads of locked elements.
- The m4-to-newlib converter now creates file names that match the
library view.
- Never set the FOUND flag on new silk lines.
- Lesstif HID won't crash if both Xinerama and XRender are detected.
- Lesstif menu is now internationalizable.
- Refdes labels in a font-less layout can be moved.
- Import can correctly update elements on the bottom side.
- DRC no longer treats unplated holes as conducting.
Other
-----
- Updated and new translations, including Dutch.
- Many polygon speedups.
- Numerous build-related cleanups.
- Numerous minor speed-related cleanups.
- GTK 2.18 is the minimum required version.
- GTS moved out of the src/ tree so it can be built with different flags.
- More C++ compatible.
- Expanded regex documentation.
- Much code which is no longer needed has been removed.
- HID init method changed to allow for hid struct expansion without
breaking everything.
- New HID calls for whole-pad and whole-pin drawing.
- ClearAndRedrawOutput() replaced with Redraw().
- Board objects use hashes instead of lists to store parts, so
pointers don't change.
- DVI documentation output is no longer generated.
========================================================================
Release Notes for PCB snapshot 20100929
========================================================================
This release represents over 240 commits and as such this summary
clearly is not complete. See the ChangeLog file for the complete list
of changes.
Features
--------
- PCB can directly import (forward annotate) schematics while running.
- Many places where measurements are entered now accept units, like
"5mm", and "cm" and "in" are allowed too.
- Free Rotate Buffer added to menu
- Polygon Hole tool.
- F12 invokes the Lock tool.
- Russian translation added.
- DBUS is enabled by default when possible.
- Command-line exporters can run action scripts too.
- GTK tool tips on elements, pins, and nets.
- Command-line actions in GUIs do not require (,,) syntax.
- PCB can import footprints both in subdirectories and the named directories.
- New GCode exporter.
- Footprint files use ".fp" as the suffix; this is automatically
searched for if needed.
- GTK dialogs do not show at startup unless requested.
- Stackup can be specified on the command line for command-line exporting.
- Reference card updated.
- The snap-point in pads is the center.
- The 's' key toggles polygons to clear/notclear all pads and pins
Bug Fixes
---------
- Various PNG export fixes.
- lesstif's magic toggle-layers-on-flip fixed.
- Arc bounding box math fixed.
- Fixed: sometimes, disabling silk also disabled the solder layer.
- "pcb --help" prints all options again
- Add mnemonic for "close without saving"
- Don't select silk on the back side when it's invisible.
- Various polygon rendering bugs fixed.
- PNG drill bloat export fixed.
- Attempts to change polygon clearance *on* polygons results in a hint.
- PNG doesn't segfault if not all graphic formats are supported.
- Various toporouter fixes and improvements
- HID_Mixed is supported in attribute dialogs
- Flipped rectangles in PS exports are drawn correctly.
- Optimizer removes micro-traces under pads.
- Vias, pins, and pads are now drawn under the mask instead of over.
- Windows supported better.
Other
-----
- Sources converted to C99
- Doc extraction gives more control over categories.
- Thermal documentation updated.
- Actions can see the context they were invoked in
========================================================================
Release Notes for PCB snapshot 20091103
========================================================================
This release represents almost 200 commits and as such this summary
clearly is not complete. See the ChangeLog file for the complete list
of changes.
- [feature] Add attributes to layers
- [bugfix] Remove memory leak in attributes
- [bugfix] Avoid layer buttons getting confused (GTK)
- [bugfix] Fix dereference bug in hid_find_action()
- [feature] Speed up some polygon operations
- [bugfix] Don't let DRC change the grid setting
- [bugfix] Correct URL's in some dialogs and output
- [feature] Add filters to load file chooser dialog (GTK)
- [bugfix] Avoid segfaults with png HID with newer versions of libgd
- [bugfix] Don't disperse locked elements
- [feature] Added experimental topological autorouter
- [feature] Added the beginning of a testsuite.
- [docs] Document FreeRotateBuffer()
- [docs] Add some additional notes on the usage of the existing
autorouter
- [feature] Add --png-bloat option
- [bugfix] Fix several bugs found with valgrind
- [bugfix] Improve the pre-install wrapper script
- [bugfix] Several fixes to the autorouter
- [feature] Allow quoted strings and escaped characters in action
arguments
- [footprints] Add missing INDC3216M, remove duplicated RESC3216M
- [feature] Added the ability to customize mouse events via gpcb-menu.res
in the GTK HID.
- [feature] Added the ability to use mod1 (alt)(option) in
HIDs. Useful on OSX.
- [bugfix] Fix compilation issues on centos
- [bugfix] Make the detection of tools and build system around
building the documentation be more robust. Users should
not be worrying about --disable-doc or --enable-maintainer-mode
anymore
- [footprints] Add T018, T039, fix pinout of T092 to match JEDEC
- [bugfix] Speed up rendering of DRC violation previews under GTK
- [bugfix] Fix some crashing bugs related to polygons and thindraw mode
- [feature] Added a DRC refresh button
- [bugfix] Fix some pango markup in the GTK DRC dialog
- [bugfix] Fix cursor warping on flipped boards (GTK)
- [feature] Added preview images in the DRC violations window (GTK)
- [feature] Add a DrcViolationType structure and add hooks to allow HID's to use this
- [bugfix] Fix some polygon memory leaks
- [feature] Add an API for registering actions with a context to support scripting
languages like GPMI.
- [bugfix] Fix a bug with the Report(NetLength) action and NULL pin/pad names
- [bugfix] Allow exporters to work with hairlines (width of 0)
- [tools] Increase autoconf version to 2.60 since we were using some features of it
- [bugfix] Fix a number of polygon related issues
- [bugfix] Fix a number of gcc warnings
- [feature] Don't display undocumented options in help output. This helps
the transition when deprecating an option.
- [feature] Add outline mode for photo-mode exporting
- [footprints] Put the mark on pin 1 for axial footprints to make them more likely
to fall on grid
- [bugfix] Fix flipping of arcs
- [bugfix] Fix parsing of old-syntax arcs
- [bugfix] Include explicit text/lines on silk layers in the assembly drawing output
- [feature] '--ben-mode' has been renamed to '--photo-mode'
- [bugfix] Fix some crashign bugs on boards with a large number of rats
- [bugfix] Fix an off-by-one bug in the GTK netlist window
- [docs] Add getting started guide
- [feature] Add support for parsing suffixes on numbers ("um", "mm", "in", "mil")
- [bugfix] Fix some configure/build issues when cross compiling
- [bugfix] Fix some improperly used automake conditionals
- [bugfix] Fix some uninstall of shortcuts issues under windows Vista
- [feature] Add additional crosshair shapes
- [bugfix] Various windows build script improvements