Upstream changes:
Release Notes for gerbv-2.6.2
========================================================================
This is a minor patch release on top of gerbv-2.6.1. The change
is to property create the tarball with the build framework so that
the automake/autoconf/etc generated files are included.
========================================================================
Release Notes for gerbv-2.6.0
========================================================================
The following is a summary of the changes which went into gerbv-2.6.0.
For a complete list of changes, refer to ChangeLog. This release
is primarily a bug fix release.
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.
========================================================================
Release Notes for gerbv-2.5.0
========================================================================
The following is a summary of the changes which went into gerbv-2.5.0.
For a complete list of changes, refer to ChangeLog. This release
is primarily a bug fix release.
- libgerbv: fix leak and possible segfault in drill parser
- libgerbv: fix segfault in pick and place parser
- gerbv: add persistent keyboard accelerators and extra menu options
- gerbv: increase max zoom 4x to allow more accurate measurements
- libgerbv: fix bug which caused the drill parser to crash on an empty line
- gerbv: change F8 shortcut to F7 per GNOME HIG
- gerbv: add psuedo fullscreen mode
- gerbv: add ability to toggle sidebar visibility
- gerbv: speed up cairo rendering.
- libgerbv: improved detection of drill files (comment lines are now
ignored during file type detection)
- libgerbv: fix handling of trailing zero suppression with very large
precisions.
- examples: fix some of the example code showing how to use libgerbv.
- gerbv: fix gdk rendering of macro 22 elements with negative coordinates
- gerbv: fix tooltip for modify layer button
- libgerbv: fix handling of whitespace in the middle of an RS-274X command
- libgerbv: fix bug in exporting outline macros
- gerbv: unselect all items if a layer is hidden
- libgerbv: fix drill parsing when INCH has nothing after it
========================================================================
Release Notes for gerbv-2.4.0
========================================================================
The following is a summary of the changes which went into gerbv-2.4.0.
For a complete list of changes, refer to ChangeLog. This release
is primarily a bug fix release. A number of corner cases are handled
more smoothly now.
- libgerbv: fix bug parsing cirular moves with trailing zero suppression.
- libgerbv: catch null strtok results in the aperture parser. Causes
a more graceful failure when parsing bad input files.
- gerbv: fix a bug in the rendering of text in exported PDF files
- libgerbv: fix bugs in the file format recognition code
- libgerbv: allow the RS-274X parser to handle multiple blocks within
a single line per the RS-274X spec.
- gerbv: Fix sidebar bug displaying small scale and translations in X
- gerbv: Show the total aperture uses in the analysis tool
- gerbv: Fix regression in FAST mode rendering of flashed apertures
- libgerbv: If given an RS-274D file, create dummy apertures
- gerbv: Fix FAST mode translation error in Y
- libgerbv: Add #ifdef's to gerbv.h to allow use in a C++ program
- gerbv: Fix segfaults if trying to change orientation of an empty layer
- man page: Remove spurious line
- gerbv: Update some information in the "About..." dialog
========================================================================
Release Notes for gerbv-2.3.0
========================================================================
The following is a summary of the changes which went into gerbv-2.3.0.
For a complete list of changes, refer to ChangeLog.
- gerbv: fixed a minor arc rendering bug in fast mode
- gerbv: Make the svg/pdf/ps export use a 1:1 scale instead of
scaling to fit the page.
- configure: Always require cairo now since we make use of some of
the transformation functions even when using gdk rendering.
- gerbv: Fix a bug in the vertical scrollbar calculations.
- libgerbv: Fix a bug where apertures < 10 were potentially ignored in
some drill files
- gerbv: Fix clipping bug when viewing files with image offsets
- gerbv: Fix a bug whereclicking on the message tab caused the keyboard
accelerators stop working
- gerbv: Use a reasonable return code when doing command line processing.
- libgerbv: Improve the macro parser.
- libgerbv: Allow 0 degree rotation
- libgerbv: Fix some drill parser bugs
- libgerbv: Support the Excellon "R" (repeat) command
- testsuite: Add some tests for drill files
- libgerbv: Fix a bug in the Excellon export which sometimes dropped the first
element.
- libgerbv: Fix some additional Excellon export bugs.
- gerbv: Add the ability to rotate/translate layers
- libgerbv: Fix the pkgconfig file to include some needed dependencies.
========================================================================
Release Notes for gerbv-2.2.0
========================================================================
The following is a summary off the changes which went into gerbv-2.2.0.
For a complete list of changes, refer to ChangeLog.
- libgerbv: fixed a bug in the min/max calculation.
- libgerbv: improved the ability to parse drill files with
user specified formats.
- libgerbv: Compile with -no-undefined to make it easier to build
windows DLL's.
- configure: Improve detection of tools when cross-compiling.
- libgerbv: Improved example programs.
- gerbv: Changed desktop categories to be more consistent with
the rest of gEDA.
- common: Fixed compilation with SunPRO compilers
- libgerbv: Fixed calculation of pick and place bounding box
- gerbv: Added a rendering benchmark
- gerbv: Various rendering speed improvements
- common: Made an install be relocatable. This is always needed
for proper win32 operation and helps in some cases
on other operating systems. As part of this, improve
how init.scm is located at startup.
- gerbv: Improved the project file load/save dialog.
* Added ability to select objects, with the option of deleting or viewing
basic properties of the objects
* Split off the core functionality of gerbv into a library (libgerbv) to
allow developers to quickly write software using Gerber
parsing/editing/exporting/rendering functionality. Full DOxygen
documentation has also been created to facilitate developers wishing to use
libgerbv.
* Added export to RS274X and Excellon functionality, allowing gerbv to
translate files between formats. The RS274X export function can also be
used to "clean" troublesome files to a more compatible format.
* Added the ability to override the Excellon format "guessing", allowing
non-standard drill files to be correctly rendered
* Greatly expanded the command line functionality, including the ability to
panelize boards into a single one through the command line
* Added "Aperture usage" tab to Gerber reports. This allows the user to
see how often each aperture is used in all visible layers of his project.
Several notable bugs were squished in release 2.1.0:
* Fixed bug when exporting several layers to SVG/PDF/PS, which caused
corrupted output and/or crashes
* Fixed several Windows-only problems related to parsing and rendering
* Fixed rendering bug when using polygon objects within step and repeat
blocks
* Improved RS-274X export output format to work with certain Gerber viewing
software
Many updates including
- 100% of RS274-X is now supported
- cairo rendering which among other things gives printing to a printer, pdf,
png, ps, or svg.
- gnome/kde desktop integration
- added a regression test suite
- lots of rework of the gui.
All in all this is a major overhaul.
This release represents a point release incorporating a few patches made
against the 1.0.X source over the last 1 1/2 years. Specific updates
include:
* Incorporate changes from Joost Witteveen to support extended
%SR% commands.
* Fix endless loop bug when gerbv encountered an unknown
% code. Patch from Joost Witteveen.
* Fixed initial scale setting for %MOMM% Gerber files.
Patch from Joost Witteveen.
* Fixed format for small drillfiles. Patch from Trevor Blackwell.
* Fix setting of the initial window size when the screen
is larger than the display. Patch from David Carr.
Changes are:
* Removed all build support for GTK1.
* Dino Ghilardi fixed log.c (the last reminder of GTK1) so
log windows popup don't crash gerbv anymore.
* Dan McMahill added the GCC4 patch.
* Renamed stack_t to macro_stack_t to support darwin/MacOS X
pointed out by Daniel Mack.
* Changed build system to suit new autoconf/automake versions.
Caused gerbv not to find init.scm.
* Fixed a bug so gerbv can handle negative coordinates when using
trailing zeroes.
* Better checking of return values for errors.
* Use setlocale explicit so your locale doesn't screw up sscanf
and strtod to use comma (,) instead of dot (.).
* For distributions there is a new directory called desktop, where
gerbv.desktop and gerbv.png is stored for desktop settings.
Submitted to Debian bug list from Vassilis Pandis for Ubuntu.
* src/draw_amacro.c: Forgot to copy gc to local_gc
so drawing inherits gc from image wide setting.
Pointed out by Warren Young.
* src/gerbv.c: malloc strlen+2, not +1
* src/gerb_file.c: malloc len+1, not len
* src/draw.c: When drawing circles I ignored if circle
had inner diameter, which was pointed out by Harry Eaton.
Not anymore... Closes bug #1050340 in this branch.
* src/draw_amacro.c: Forgot to use local_gc when drawing some
of the primitive aperture macros. Closes bug #1051045.
* src/gerbv.c: If you tried to invert color of an unloaded layer
you got a segmentation fault. I think it was discovered by Juergen.
* configure.in, src/Makefile.am: Use libpng-config to find out
parameters to use in CFLAGS and LIBS.
* src/gerbv.c: Made sure that only list of short options is
printed when only short options are compiled in.
* doc/*, example/*: Makefiles.am removed Makefile.in wheh running
distclean. Not good. Spotted by Hamish Moffatt when packaging
for Debian.
* src/draw.c: In gerbers the image can be negative or positive.
Then a part of the image called a layer can be clear or dark.
-"No more weed for you, Mr Gerber".
Richard Lightman found this and submitted both an example and
a patch. Thanks!
* src/draw_amacro.c: When drawing thermals the cross ends in butt
instead of round which gives nicer look when thermal covers an
other via.
* src/gerber.c: Improved comments on what is going and why. Also
improved a little in determining the size of the image. Now it
ignores points with no aperture defined, unless it is a polygon
area.
* src/gerber.c: Removed two potential segfaults when running old
RS-274D format.
* src/gerber.c, src/batch.c, src/gerb_image.[hc]: Actually removed
all traces of MQ_END and MQ_START. That means that empty nodes
with only this information isn't saved, since the only time we need
this information is when parsing arcs. When an arc is parsed
the information wheter that arc is multi or single quadrant is
saved there. Also closes bug #942590.
* src/gerbv.c, src/gerbv_screen.h, src/gerb_image.c, src/gerb_image.h:
Added possibility to dump a parsed image as text to be able to
debug the parser.
* src/draw_amacro.c: By mistake I assumed that all aperture
macros had exposure flags, but that was a mistake. Drew Moore
pointed it out to me. Thanks.
* */.cvsignore, man/gerbv.1.in, src/gerbv.c: Minor updates and
cleanups from Dimitri. --help added for instance.
additions/changes since gerbv-0.15:
* projects: you can save and load setups in what I call projects.
* GTK+ 2 support
* Now you can invert a layer by the push of button. Basically.
* When gerber files were defined with omit trailing zeros, gerbv could
parse them very bad. Now it should work better.
* Aperture macros did not handle exposures at all. Now they do a better
work. Some thermals are defined from their CAD program as a sequence of
aperture macros instead of just using aperture macro 7. They are drawn
better now.
* Handles tool tables when drawing drill files thanks to Dimitri. See man
page for more info.
-- Release 0.15 --
2003-10-06 Stefan Petersen <spe@stacken.kth.se>
* src/draw_amacro.c: Drawing of aperture macro primitive 7 was
severly broken. Revealed by Drew Moore who sent an example
along. Thanks Drew! Closes bug #818307.
2003-09-28 Stefan Petersen <spe@stacken.kth.se>
* src/gerber.c: Patch from Peter Brueckner. Some Gerbers don't
have G04 but just G4. Peters patch fixes that for G- and M-codes.
2003-09-08 Stefan Petersen <spe@stacken.kth.se>
* src/gerber.c: Patch from Simon Munton to fix a problem with polygons
sometimes not being filled properly. Closes bug #800928 (which
he promptly had submitted).
* src/gerber.c: Another patch from Simon. This time it fixes
circular polygon outlines by with a number of short segments.
Closes bug #603183, which was almost a year old. Thanks Simon!
Changes since 0.13:
* Removal of the last inclusions of malloc.h after tips
from Charles Lepple.
* Some patch that fixed a problem for Larry Doolittle
* Error messages when running RS274D instead of
"crash-and-burn" (ie segfault).
* You cannot compile with backend anymore, switch is removed. In last
release this caused compilation error due to bit rot.
* Drawing of arcs is a constant headache. Mark Whitis found another
case that I had missed out. Clockwise arcs all of a sudden started
to be drawn as counter-clockwise.
* Arcs with very small angle differences could either be a complete
circle or a very small part of an arc. Calculating the angles with
integers wasn't sufficient, anyhow. They are now doubles all the way.
* Aperture macro primitive 1 was a _filled_ circle.
* Image rotate used to cause warnings that it wasn't implemented. Now
if the file has an image rotate on zero degrees there is no warning
(yes I've seen it).
* Dan McMahill discovered that if you tried to swap with an unused layer
gerbv segfaulted.
* Peter Monta submitted patch for incremental coordinates.
* No traces of Guile left...
Changes since last version:
* fixed bug which caused huge memory usage and crashing when zooming way
in to a layout
* Two bugs in aperture macros fixed; one caused "multi macro" macros not
to work properly and the other was related to primitive 20.
* The Debian build system discovered that I checked if unsigned were -1.
* Some cleanup/speedup when parsing Gerber by removing nested strncmp's
with a switch/case.
* RS274D caused segfault.
* If %SR%, %SF% and %AS% are defined to their default values the compiler
doesn't complain anymore. I still don't handle them if they are non
default values.
* In some strange corner case we managed to sometimes get spurious lines
showing up on the image.
* Strange drill files from Orcad386 handled better (we all know what Pitch
thinks about Orcad:-) ).
* Dino Ghilardi has contributed some code to be able to set the scale
explicitly. That can be used when printing PNG's generated by gerbv.
He has also written a text on how to actually get them out on the printer.
It is in doc/PNG-print/PNGPrintMiniHowto.txt.
* Round off when converting from inches to pixels changed so poured areas
built up by several lines now seems to fill. Before the change you could,
at certain zoom levels, see gaps that wasn't there.
Yet another bunch of bugs in different corner cases of Gerber files
has been fixed. Many fixes in polygon area fill, some fixes in calculating
circles, a statically allocated array caused strange stray segfaults when
drawing aperture macros.
A bunch of new command line switches. Most important are:
* --display: use as in all other X-programs, ie open window from a remote
computer.
* --geometry: Sets the geometry. Usually gerbv guess the resolution of
your window and sets the window size accordingly. If you for instance
have a bigger virtual window than actual screen the window can get quite
big. With this switch you can override with for example --geometry=400x300
Fixes in drill file parser. Many drill files don't have drill sizes in them,
else perfectly valid files. Pitch fix makes gerbv parse drill files even
though they don't have drill sizes defined, but under protest.
Greatest fix of them all. Super imposing. Handles paint-scratch-paint
more proper. Changed dramatically how different layers are drawn "on
top of each other".
bug fixes: A couple of apertures drawn wrong has been fixed, like
lines with square apertures and rotation of aperture macro primitive 4.
new features: Zoom outline and the measurement tools. You can also export
the image as PNG,
Graphical quirks fixed are:
- zooming around the mouse pointer.
- zooming several steps at once goes much faster. No calculation and
redrawing in each zoom step, but in the last step.
When you click with the left mouse button on a layer button you
get a popup menu with color selection, load file and unload file.
That is on a "per layer-basis". The "global" "Open File..." menu is
removed in favor for this.
changes since 0.0.5:
- Turn on and off explicit layers.
- Color on button reflect color on layer.
- Automatic detection of drill- or gerber file.
- Tooltips over buttons to reflect loaded filename.
- Handles Polygon Area Fill
- Major rehacking of file IO and pan code to significantly
increase speed.
- Autoscaling. Loaded gerber files are automagically scaled and
panned to fit in window. Also possible to do with loaded files
with Zoom/Fit meny option.
- configure.in enhancement to support package building in Red Hat.
Thanks to Wojciech Kazubski for patch.
- bzero changed to memset, which hopefully is more POSIX (for portability).
- Loads of bugs squashed and hopefully fewer added.
Gerber Viewer (gerbv) is a viewer for Gerber files. Gerber files
are generated from PCB CAD system and sent to PCB manufacturers
as basis for the manufacturing process.
The different layers of the PCB are separated into different files.
gerbv can load all files at the same time, though it can not show
them at the same time. You have to browse through the different layers
with the radio buttons on the right side.