PCB News Items


Development snapshot 20080202 available

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

Development snapshot 20070912 available

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

gEDA Accepted into Googles 2007 Summer of Code

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.


Development snapshot 20070208 available

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

Development snapshot 20060822 available

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.

Development snapshot 20060422 available

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.

Development snapshot 20060414 available

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.

HID Code Merge

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.


Development snapshot 20060321 available

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.

File format documentation updated

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.


Development snapshot 20050609 available

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.

Development snapshot 20050315 available

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.

GTK version in CVS

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.


Development snapshot 20050127 available

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.

Development snapshot 20040903 available

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

Development snapshot 20040530 available

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)

Development snapshot 20040215 available

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.


Internal resolution changed to 0.01 mil from 1 mil

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.


Development snapshot 20031113 available

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.


PCB Ported to Cygwin

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.


Development snapshot 20030815 available

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.


Web page links section added

August 13, 2003. A new links section has been added to the web pages to give pointers to additional PCB related resources.


Trace optimizer added

June 22, 2003. DJ Delorie has incorporated his trace optimizer.

[PCB Logo]

Information
 Bug Reporting
 Downloads
 F.A.Q.
 Home
 How to Get PCB
 Links
 Manual
 News
 Sourceforge
   Project Page

SourceForge.net Logo