Releases: freerouting/freerouting
Freerouting v1.9.0
Many things improved since the last release including bug fixes and improvements, and I would like to highlight just a few:
Global settings file (freerouting.json)
We now have a global freerouting.json
file stored in the temp folder for all the defaults that we use. They don't cover all the settings we have just yet, but you can still have more control over the processes than before. Command line arguments can override them, just like before. Freerouting now can remember your the default folder from where you opened your last board, yay!
Modern, KiCad-like color schema
The color schema was modified to match KiCad good-looking, more modern look:
Analytics
Added Segment's Analytics framework to the code, so we finally can get insights from anonymous usage statistics. This is a crucial step moving forward, because the plan is to have a feature reduction release in the near future, where we can get rid of all the functions that are not used by you. You can disable this by using the -da
command line argument.
Various changes
We fixed a few issues with keepouts, component rotation and snapshot files, added more robust 2+ layer support, automated version checking, new dialog boxes (with -dct
command line argument to set the timeout), fixed high DPI texts, fixed KiCad plugin issues (including on-demand JRE installation) and compile time warnings.
All in all this release is packed with good stuff!
What's Changed
- Run checkjava.py as a script by @maksz42 in #203
- Update Gradle from 7.3 to 8.2 by @maksz42 in #216
- Refactor by @maksz42 in #224
- Don't hardcode JRE version in KiCad plugin by @maksz42 in #201
- Fix: don't use deprecated Character constructor by @kikaitachi in #233
- Fix: make units and status bar readable on HiDPI monitor by @kikaitachi in #232
- Search for JPanel in optionPane that contains the buttons by @daniel-theia in #220
- Bump com.github.ben-manes.versions from 0.46.0 to 0.49.0 by @dependabot in #231
- Bump org.apache.logging.log4j:log4j-core from 2.20.0 to 2.21.1 by @dependabot in #236
- Bump org.apache.logging.log4j:log4j-api from 2.20.0 to 2.21.1 by @dependabot in #235
👍New Contributors
- @maksz42 made their first contribution in #203
- @daniel-theia made their first contribution in #220
- @kikaitachi made their first contribution in #233
- @NirmalChauhan updated the Hindi translation
- @rockingdemon updated the Russian translation
🥇Donors
I also would like to thank all of our donors: @Digilent, @cpyne and @rozza-m! (see #177 for details)
Full Changelog: v1.8.0...v1.9.0
Freerouting v1.8.0
Improved clearance handling, automatic snapshots, new "delete all tracks and vias" feature, loading errors and warnings dialog, KiCad plugin script update, DSN buffer increase and updated translations.
What's Changed
- Option to configure routing parameters before scripted routing @andrasfuchs
- More detailed error and warning report for the DSN file loader @andrasfuchs
- Automatic snapshot support @andrasfuchs
- Add "delete all tracks and vias" feature @andrasfuchs
- jumper layer handling @andrasfuchs
- Redirect errors to stderr @andrasfuchs
- JRE installer script for KiCad plugin @andrasfuchs
- DSN file reader buffer to 16M @andrasfuchs
- Update translations @andrasfuchs
- Update and fix application icon @andrasfuchs
- Remove deprecated Jave Web Start references @andrasfuchs
- Improve Java version checking by @Riesi in #169
- Fix UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 ... by @GeminiServer in #168
- Bump com.github.ben-manes.versions from 0.45.0 to 0.46.0 by @dependabot in #173
- Bump org.apache.logging.log4j:log4j-core from 2.19.0 to 2.20.0 by @dependabot in #174
- Bump org.apache.logging.log4j:log4j-api from 2.19.0 to 2.20.0 by @dependabot in #172
New Contributors
- @Riesi made their first contribution in #169
- @GeminiServer made their first contribution in #168
Full Changelog: v1.7.0...v1.8.0
Freerouting v1.7.0
Fixed issues with clearances, Java 19, KiCad plugin Java version check and updated the Chinese translations.
What's Changed
- Fixed the clearance violation problem when route optimizer run in a multi-threaded mode @andrasfuchs
- Fixed the issue caused by Java 19 @andrasfuchs
- KiCad plugin prevented the installation because of incorrect Java version detection @andrasfuchs
- Added application icons to all windows and added window size restrictions where it made sense @andrasfuchs
- Updated Simplified Chinese Translation by @taotieren in #164
- Bump com.github.ben-manes.versions from 0.44.0 to 0.45.0 by @dependabot in #165
New Contributors
- @taotieren made their first contribution in #164
Full Changelog: v1.6.5...v1.7.0
Freerouting v1.6.5
Added translations for Hindi, Spanish, French, Arabic, Bengali, Russian, Portuguese, Japanese, Korean.
Integrations for KiCad, EAGLE and Target3001! are now stored in this repo, in the integrations folder.
Fixed a DSN file reading issue and added -dl
command line argument to disable logging.
What's Changed
- Add translation files for Hindi, Spanish, French, Arabic, Bengali, Russian, Portuguese, Japanese, Korean @andrasfuchs
- Add integrations @andrasfuchs
- Disable logging for KiCad integration by default @andrasfuchs
- Update Network.read_net_pins() to handle DSN files exported from eagle by @Rezer in #147
- Remove bintray publishing @andrasfuchs
- Bump log4j-api from 2.18.0 to 2.19.0 by @dependabot in #142
- Bump log4j-core from 2.18.0 to 2.19.0 by @dependabot in #141
- Bump com.github.ben-manes.versions from 0.42.0 to 0.44.0 by @dependabot in #154
New Contributors
Full Changelog: v1.6.2...v1.6.5
Freerouting v1.6.2
This is mainly a bugfix and performance improvement release.
Freerouting needs Java developers, UX/UI designers and translators (see #127) to be able to continuously evolve.
Please read #81 and consider joining/supporting the project!
What's Changed
- Minor improvements on the GUI/CLI by @leoheck in #120
- Mitigate the issue with easyEDA component naming by @andrasfuchs
- Decrease GPU usage while running the auto-router and route optimizer by @andrasfuchs
- Fix an issue with clearance values by @andrasfuchs
- Fix "-l en" language change bug by @andrasfuchs
- Supplement German and Chinese translations by @andrasfuchs
- Reformat the whole codebase to comply with Google Java Style by @andrasfuchs
- Bump log4j-core from 2.17.2 to 2.18.0 by @dependabot in #125
- Bump log4j-api from 2.17.2 to 2.18.0 by @dependabot in #124
- Bump net.nemerosa.versioning from 2.15.1 to 3.0.0 by @dependabot in #112
Full Changelog: v1.6.1...v1.6.2
Freerouting v1.6.1
This is a hotfix release of v1.6.0 that fixes the bug #118 on systems with Chinese and German language settings.
What's Changed
- Hotfix for #118 by @andrasfuchs
Freerouting v1.6.0
This release have a new feature that allows users to tell autorouter to skip a net-class. This can be useful for example if you want to manually connect components to GND, VCC after freerouting finished. You have this option in the GUI in the Rules / Net Classes / "ignore by autorouter" column, or you can use the new "-inc" command line argument to set those net classes. E.g. -inc GND,VCC
tells the autorouter to not route the connections in the GND and VCC net classes.
The autorouter parameters were slightly modified to improve the end results. It causes the algorithm to run a little longer, but our tests confirmed that it is a reasonable tradeoff. To run the autorouter indefinitely, use the -oit 0
command line argument.
We moved from Java 11 to Java 17.
DSN file reader was upgraded to handle non-ANSI (Cyrillic, Chinese, etc.) characters.
From this release on macOS installer package is not supported. Freerouting still works on macOS by using the .jar release, but it needs a Java 17 runtime to be installed. If someone who 1, has a Mac and 2, is a member of the Apple Developer Program has the time to work on the macOS installer, let me know.
As always, this release contains many small fixes and improvements.
Freerouting needs Java developers, UX/UI designers and translators to be able to continuously evolve.
Please read my post about the situation and consider joining/supporting the project!
What's Changed
- Add "ignore net classes" feature by @andrasfuchs
- Add warning if multiple boards are defined in DSN by @andrasfuchs
- Add logic to stop an endless loop if there is too little change by @andrasfuchs
- Updated repo's README to reflect recent changes by @andrasfuchs
- Non-ANSI character handling in DSN files by @andrasfuchs
- Move from Java 11 to 17 (LTS) by @andrasfuchs
- Fix GitHub Action scripts by @andrasfuchs
- Move Via and Padstack instantiation after Network parsing by @erichVK5
- Bump com.github.ben-manes.versions from 0.41.0 to 0.42.0 by @dependabot in #95
- Bump log4j-core from 2.17.1 to 2.17.2 by @dependabot in #104
- Bump log4j-api from 2.17.1 to 2.17.2 by @dependabot in #105
Full Changelog: v1.5.0...v1.6.0
Freerouting v1.5.0
This release contains improvements and bug fixes, including language detection and Chinese translations, multi-threading locking issue fix, KiCad plugin update, and package updates. Please note that our KiCad plugin update is still waiting for approval from the owner of its repo.
With this release we have performance improvements too, including the multi-threading route optimizer and its fine-tuned settings that can lead to huge time savings. The tuned values are based on test data, detailed here.
We have a few new command line parameters:
- -oit [percentage]: stops the route optimizer if the improvement drops below a certain percentage threshold per pass. Default is 0.1%, and 0% means to continue improving until there are no more route options to test.
- -im: saves intermediate steps in version-specific binary format. This allows to user to resume the interrupted optimization from the last checkpoint. Turned off by default.
- -h: shows help.
Freerouting needs Java developers, UX/UI designers and translators to be able to continuously evolve.
Please read my post about the situation and consider joining/supporting the project!
What's Changed
- Add -oit parameter to stop route optimization below a certain percentage gain by @andrasfuchs
- Add -h / -help command line argument by @andrasfuchs in #89
- Add -im parameter to enable intermediate stage saving for long-running jobs by @andrasfuchs
- "-mt 0" parameter now skips the route optimizer by @andrasfuchs
- Chinese translation by @nfwq666ya and @andrasfuchs in #92
- Fix the multi-threading soft-lock by @andrasfuchs
- Set the icon for the startup window by @andrasfuchs
- Change module and package name by @andrasfuchs
- Update freerouting KiCad plugin PR by @ReportX and @andrasfuchs
- Add freerouting KiCad integration plugin as a submodule by @andrasfuchs
- Update workflows to save resources by @andrasfuchs
- Bump log4j-api from 2.14.1 to 2.17.1 by @dependabot in #84
- Bump log4j-core from 2.14.1 to 2.17.1 by @dependabot in #87
- Bump com.jfrog.bintray from 1.8.4 to 1.8.5 by @dependabot in #86
- Bump junit from 4.10 to 4.13.2 by @dependabot in #90
- Bump net.nemerosa.versioning from 2.8.2 to 2.15.1 by @dependabot in #88
- Bump com.github.ben-manes.versions from 0.13.0 to 0.41.0 by @dependabot in #85
- Remove inline copyright notes and update package name by @andrasfuchs in #91
Full Changelog: v1.4.5.1...v1.5.0
Freerouting v1.4.5.1
This is a hotfix release that fixes a fatal error when the board didn't have vias and/or tracks.
What's Changed
- Avoid division by zero (fixes issue #72) by @VicSanRoPe in #75
New Contributors
- @VicSanRoPe made their first contribution in #75
Full Changelog: v1.4.5...v1.4.5.1
Freerouting v1.4.5
The main improvement in this release is the speed of the route optimizer, now we can use all of our CPU cores to get better results.
What's Changed
- Implementation and documentation of multi-threaded routing optimization by @UAV-Pilot in #64
- Fix component outlines getting out of sync when dragging. by @sliedes in #40
- Fix old links by @Snack-X in #28
- Route optimizer evaluation @andrasfuchs
- Update GitHub Actions build scripts @andrasfuchs
- Distinguish auto-router and route optimizer passes on the GUI's footer @andrasfuchs
- Fix a two bugs related to the -mp and -mt parameters @andrasfuchs
- Log cleanup @andrasfuchs
- Add descriptions for running Freerouting on Windows 32-bit and Apple M1 @andrasfuchs
New Contributors
- @Snack-X made their first contribution in #28
- @sliedes made their first contribution in #40
- @UAV-Pilot made their first contribution in #64
Full Changelog: v1.4.4...v1.4.5