Skip to content

Releases: pcb2gcode/pcb2gcode

Development Build

28 Nov 21:38
2278a9a
Compare
Choose a tag to compare
Development Build Pre-release
Pre-release

Commits

  • e93ebb8: Don't generate "SEE ALSO" Texinfo boilerplate in man page (Christopher Masto) #685

v2.5.0

12 Sep 16:54
368f098
Compare
Choose a tag to compare

Features

Bug Fixes

  • Stop using CascadedUnion due to deprecation in geos 3.10 #594 (eyal0)
  • Check for deprecated rsvg_handle_render_cairo #595 (eyal0)
  • Specific boost::make_optional because it clashes with std::make_optional #595 (eyal0)
  • rsvg_handle_get_dimensions deprecated, use rsvg_handle_get_intrinsic_size_in_pixels instead #595 (eyal0)
  • don't warn when rounding by less than 1 micro-inch (#597) #597 (Martin Schuster)
  • Don't round bits that will be milldrilled. #632 (eyal0)

Styles

  • Remove unnecessary flags from AM_CPPFLAGS #595 (eyal0)
  • Whitespace in ExcellonProcessor::optimize_bits #632 (eyal0)

Tests

  • Use absolute size in gerberimporter_tests SVG #595 (eyal0)
  • Add drills larger than the min-milldrill-hole-diameter #632 (eyal0)

Builds

Continuous Integration

  • Check gerbv version for updates #589 (eyal0)
  • Temporarily disable Windows CI until it is fixed #598 (eyal0)
  • Display the build info a little earlier in CI #595 (eyal0)
  • Use bash_profile instead of GITHUB_ENV #595 (eyal0)
  • Re-enable Windows in CI #595 (eyal0)
  • Ignore warnings from gtk for windows #595 (eyal0)
  • Update to libgeos 3.11 #595 (eyal0)
  • Fix release environment variables #599 (eyal0)
  • Don't brew unlink parallel #601 (eyal0)
  • Remove specific boost version from macos and windows builds #614 (eyal0)
  • Temporarily disable macos and windows CI. #615 (eyal0)
  • Check the geos commit hash #617 (eyal0)
  • Re-enable windows build #616 (eyal0)
  • Use fewer CPUs on Windows #621 (eyal0)
  • Only package release if the file exists. #634 (eyal0)

Commits

  • dba66d2: Fix "Can't compare with units and without." exception (Nicola Di Lieto) #584
  • a266da6: Fix autoleveller output format (Nicola Di Lieto) #583
  • 45b5bf7: Delete ISSUE_TEMPLATE.md (Eyal)
  • bff0304: Update macos boost to 1.76 (Eyal) #585
  • 2f226e6: add a link to insolante in the readme (jacen92) #586
  • 5702c77: Use geos3.10 in CI. (eyal0) #596
  • fe3ca6a: Ignore warnings from gtk for macos (eyal0) #595
  • 30183cb: isystem for all system includes (eyal0) #595
  • d9bbcfb: Add build dependencies to windows CI build (eyal0) #602
  • 0da1d07: Add missing G53 for absolute zchange in milldrill. (François-Xavier Bourlet) #611
  • f7b93da: don't include .inl files (eyal0) #617
  • fc775ca: updated man page + included script to automatically generate man page (Bernhard B) #623
  • 9a16351: Don't check zsafe against zchange when zchange-absolute (Pierre Clerissi) #625
  • 2e24e54: Need program_options for tests (eyal0) #628
  • 407316e: Make gtk a system header, too, on linux (eyal0) #628
  • 68d7356: Test for geos++ specifically (eyal0) #628
  • 316a8aa: Temporarily disable windows. (eyal0) #628
  • e09f31c: Split up the release steps by OS. (eyal0) #629
  • b980508: Increment version to 2.5.0 (eyal0) #633

What's Changed

  • Fix "Can't compare with units and without." exception by @eyal0 in #584
  • Fix autoleveller output format by @eyal0 in #583
  • Update macos boost to 1.76 by @eyal0 in #585
  • Introduce Insolante in the readme by @jacen92 in #586
  • ci: Check gerbv version for updates by @eyal0 in #589
  • fix: Stop using CascadedUnion due to deprecation in geos 3.10 by @eyal0 in #594
  • Use geos3.10 in CI. by @eyal0 in #596
  • ci: Temporarily disable Windows CI until it is fixed by @eyal0 in #598
  • ci: Use path-inherit and simplify msys2 shell by @eyal0 in #595
  • ci: Fix release environment variables by @eyal0 in #599
  • fix: don't warn when rounding by less than 1 micro-inch by @schumar in #597
  • ci: Don't brew unlink parallel by @eyal0 in #601
  • Add autoconf to windows CI build by @eyal0 in #602
  • feat: Support multiple config files by @eyal0 in #607
  • Add missing G53 for absolute zchange in milldrill. by @eyal0 in #611
  • ci: Remove specific boost version from macos and windows builds by @eyal0 in #614
  • build: new boost.m4 by @eyal0 in https://...
Read more

v2.4.0

11 Apr 05:38
Compare
Choose a tag to compare

Bug Fixes

  • Don't use path finding for the outline #574 (eyal0)
  • Use backtracking limit in path_finding #573 (eyal0)
  • Close unclosed contours #578 (eyal0)

Documentation

  • Add images to demonstrate silk lines (eyal0)

Tests

  • Add a new example board #575 (eyal0)
  • Add example_board_new to integration tests #575 (eyal0)
  • add test case for mirror y #572 (eyal0)
  • Improve coverage for mirror-yaxis option #572 (eyal0)

Commits

  • [df7f7e4]: Add option to apply mirroring to the Y axis (vicencb) #572
  • [86788c5]: Merge branch 'example_board_new' into HEAD (eyal0) #572
  • [b8be116]: Fix typo (Eyal)
  • [b3f55dd]: Update issue templates (Eyal)
  • [ed67bef]: Increment version to 2.4.0 (eyal0)

v2.3.1

08 Apr 05:27
Compare
Choose a tag to compare

Bug Fixes

  • Use a spike mask instead of line intersections. #561 (eyal0)

Performance Improvements

  • Only mask when there's no mask if no voronoi #560 (eyal0)
  • Use shrunken voronoi to decrease milling #555 (eyal0)

Continuous Integration

  • Remove valgrind from clang runs #559 (eyal0)
  • Use halt soon instead of halt now #558 (eyal0)
  • Use eyal0/valgrind #564 (eyal0)
  • Coveralls requires flag-name for parallel ci now #569 (eyal0)
  • Fix cache saving using restore-key #568 (eyal0)
  • Remove gcc 7 from the CI #570 (eyal0)
  • autoconf is already installed on macos #570 (eyal0)

Commits

  • [5784c09]: Use unique_ptr for gerbv_project_t (eyal0) #551
  • [3596f54]: Revert "ci: Remove valgrind from clang runs" (eyal0) #565
  • [4ee5fe4]: Set theme jekyll-theme-cayman (Eyal)
  • [b05c958]: Set theme jekyll-theme-cayman (Eyal)
  • [f96206c]: Set theme jekyll-theme-merlot (Eyal)
  • [cf9c618]: Set theme jekyll-theme-time-machine (Eyal)
  • [0f1f926]: Set theme jekyll-theme-minimal (Eyal)
  • [e34fc0e]: Increment version to 2.3.1 (eyal0)

v2.3.0

19 Feb 04:27
Compare
Choose a tag to compare

The new path-finding is faster but it also does more. For most designs you'll see a speed-up and some milling with lots less retracting. Only for very large designs the processing might slow down. Either way, you'll more than make up for it in time saved while milling.

Features

  • Perform path finding on all milling #540 (eyal0)

Styles

Code Refactoring

Performance Improvements

Tests

Commits

v2.2.3

13 Feb 02:57
Compare
Choose a tag to compare

Many performance improvements have improved performance since v2.2.2 by about 57%.

Code Refactoring

  • Add common to_geos and from_geos functions #528 (eyal0)
  • Remove temporary variable in offset_polygon #534 (eyal0)
  • Remove all usage of new #538 (eyal0)
  • Use test tables for gerberimporter tests #544 (eyal0)

Performance Improvements

  • Use sum and symdiff in gerberimporter #531 (eyal0)
  • Do fewer polygon ops #534 (eyal0)
  • Don't buffer twice to find the thermal offset #534 (eyal0)
  • to_geos/from_geos without using WKT #541 (eyal0)

Tests

Continuous Integration

  • Use nested groups for examples #539 (eyal0)
  • Halt examples on first failure #542 (eyal0)
  • Show errors when check or check-valgrind fail #543 (eyal0)

Commits

  • [b6d9455]: Use a box_type instead of {min,max}_{x,y} (eyal0) #515
  • [19888e1]: Remove unused offset calculations (eyal0) #517
  • [a0f7eec]: Ignore empty outline files (eyal0) #516
  • [87f209c]: Refactor PathSurface to compute fewer vertices (eyal0) #519
  • [3b3855f]: Save a step in PathFindingSurface constructor (eyal0) #520
  • [773db83]: Use the default comparison for point_type_fp in PathFindingSurface (eyal0) #520
  • [9421e60]: Use a faster and more accurate intersection algorithm (eyal0)
  • [dd03ed1]: Use geos for buffering of linestring (eyal0)
  • [5bbf9e3]: Don't merge_multi_draws twice. (eyal0) #525
  • [070576e]: Remove unused function. (eyal0) #525
  • [7468f15]: Clean up some invalid operator combinations. (eyal0) #529
  • [246bc23]: Use xor in simplify cutins (eyal0) #530
  • [f4a4855]: Redirect output of time in CI (#533) (Eyal) #533
  • [c082810]: Upgrade CI to Geos 3.9.0 (eyal0) #532
  • [3ff78b4]: Move to_geos and from_geos to geos_helpers (eyal0) #531
  • [0adc623]: Add sum and symdiff functions for vectors (eyal0) #531
  • [2ab7ea7]: Use sum in moire and step and repeat (eyal0) #531
  • [62e3d7f]: Increment version to 2.2.3 (eyal0)

v2.2.2

17 Jan 19:44
Compare
Choose a tag to compare

Commits

v2.2.1

12 Jan 07:02
Compare
Choose a tag to compare

Commits

  • [8d84c0a]: Return the note about Windows releases (eyal0)
  • [7911220]: Fix maybe-uninitialized (eyal0) #508
  • [2a228f7]: Unify the CI for Windows and the rest into one (eyal0) #508
  • [1b05665]: Clamp autoleveller output (eyal0) #510
  • [8a0f8a4]: Increment version to 2.2.1 (eyal0)

v2.2.0

07 Jan 00:59
903774f
Compare
Choose a tag to compare

Commits

  • [10f8e05]: Check for null drill_unit from gerbv. (eyal0) #449
  • [6066fe1]: Add sharp_corner_2_offset test, preparing for --offset feature (eyal0) #436
  • [a6fba12]: Add offset feature (eyal0) #436
  • [331767d]: Set offset in example (eyal0) #436
  • [b8b79cc]: remove dpi option (chenrui) #450
  • [a4f7c92]: remove outline-width option (chenrui) #450
  • [d5ab3a5]: Put back the implicit value for optimise (eyal0) #452
  • [7b00cfa]: Add a timeout for check-syntax. (eyal0) #459
  • [2854126]: Add a templated flatten function (eyal0) #461
  • [34fc901]: Add segmentize::unique(). (eyal0) #462
  • [6daf47b]: Refactor extra_passes calculation (eyal0) #457
  • [f6121b4]: Use larger overlap if it is sufficient to cover the isolation width (eyal0) #457
  • [4e7e303]: Add test for offset path finding (eyal0) #464
  • [a39224e]: Forgot to use the offset in path finding (eyal0) #464
  • [e075696]: Put svg_writer in a different file (eyal0) #463
  • [6346b09]: Put the bg_helpers function into bg_helpers.cpp (eyal0) #463
  • [9f0c3ba]: Split helpers into helpers and operators (eyal0) #463
  • [b2e515d]: Remove a redundant operator (eyal0) #463
  • [8e76b2e]: Reorganize bg_operators.cpp (eyal0) #463
  • [ed08e9a]: Reorganize bg_operators.cpp (eyal0) #463
  • [8c0a591]: Remove a redundant operator (eyal0) #463
  • [9d08ee1]: Remove a redundant operator (eyal0) #463
  • [a6368ea]: Remove a redundant operator (eyal0) #463
  • [dbd015c]: Remove a redundant operator (eyal0) #463
  • [25b6cb9]: Remove a redundant decl (eyal0) #463
  • [33f013b]: Remove a redundant operator (eyal0) #463
  • [7a42e5d]: Remove void version of buffer (eyal0) #463
  • [7524539]: Remove void version of buffer (eyal0) #463
  • [1aa4eec]: Remove void version of buffer (eyal0) #463
  • [d0cdc7d]: Limit spike length to the nearest trace. (eyal0) #460
  • [3e6b6bf]: Use unordered_map instead of map. (eyal0) #448
  • [aec3629]: Use unordered_multiset instead of multiset (eyal0) #448
  • [f4f0c9c]: Suggest that the hash functions be inline (eyal0) #448
  • [68cca9d]: Use buffer with miter corners where possible to improve performance (eyal0) #466
  • [1879336]: Make the keep_out mandatory in path finding. (eyal0) #466
  • [f0487a8]: Use a single path_finding surface per tool instead of one per trace. (eyal0) #466
  • [0172b81]: Remove unused buffer function (eyal0) #466
  • [a9d3d87]: Remove all icoords, icoordpairs, etc. (eyal0) #467
  • [a80d171]: Remove unused functions (eyal0) #467
  • [1cb9dcd]: Require geos 3.8.1 (eyal0) #468
  • [f136aa1]: Allow bridges to wrap around corners. (eyal0) #458
  • [842564d]: Remove message about failing to add bridges (eyal0) #458
  • [d648791]: Sort outline cuts from shortest to longest instead of using TSP (eyal0) #471
  • [22379ee]: Remove deprecated set-env (eyal0) #480
  • [4d1c8b6]: Upgrade to python3 and boost 1.73 for macos (eyal0) #480
  • [dbf463e]: Ignore GTK 2.0 warnings (eyal0) #480
  • [ca791db]: Rebuild integration test outputs (eyal0) #480
  • [3e52ce9]: fix integration test output for unicode (eyal0) #481
  • [abafbab]: Unify tool output between milling and drilling (hannesweisbach) #476
  • [[b71e2f2](https:...
Read more

Version 2.1.0

26 Jun 16:58
Compare
Choose a tag to compare

Lots of new features and fixes since 2.0.0, which was over a year ago. Some highlights:

  • Improved performance around the parsing of gerber files. #288
  • Path finding to allow the mill to search for ways to connect milling paths without lifting the tool, when its faster. #285
  • --invert-gerbers flag so that you can mill out traces instead of milling around them, like if you want to attach a marker and draw on a transparency. #292
  • All options explained in the Wiki.
  • Draw gerber lines as lines, so you can attach a pen and draw your silk layer on to your PCB. #303
  • Remove the old, non-vectorial surface. #309
  • Switch from TravisCI to Github actions because it's faster. #375
  • Clean up lots of errors and warnings and now build with pedantic warnings. #364
  • Improve support for milling thermals. #400
  • Add backtracking to improve milling speed. #418 #427
  • Make milling paths that try to have fewer turns so that paths are straighter. #433
  • Add "spikes" to fill in gaps when extra passes are requested. #439
  • GEOS support. If you have libgeos installed, pcb2gcode will use it and it may fix problems in some cases. #443