Dear Users,
This is a feature release (no pcb file format change).
This is a feature release as the footprint file format now allows for
stating the pad center and length, width parameters. This is in addition
to the existing footprint format. pcb parses both definitions.
Kind regards,
The pcb development team.
Contributors
The following authors contributed to this release:
- Charles Parker
- Bert Timmerman
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
User experience improvements
- the gtk hid no longer hides "clearline" lines, arcs, text under polygons in
"thin draw" mode.
- Updated zoom action comments.
- Pads can now be defined by centerpoint coordinates and length, width parameters.
- Pcb is no longer quiet when a save operation fails.
Plugins
Exporters
- added an exporter for a BOM in MarkDown format.
Footprints library
Developer experience improvements
Notes for package builders
- For building packages with a GTK UI or a Lesstif UI, configure with
the --with-gui=gtk or --with-gui=lesstif option (as usual).
- Added a --with-gaf-datadir configure option.
Changed dependencies
Dear Users,
This is a hot fix and bugfixes release (no pcb file format change).
This release is required as the User Manual didn't build with
ghostscript versions newer than 9.27, as these newer versions require an
additional argument:
--permit-file-read
for input files.
Kind regards,
The pcb development team.
Contributors
The following authors contributed to this release:
- Johan Vromans
- Karl Hammar
- Ahmed El-Mahmoudy
- Charles Parker
- Bert Timmerman
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
User experience improvements
Plugins
Exporters
Footprints library
Developer experience improvements
- Use PKG_PROG_PKG_CONFIG macro from pkg.m4 to detect pkg-config.
Notes for packagers
- For building packages with a GTK UI or a Lesstif UI, configure with
the --with-gui=gtk or --with-gui=lesstif option (as usual).
Changed dependencies
- Unrecoverable error with ghostscript versions after 9.27 fixed.
Dear Users,
This is a new features and bugfixes release (no pcb file format change).
This release introduces a TinyCAD schematics import option.
This feature is not fully tested in a production environment and is
considered to have an "alpha" status.
User feedback on this feature is most welcome.
Kind regards,
The pcb development team.
Contributors
The following authors contributed to this release:
- Charles Parker
- Milan Prochac
- Jorge Barros de Abreu
- Bert Timmerman
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
User experience improvements
- Import of TinyCAD schematics (alpha).
Plugins
Exporters/
Footprints library
Developer experience improvements
- more regression tests added.
Notes for packagers
- For building packages with a GTK UI or a Lesstif UI, configure with
the --with-gui=gtk or --with-gui=lesstif option (as usual).
Changed dependencies
Dear Users,
This release introduces a file format change.
This is required by the improved routing style feature.
Kind regards,
The pcb development team.
Contributors
The following authors contributed to 4.2.0 release:
- Charles Parker
- Rob Spanton
- Peter Clifton
- DJ Delorie
- Bert Timmerman
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
User experience improvements
- Improved routing styles.
- Improved DRC testing.
Plugins
Exporters
- Footprint attributes can now be added to the Bill of Materials [BOM]
in a similar way as with gschem by defining attributes in a input
file.
- XY output for Pick-and-Place now has proper values for non mm and mil
units.
Footprints library
Developer experience improvements
- Batch has become the default UI (non-GUI) for 'make distcheck' in
order to run regression tests without a GUI being in the way.
- Added regression tests.
Notes for packagers
- For building packages with a GTK UI or a Lesstif UI, configure with
the --with-gui=gtk or --with-gui=lesstif option (as usual).
Changed dependencies
Dear Users,
This is a bug fix release of pcb.
Kind regards,
The pcb development team.
Contributors
The following authors contributed to the 4.1.3 release:
- Charles Parker
- Milan Prochac
- Bert Timmerman
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
User experience improvements
- Potential data loss when currently opened PCB file is modified on disk.
- Blind/Burried vias clear soldermask on layers they don't intersect.
- Fixed ChangeClearSize() for changing a via's solder mask clearance.
- Fixed polygon to line separation DRC.
- Fixed DRC flags lines that are cleared by other objects.
- Fixed DRC misses lines near polygons if clearance smaller than
bloat.
- Fixed the segfault on picking load netlist menu item.
Plugins
Exporters
Footprints library
Developer experience improvements
- Added file version tests.
- Fixed some compile warnings.
- Fixed some Bison warnings.
Notes for early adapters
Changed dependencies
Dear Users,
This is a bug fix release for a correction of the toolbar icons in the
Microsoft Windows version of pcb.
Kind regards,
The pcb development team.
User experience improvements
- Correction of toolbar icons issue (Microsoft Windoes version of
pcb).
Plugins
Exporters
Footprints library
Developer experience improvements
Notes for early adapters
Changed dependencies
Dear Users,
This is a bug fixes release.
Kind regards,
The pcb development team.
Contributors
The following authors contributed to the 4.1.1 release:
- Charles Parker
- Dan McMahill
- Bert Timmerman
Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.
User experience improvements
- MS Windows (MinGW) installer available from SourceForge
(https://sourceforge.net/projects/pcb/files/pcb/).
- Corrections and improvements in the User Manual.
- Avoid instant 'CRASH' if an action script implies
'invalidate_lr'.
- Fixed a bug in moving a selection.
- Snapping to pins and pads whilst drawing a line trace.
- Fixed a bug in rubberband functionality.
Plugins
Exporters
Footprints library
Developer experience improvements
- Add draw_grid to the hid graphics structure.
Notes for early adapters
- MS Windows (MinGW) installer can be build again.
Changed dependencies
- For mingw cross builds the following minimum package versions are
required:
mingw64-i686-atk1.0 >= 2.26.1-1
mingw64-i686-binutils >= 2.29.1.787c9873-1
mingw64-i686-bzip2 >= 1.0.6-4
mingw64-i686-cairo >= 1.14.12-1
mingw64-i686-dbus >= 1.10.22-1
mingw64-i686-expat >= 2.2.2-1
mingw64-i686-fontconfig >= 2.12.6-1
mingw64-i686-freetype2 >= 2.6.5-1
mingw64-i686-gcc-core >= 6.4.0-1
mingw64-i686-gcc-g++ >= 6.4.0-1
mingw64-i686-gd >= 2.2.5-1
mingw64-i686-gdk-pixbuf2.0 >= 2.36.11-1
mingw64-i686-gettext >= 0.19.8.1-2
mingw64-i686-glib2.0 >= 2.54.3-1
mingw64-i686-gtk2.0 >= 2.24.31-1
mingw64-i686-gtkglext1.0 >= 1.2.0-1
mingw64-i686-harfbuzz >= 1.7.4-1
mingw64-i686-headers >= 5.0.3-1
mingw64-i686-jasper >= 2.0.14-1
mingw64-i686-jbigkit >= 2.1-1
mingw64-i686-libffi >= 3.2.1-1
mingw64-i686-libimagequant >= 2.10.0-1
mingw64-i686-libjpeg-turbo >= 1.5.3-1
mingw64-i686-libpng >= 1.6.34-1
mingw64-i686-libwebp >= 0.6.1-1
mingw64-i686-libXpm >= 3.5.12-1
mingw64-i686-lzo2 >= 2.08-1
mingw64-i686-pango1.0 >= 1.40.14-1
mingw64-i686-pcre >= 8.40-3
mingw64-i686-pixman >= 0.34.0-1
mingw64-i686-pkg-config >= 0.29.1-1
mingw64-i686-pkg-config-debuginfo >= 0.29.1-1
mingw64-i686-runtime >= 5.0.3-1
mingw64-i686-tiff >= 4.0.9-1
mingw64-i686-win-iconv >= 0.0.6-2
mingw64-i686-windows-default-manifest >= 6.4-1
mingw64-i686-winpthreads >= 5.0.3-1
mingw64-i686-xz >= 5.2.3-1
mingw64-i686-zlib >= 1.2.11-1
This allows for building a MS windows (MinGW) installer to work again.
Dear Users,
This release introduces a file format change.
This is required by the added Blind and Buried Via capabilities of pcb.
Kind regards,
The pcb development team
User experience improvements
- the blind and buried via feature is introduced.
- removed the deprecated mimelnk files.
- added a releases section to the appdata.
- corrections in the User Manual.
- reordered the exporter options in the User manual.
- better front matter and copyrights for the User Manual.
- splitted the Installation and Troubleshooting appendix in the User
Manual.
- correction in desktop integration name and comment.
- when writing a pcb file, write arc angles with decimal places.
- added the "Development" category in the desktop integration.
Plugins
Exporters
Footprints library
- several Nichicon radial capacitor footprints were added to the pcblib.
Developer experience improvements
- some more doxygenation of source code files.
- added regression tests for the Nelma exporter.
Notes for early adapters
Changed dependencies
Dear Users,
This release fixes a number of bugs.
Kind regards,
The pcb development team
User experience improvements
- include board outline on assembly drawings.
- fixed the SMD pads resizing bug (fix a drawing routine).
- fixed a segmentation fault when loading a pcb file with an empty style
field.
- added an escape callback to the command window.
this allows the command window to now be closed with the escape key.
Plugins
Exporters
- improvements in documentation.
Footprints library
Developer experience improvements
- some more doxygenation of source code files.
- added a "pcb release" howto in the developer docs.
- corrections in the FSF address as to keep rpmlint quiet.
- Small enhancements to the pcbtest.sh script.
allow the binary for gdb to be specified on the command line
make the definition of test paths more readable.
- exclude eps files in the doc directory.
- removed unused code when inserting points on rats.
- fix of incorrect flag struct comparison.
Notes for early adapters
Changed dependencies
Dear Users,
This release fixes a number of bugs.
Kind regards,
The pcb development team
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
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
Changed dependencies
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.
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
All main gEDA/PCB web sites have moved from gpleda.org to geda-project.org.
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.
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
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.
Changes included in this release are:
- [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
The main PCB web site has moved from sourceforge to gpleda.org. Stay tuned
for more news!
This release represents over 70 commits and as such this summary
clearly is not complete. See the ChangeLog file for the complete list
of changes.
Changes included in this release are:
- Minor bug fixes in RS274-X output.
- .Bug fixes in postscript output
- DRC checks for annular ring on pads only uses the mininum annular ring
drc setting instead of also checking minimum copper width.
- Fix postscript output for zero length lines.
- Improve the 'save before closing' dialogs.
- Fixed bugs where objects attached to the cursor vanish sometimes.
- Various minor code portability improvements.
- Enabled additional gcc warnings (when using gcc)
- Allow outline layers to have only arcs.
- Added "Ben Mode" png output which provides a simulated "photograph"
of the board. Very nice for publications.
- Fix poly clearance around rotated pads.
- Fix the batch HID which had bit rotted a little.
- Display net names hierarchically.
- Various speed improvements in the GTK HID.
- Various speed improvements in the autorouter.
- Minor improvements to the windows port.
- Other various bug fixes.
This release represents over 180 commits and as such this summary
clearly is not complete. See the ChangeLog file for the complete list
of changes.
Changes included in this release are:
- Added a footprint preview in the library window
- Added gnome/kde desktop integration files (app and mime icons, and
.desktop file)
- Added i18n support
- Updated dbus support
- Fix a number of GCC 4 compiler warnings
- Make the gtk gui more robust against malformed menu resource files
- Added checking for duplicate hot key definitions in the menu resource
file in the gtk gui.
- Improved support for building on win32.
- Removed automake/autoconf generated files from cvs
- Fixed some parallel make bugs
- Fixed some scrolling/panning bugs in the gtk gui.
- Added the ability to load edif netlists
- Closed a number of bugs in the sourceforge tracker
- Fix a bg in the x-y output files where the y values were mirrored and offset
- Add XRENDER support to the lesstif HID to support layer transparency
- Fix some polygon dicer bugs
- Fix a handful of bugs in the png export HID
- Avoid vias snapping to pins and moving elements snapping to their own
pins/pads
- Fix a number of undo bugs
- Fix printer calibration
- Add global puller
- Various improvements to the postscript export HID
- Improve all the GetXY prompts in the menu resource files
- Improved the pin/via report
- Improved pin/pad vs grid snapping
- Various footprint improvements
- fixed some drill sizes
- fixed some silk sizes
- Added a handful of QFP family footprints
- Converted the QFP family to the hi-res format
- Several other bug fixes
This release represents nearly 200 commits and as such this summary
clearly is not complete. See the ChangeLog file for the complete list
of changes.
Changes included in this release are:
- Many many bug fixes. Too many to list.
- Added keystone, C&K, Nichicon, and Optek footprint libraries
- Add attribute editor to the GTK HID
- Add a fileselect() function to the HID spec
- Fix ps output with drill helper on
- Add a visual indicater when elements are locked
- Corrections to the manual
- BOM can export in mm as well as mil
- Fix a ps output bug with arcs
- Fix some memory leaks found with Coverity
- Added autoconf test for buggy versions of m4
- Fixed some footprint drill sizes
- Add user customizable menus for the gtk HID. The gtk HID now is capable
of reading the same format menu resource files as the lesstif HID.
This represents significant rework of the menu code and menu callback code.
- Added Center() action
- Store the file format in the .pcb file. This will let pcb know when
presented with a file which is too new. The code for checking the format
was present in the prior snapshot.
- Fix DRC checking of square pads to square pads
- Added window panning/cursor warping
- Add the ability to directly load a footprint from a file as if it were
a complete layout.
- Add a Popup() action
The gEDA Project has been accepted as a
mentoring organization in Googles 2007 Summer of Code.
This represents a wonderful opportunity for gEDA/gaf, PCB, and students who have
an interest in open source CAD software. For more details see
The gEDA Google Summer of Code 2007 page.
Changes included in this release are:
- Add polygon clipping code. This is a big change to how polygons are handled.
The new code now removes islands and correctly identifies open circuits caused
by a trace fully cutting through a polygon. In addition, the RS-274-X output
is now simpler and works with some board houses that use older non-conforming
sofware. Different styles for thermal reliefs are also now supported as part
of the polygon clipper code.
- Add support for plugins
- Many improvements to the autorouter.
- Various improvements to the trace optimizer.
- Add a fontmode for editing pcb fonts
- Add progress() hook to HID structure
- Fix a bug with non-functional windows on some window managers commonly
found on OS-X
- Add support for controlling pcb via dbus
- Fix various bugs which would cause a crash
- Add --scale for postscript scaling
- Intercept window manager delete events with the GTK gui
- Scan the .pcb file for a FileVersion value. This is not written out yet
but will be in future versions.
- Warn if non-manhattan lines are trying to become pads.
- Allow no-solder paste pads to support fiducials
- Report in mm or mils as selected by user
- Allow reordering of layers
- add some more QFN packages
- fix building with sun studio c compiler
- Made a pcb installation be relocatable.
- Convert the m4 libraries to newlib libraries as part of building a distfile.
The m4 libraries are still considered the sources and as such are still
distributed but this eliminates the need for m4 at runtime for footprints.
- Got rid of the pcb wrapper script around pcb-bin.
- Remove some old footprints of questionable naming, accuracy, or usefulness.
- Get the autosave/backup code working on all GUI's
- Fix some drill size rounding in the reports
- Changed the backup file name to be derived from the .pcb file name
- Added a command line option for DrawGrid
- Fix logic for adding new ratlines
- Fix gtk grid when board is flipped
- Add "find" and "rip-up" buttons to the netlist window
- Draw plated holes when exporting
- Fix some bugs when converting selection to element
- Fix build on cygwin
- Enhance the win32/build_pcb script used to generate a non-cygwin windows
installer.
- Make pcb work under non-cygwin windows
Changes included in this release are:
-
various manual updates
-
update the INSTALL documentation
-
fix a bug where pins turned into pure holes when an element
was smashed.
-
use locale-independent strtod and dtostr functions to avoid problems
loading files saved in some locales.
-
fixed various bugs which caused pcb to crash
-
update the gtk status line after save/save as
-
make the gerber file names be compatible with pre-HID versions
-
split plated and unplated drill output
-
fix various typos in menus and comments
-
add a batch mode HID.
-
fix drawing of box around text in the buffer
-
various fixes and improvements to the trace optimizer and the
autorouter
-
fix board flipping code
-
fix rounding bug when creating list of drill sizes
-
add support for > 8 copper layers
-
avoid strict aliasing violations encountered with gcc4
-
refactor code related to handling the filenames in the export
HID's
-
fix layer group parsing code
-
add the ability to user-configure mouse actions in the lesstif GUI.
-
enable loaded netlists by default
-
improve the positioning of the drill list in the postscript output
-
various improvements to the configure script to improve robustness
and improve error messages when thing don't go well.
-
add IPC style footprints for 01005 passives.
-
added a Renumber() action which will renumber all reference designators
and produced an annotation file for backannotating to schematics.
-
Draw via annulii on assembly drawings
-
various other bug fixes and improvements.
Snapshot release pcb-20060422 has been released. This snapshot
was made primary to fix a problem with some menus not working at all
in the previous snapshot.
Additional changes are:
-
Several minor portability fixes for Solaris and the SunPRO compiler and
for Irix and the MIPSpro compiler.
-
Added --psfade option for the postscript HID.
-
Fixed a bug where the "load layout" and some other menu choices
didn't do anything.
-
Added remaining actions to the actions reference section of the manual.
-
Worked around X11 polluting the name space with some of the X
header files.
-
Fix route style "Save as default" bug.
-
For the Gtk HID, add an alternate vertical window layout mode to
help on lower vertical resolution displays.
-
Fix soldermask draw while TAB view from solder side.
-
Change default PNG output scaling to be 100 dpi instead of fixing
the max dimension at 800 pixels.
-
Added background image support for the GTK HID (lesstif one has it too).
-
Fix missing window icons for the main GTK window and log window.
Snapshot release pcb-20060414 has been released. This is the
first snapshot of the new HID version of PCB.
HID, which stands for Human Interface Device is
the abstraction created by DJ Delorie which
separates the core PCB code from the graphical
user interface. In this release, two GUI HID's
are supported, gtk and lesstif. In addition,
there are HID exporters for postscript and
encapsulated postscript, RS-274-X (gerber), bill
of materials, centroid file, and png/gif/jpeg.
This represents a major restructuring of the
code and many months of work.
Additional changes are:
-
PCB's actions (the commands which drive the core of the program and
may be directly accessed by the user) now have the documentation in-line
in the code and the actions reference section of the manual is
extracted from the in-line documentation. The goal it to provide more
complete and accurate documentation. As always the manual is still
a work in progress but it is getting more complete and up to date.
-
Fixed a long standing segfault when saving connection data
-
Fixed a DRC bug
-
Fix some rounding issues when setting sizes. Hopefully this will address
the issue with 23.99 mil drills and related problems.
-
The html manual is now in one file instead of many files
-
The lesstif HID now supports loading of background images to help
recover a layout which may exist in hardcopy form only.
After several months of hard work lead by DJ Delorie, the Human Interface Device
(HID) version of PCB was merged into CVS on 2006-03-21. As part of this work,
DJ has added
a lesstif GUI and Bill Wilson contributed a tremendous effort to get his GTK
GUI working in the HID framework. In addition a new png/gif/jpeg export option
has been added.
The goal of the HID project was to remove all of the GUI dependent code from the
core of PCB. In addition to opening the doors to a future win32 port (volunteers?),
this should make the core code easier to maintain.
This represents a fairly major overhaul of a lot of code so lots of testing would
be appreciated.
A new snapshot release, pcb-20060321, is available. As always, this is
a snapshot of a work in progress.
A summary of the changes since the last snapshot is:
-
Add internal support for more than 8 layers. By default PCB is still
compiled for 8 copper layers.
-
Fixed several minor bugs in the GTK user interface including fixing
scrolling of the log window, fixed up some of the DRC reporting
and mm/mil units.
-
Fixed several key bindings.
-
Updated refcard.tex to reflect the current set of key bindings.
-
Fixed some minor bugs which caused compilation problems on some
systems.
-
Converted the QFN footprints to hi-res.
-
Added documentation to the manual for the centroid file format and
the algorithm used for finding the centroid and rotation.
-
Fixed a bug so that the initial layer named 'component' is actually
on the component side of the board and 'solder' is actually on the
solder side of the board.
-
Fixed the pin order in the bourns trim pots (~bourns library)
-
Added actions and a script to allow command line printing.
-
Added IPC-7351 recommended footprints for 0201, 0402, etc passives.
-
Fixed SME5 package.
-
Fixed a bug which prevented disabling nets from the ratsnest
-
Fixed a bug where clearances could be set 1 below the spacing
-
Fixed clearline flag so that arcs also have this property.
-
Speed up rtree searches and other autorouter speedups.
-
Fixed a bug in computation of the closest polygon point.
-
Use rtrees for polygon handling for speed improvements.
-
Add a ChangePinName() action.
-
Fix a bug which caused duplicate rats names when manually adding
rats lines.
-
Added DRC checks for minimum drill diameter and minimum annular ring.
-
Add a minimal glossary to the manual
-
Fix the author name in the fab drawing
-
Cause the crosshair to snap to pad ends instead of center for rat
drawing.
-
Add "join" to SetFlag, ClrFlag and ChangeFlag.
-
Added inline documentation for the pcb file syntax. The manual now
is up to date and correctly documents the file format. In addition
the inline documentation will make it much easier to maintain the
documentation.
-
Remove some broken m4lib footprints
-
Put the correct setting for the gschem footprint= attribute in []
in the library window for the m4 libraries.
DJ Delorie has brought the section in the PCB
manual which covers the file format up to date with the current
sources. The documentation source now is in commented contained within
the source code. The has the benefit of both making it much easier to
maintain the documentation as well as reducing duplication.
A new snapshot release, pcb-20050609, is available. As always, this is
a snapshot of a work in progress.
A summary of the changes since the last snapshot is:
- The GUI is now based on gtk2 instead of Xaw. This represents
a fairly major change. You will now need gtk-2.6 or higher installed
along with any of its dependencies to build pcb. On linux
distributions, it is probably the case that you already have this.
For *BSD, Solaris, and others, you may want to use NetBSD's pkgsrc
to help install gtk2 and its dependencies.
-
Flags are stored symbolically in the .pcb file. This is the start
of moving to support >8 layers. Please note that >8 layer support
is not yet available in this snapshot.
-
Fixes for gcc-4
-
As part of the switch to gtk2, the user customizable menu feature has
been temporarily broken. Hopefully this will be fixed by the next
snapshot. In addition, the loading of background images has also been
temporarily broken.
A new snapshot release, pcb-20050315, is available. As always, this is
a snapshot of a work in progress. There have been a small
handful bug fixes and feature additions.
Thanks to everyone who has provided
feedback. Please note, this snapshot uses the same Xaw (Athena
Widgets) based user interface that pcb has had for quite some time.
A summary of the changes since the last snapshot is:
- Several footprint library fixes including TO-220 parse errors and
incorrect drill holes on several componenets.
- Fixed a crashing bug in the pinout window.
- Allow the FAB author to be set via an Xresource to override what
PCB might have gotten from the gecos information.
- Added table of standard drill sizes to the manual.
- Fixed a crashing bug when trying to use arrow keys to adjust the scale
slider in the print dialog box.
March 11, 2005. Bill Wilson's port of pcb to gtk
has been imported into CVS. As part of this effort, a branch in
cvs called "pcb-xaw" has been created which contains the Athena Widgets
(Xaw) version of pcb. If you are tracking pcb with CVS and you want the
Xaw version, you will need to use the "-r pcb-xaw" option to cvs when
updating next time.
This represents a fairly substantial change to pcb and there are a few
known issues which still need to be addressed. However, the port is
complete enough to try out. Once some of the key issues are taken care
of and the port stabilizes a bit, a snapshot release using gtk will be
released.
Many thanks to Bill for all of his work in making this happen.
A new snapshot release, pcb-20050127, is available. As always, this is
a snapshot of a work in progress. There have been many bug fixes and
feature additions and as always there is still more to do.
Thanks to everyone who has provided
feedback. A summary of the changes since the last snapshot is:
- Fix drill size for PLCC sockets in ~geda library. Fix drill size for
LED3 and LED5 footprints in ~geda library.
- Move the right-click popup menu to pcb-menu.res.
- Add DisperseElements() action for spreading out elements in an initial
layout.
- Fix fab drawing output for the case where a very small number of
drill sizes are used.
- Various documentation improvements.
- Remove many compiler warnings.
- Added metric output to the cursor display
- Fix <Key>. for toggling 45 degree mode.
- Crosshair snap snaps to center of pads and also to the mark of the
element.
- Protect all strcmp() calls with a check for a NULL pointer. Fixes
various crashes.
- Fixed the mode buttons which were unresponsive in some versions of
the X libraries.
- Element names may be edited over the element.
- Added --enable-efence for ElectricFence debugging. Off by default
- Added --disable-rpath to avoid using rpath for the X libraries.
- Added vendor resource file support. This allows lets you specify
a set of allowed drill sizes and drc rules for a particular vendor.
- Added -action command line option to allow executing an action on
startup.
- Date and time of compilation added to About dialog.
- Fix a bug where the soldermask relief on a new element is 100x smaller
than the default when "convert buffer to element" is used.
- Fix a name_tree corruption bug when changing an element name.
- Don't remove the formatted manual with a 'make clean' since they are
part of the distfile.
- Let automake handle the html and pdf conversion. This ends up using
texi2pdf for the pdf output which seems to do a better job than ps2pdf.
- Sort actions by modifier so that both Ctrl<Key>x and <Key>x work.
- Fix a SelectByName bug.
- Fix non-gcc compilation
- Command history added to :
- Fixed pinout window crash
- Allow Ctrl-drag to copy objects in arrow mode.
- Fixed a polygon clearance bug
- Fix an arc bounding box calculation error.
A new snapshot, pcb-20040903, release is available. As always, this is
a snapshot of a work in progress. Thanks to everyone who has provided
feedback. A summary of the changes since the last snapshot is:
- enable -Wall when compiling with gcc. Many compiler warnings have
been fixed.
- add a short man page which refers the user to the real documentation
- Added ExecuteFile(file) action which allows the execution of several
actions contained in a text file.
- Added -script <file> flag which specifies a file containing actions
to be executed upon startup.
- Add support for a background image in the drawing area which can
help in importing a layout from a scanned image.
- Various documentation improvements
- Protect some gcc extensions with tests for gcc. This allows
compilation with the IRIX c compiler.
- Updated the ~geda library 150 and 300 mil width SOIC packages
to remove silk on pads and to more closely follow the IPC
recommendations
- Added support for menu accelerators.
- segfault when breaking apart an element with no element selected
bug fixed.
- autorouter improvements
- added more 400mil DIP packages to ~geda library
- fix a trace optimizer bug which produced a segfault
- other various bug fixes
This has been an exciting 3 months for PCB. Many improvements have
been made in the program as well as additions and improvements to the
footprint library. Thanks to everyone who has provided feedback,
patches, etc.
Additions/Improvements
- Expanded DRC checking
- "Realtime" DRC checking
- DRC settings are now stored in the board fle
- Centroid (X-Y) and bill of materials output
- Dynamic menus. Users can now customize the menus via a
site-wide, per-user, or per-project menu resource file.
- Significant improvements to autorouting of congested designs.
- Autorouter can now use power planes.
- Improved appearance in autorouter output.
- Silk on pads/pins is clipped in RS-274-X output
- Ordering is preserved when writing output files so that diff
may be effectively used on pcb files.
- The autoplace feature now actually works
- Added ToggleVisibility action
- Most of the database is now kept in rtrees which avoids linear
searches. This speeds up operation significantly.
- Added SetFlag, ClrFlag, ChangeFlag actions.
Bug Fixes
- pin/pad bounding box calculation fixed. Components can
now be placed closer to the edge of the board.
- miter trace optimization bug.
- Fix bug with pins which are enclosed by multiple polygons.
- Shorts to unnamed elements and pins are handled correctly.
- Various memory leaks fixed.
- Fixed some bugs with a really high zoom.
- Fixed default media selection in postscript print dialog
- Fix some DRC bugs with square pins.
Footprint Library:
- Added SOJ footprint family (~geda library)
- Added CTS series 742/3/4/5/6 resistor pack footprints (~cts library)
- Added PKG_CONNECTOR_DIL macro to let the HEADER*_1 footprints work
(~geda library)
- Correct the SDIP footprints (~geda library)
- Correct some Minicircuits footprints (~minicircuits library)
- Correct some panasonic footprints (~panasonic library)
- Change refdes silk size for sockets (~johnstech library)
- Increase soldermask relief on some mounting holes
(~johnstech library)
- Convert the COMMON_SMT_DIL_MIL and COMMON_SMT_DIL_MM macros
used by several other libraries to the hi
- res format.
- Correct pin count on 100 pin QFP packages (100 not 72)
(~geda library)
- Correct pin count on HEADER60_2 (60 not 50) (~geda library)
Febuary 15, 2004. A new snapshot of the development sources for PCB
is available.
pcb-20040215 is the 3rd development snapshot release since moving to
SourceForge. This snapshot represents a big step forward in PCB.
Anyone following the CVS changes over the last month will have noticed
a very large number of bug fixes and feature enhancements by harry eaton.
A partial list of what's new is:
- Internal resolution changed to 0.01 mil from 1.0 mil
- Improved DRC checking
- Mirroring/rotating of buffers
- Undo works on trace optimizations
- Fixed polygon undo bugs
- Fix arc DRC bugs
- Added local measurement for line drawing
- Added mode for polygon viewing to help examing planes
- Added new footprint libraries (amp, amphenol, bourns, johnstech,
minicircuits, panasonic)
- Added new footprints to the geda library
- Other bug fixes
Please note that, as with previous snapshots, this snapshot represents
a work in progress. Download the snapshot
from the Files Release section
of the PCB SourceForge project page.
January 5, 2004. Harry Eaton has committed a series of changes which
increase the resolution of PCB. Prior versions of PCB used 1 mil as the
fundamental unit. As packaging and board fabrication technology has
progressed, this resolution is no longer adequate. The new internal unit is 0.01
mil. Old libraries may still be used and old designs may be opened, but
the design will be saved in the new hi-resolution format. This means
you will not be able to re-open the layout in an older version of PCB.
The source tree immediately prior to the hi-resolution changes is tagged
with "low_res". To update your CVS tree to the last version of the
low resolution PCB, use cvs update -PdA -r low_res.
We believe that most if not all of the bugs related to this change have been
worked out, but further independent testing is always useful.
November 13, 2003. A snapshot of the development sources for PCB
has been released and is available from the PCB Sourceforge
Project Summary Page. This is the second snapshot release
since moving to sourceforge. This snapshot includes cygwin and
Darwin support as well as new QFN footprints, improved documentation
on how the libraries work and interfacing with
gEDA, and several bug fixes.
Many thanks to everyone who has supplied patches and bug reports.
As with the previous snapshot, please note that this snapshot
has not gone through a rigorous
release engineering cycle but rather is a simple snapshot of a
work in progress.
November 11, 2003. PCB should now compile and run "out of the box"
under cygwin. You will need Xfree86 installed as well as the same
set of development tools (gcc, m4, make, tcl/tk) as needed on other
operating systems.
August 15, 2003. A snapshot of the development sources for PCB
has been released and is available from the PCB Sourceforge
Project Summary Page. We plan on making periodic snapshots
available to assist those who are unable to use the anonymous CVS
service. This will also allow developers of various packaging
systems to create PCB snapshot packages.
Please note that these snapshots have not gone through a rigorous
release engineering cycle but rather are simple snapshots of a
work in progress.
August 13, 2003. A new links section has
been added to the web pages to give pointers to additional PCB
related resources.
June 22, 2003. DJ Delorie has incorporated his trace optimizer.