LightBurn v2.0.00-RC4 Release Candidate

Release Candidate 4 of LightBurn 2.0.00 is now available here:

Important Notice on System Compatibility

Starting in 2.0, LightBurn supports only Windows 10 (and higher) or macOS 11 (and higher) operating systems. Linux operating systems are no longer supported.

2.0 will be the final release that supports macOS 11 — subsequent releases will require macOS 12 (and higher).

You will always be able to use the most recent version of LightBurn that is compatible with your operating system and was released within your license’s valid update period. To download an earlier version of LightBurn that is compatible with an outdated operating system, visit our release repository.

This build includes the following updates:

Changes Since LightBurn-v2.0.00-RC-3

Infrastructure

  • Remove extraneous debugging from CI pipeline
  • Remove old Qt cache builder
  • Updated trial extension endpoint URL
  • Cleanup how Qt build types are determined
  • Qt changed the installer URLs :frowning:
  • Current version data now stores fallback installer versions as well as min OS version (#799)
  • Fixing release-set-current function
  • Update Qt install to include Qt Creator because it was removed from default

Bug Fixes

  • Clarifying and updating behavior of the device size mismatch dialog (#768)
  • Using Go To X=0 Y=0 would not move X/Y coordinates if using non-relative movement. (#769)
  • Select smaller than shouldn’t include locked or hidden shapes
  • Red-light always on wasn’t triggered on connect for BSL devices
  • Correctly update sizing of Node Edit toolbar
  • Fixed preview line color visibility.
  • Doing a crosshair update when pressing the “Get Position” or “Go To” buttons.
  • Cut settings overscan value now updates correctly as overscan % spinbox value is changed.
  • Isolated variables when doing a simple command query instead of using the templating for custom gcode. (#778)
  • Image resampler wasn’t handling a couple out-of-bounds cases (#786)
  • DEV-1187 add ratio2 to copy constructor (#785)
  • Hide all panels on F12 (#784)
  • DEV-978 resolve MM crash-on-exit.
  • Move the tool indicator in the edit window when jogging with buttons and not just keyboard moves. (#792)
  • Preview color for Traverse/Move does not match previous LightBurn versions.
  • Fixed issue with saving theme selection on MacOS.
  • Custom gcode string variables access was incorrect.
  • When editing an existing virtual array, need to set the shape copy callback
  • PointIntersectsCurve() had precision issues and could false trigger (#800)
  • PointIntersectsCurve had precision issues and could false trigger
  • Attempting to resolve the signing issue again.
  • Consistency check was firing when running debug builds
  • Display name of device was getting nuked in wizard when changing other values (#798)
  • Bundle import would warn if the file was created by a later Major Version Number, but not Minor.
  • DEV-1140 distinguish between ToolState and ToolSettings in movelaserwidget. (#805)
  • Fixed taper warp parallelogram case, also tripled the speed
  • Star shapes wouldn’t select if grouped and moved (#813)
  • Keeping the laser fire state while using the Go To button
  • Adding missing key adjustments for the jogging distance on Z axis
  • Trim tool could mangle open compound paths
  • Auto-Join now also tries to close shapes, Close() wasn’t setting the “ClosedDirty” flag
  • Fixing the jogging issues for GCode machines (#782)

User Interface Updates

  • Material library icons now use theme colors.
  • Revert Dark theme preview colors to default.

Miscellaneous

  • Update references to FTDI driver in installers
  • Limit installer from running on unsupporrted Windows versions
  • Added consistency check comments
  • Emit the entered license key to debug because sometimes it has incorrect characters (#817)

Language Updates

  • Add Ukranian translation
  • Update translations

New Features

  • Emblaser Pro laser focus calibration wizard
  • Emblaser Pro firmware upload process requires manual reset step

Code Refactors

  • Updated the anti-piracy measures.
  • Cleaned up some things as I came across them.

Existing Feature Updates

  • Don’t keep empty flattened shapes
  • Faster deform output for bitmaps
  • Updated rotary images for Boss lasers (#815)
  • Node edit now highlights closed paths with a bright green start/end node

Other Changes Since LightBurn-v1.7.08

Bug Fixes

  • ENG.Tool.pos was set to WPOS instead of MPOS (#606)
  • Missing LB_LASER definition
  • ArtLibrary replace and rename were swapped
  • XTool gcode output in mm only (#621)
  • Galvo rotary / continuous marking would freeze because of an incomplete state setting
  • ToolState (jog speed, dist, etc) weren’t being restored properly
  • Spelling & Grammar fix for Messagebox when attempting to adjust image with pass-through enabled.
  • Jogging from move/control panel now works in relative and absolute mode (#630)
  • Prevented Use Selectoion Origin setting being shown when in beginner mode.
  • Converting float to String missing in Protocol_Gcode_Base::JogStart.
  • Grouped masks when grouped with the masked image didn’t save correctly (#640)
  • Tabs in grouped shapes were not immediately generated
  • BSL corfile wasn’t being correctly loaded
  • Make sure Move panel always shows up by default (#643)
  • Changed the way Message boxes determine which option was selected so the correct result is returned in both Qt5 and Qt6.
  • Ensure settings dialog always opens on first tab
  • Virtual Camera on MacOS were crashing DEV-824
  • Jogging checks for gcode devices
  • ShowTwoChoices was configured only for Qt5 responses
  • Barcode shape was leaking memory
  • Extreme perspective overhead cameras were breaking new overlay reprojection (#662)
  • Fixed crash from UCCNC not having a comms thread
  • Preload sound effects and just trigger them when needed
  • Live font update while selecting in combo box for Qt6
  • Parse GRBL position correctly when reporting in inches.
  • When parsing a DXF, handle CR/LF in either order, BUT properly handle blank lines (2nd instance is not skipped)
  • Prevent crash when setting freq > 1000kHz on BSL cards
  • Don’t try to remove overlapping lines on offset fills
  • XTool’s parser is broken, so always emit X & Y values when cutting
  • Ctrl+Click for node edit is more consistent, double-click no longer deselects all, removed some debug output
  • Fixed settings and cut settings layouts
  • Multi-action button timer-popup would leave button un-checked if the user cancelled out of the menu
  • Call ENG.Initialize() after construction to connect signals
  • Fixed some spacing issues with Device Settings window
  • Fill core_machinecontrol for spindle, coolant, and vacuum (#682)
  • Lazy fix backup text path orientation so sharing works (#681)
  • Fixed column spacing for frame dialog
  • Reverted New Device Wizard style setting back to Aero
  • Added support for AI / PDF files with null objects
  • Don’t allow Trim (scissors) on locked shapes
  • DXF inline MTEXT height was not applying unit scaling (wrong font height sometimes)
  • Using cylinder correction with global passes could cause part of the path to be skipped
  • Dev units were not always getting properly set on first app launch
  • Incorrect jogging behavior in head camera wizard
  • Enable word-wrap in evaluated label of barcode text, so dialog doesn’t widen
  • Extra camera streams were being started unnecessarily
  • App was crashing when trying to manage saved positions (#703)
  • App was crashing when trying to manage saved positions without being connected
  • Emblaser was not returning to correct Z-height for head camera scan
  • Necessary imageformats module was not installed for Qt6 (#716)
  • lbcli was not using --qt-version option for depends or pre-build (#717)
  • Custom gcode framing was not in constant power mode
  • Framing was sometimes turning off the laser afterwards even though Fire button is pressed
  • Material Test center value was not saving (#715)
  • Fixed crash in BSL protocol during Find My Laser
  • Force galvo grayscale to output per-pixel commands
  • Emblaser Pro was not reporting position status correctly (#723)
  • Emblaser Pro protocol was not reporting position status correctly
  • Show “System Theme” if user has not set a theme.
  • Optimize shapes was wrapping around on open shapes
  • Cut Builder path clustering was crashing (fixed / reported on forum)
  • Pressing enter in some camera dialog distance spinboxes would activate nearby buttons
  • Fix switching between metric and imperial in EasyFloatWidget (#726)
  • Fix edgecase crash in prim/vert cache loading
  • UI Style change for; New Device Wizard, USB Device Wizard, Bridge Discovery Wizard to ensure they respect application theme and all text is readable.
  • Better detection of shared nodes in Trim / Scissor tool (now handles intersections at nodes correctly)
  • Fixing GRBL error 24 on pause/resume. (#743)
  • Prevent download from crashing on DNS fail
  • Pause resume checks were overzealous and causing issues.
  • Fixing late night bugfix that introduced another bug on pause/resume for GRBL.
  • FillCameraFPS was crashing, possibly when unusual cameras had no valid modes
  • Remove unused icon theme system from Qt5 builds of LightBurn and MillMage to prevent application crash on MacOS.
  • Theming and Icon Recolor bug fixes
  • Allow device size mismatch to work correctly when imperial dev units are selected (#754)
  • Fix “Disable alllayers” typo (#758)
  • Allow disabling G53 being emitted in Custom GCode. (#759)
  • Added missing unit conversion for the GoTo position inputs in the move laser widget. (#763)
  • Remove null-terminator from strings before using “endswith”
  • Machine size mismatch logic failed with swapped X/Y axis
  • Fixing theme related bugs reported in LightBurn 2.0 RC2.
  • Screensaver would pause camera preview in wizards but not resume afterwards
  • Memory leak in camera overlay
  • Camera FPS selection list sometimes had a 0 option, and was not clearing when no camera was selected

Miscellaneous

  • Added bundle text to Import Preferences button in devices dialog
  • Fix zstd license typo
  • Emblaser Pro changes
  • Filter out system default serial ports on Mac OS (#616)
  • Added forced EULA acceptance on application start (#619)
  • Tool changes will be emitted if tool hash is different if not ATC
  • Temporarily disable dark theme until UI fixes are implemented.
  • Fixed typo
  • Title case consistency (#673)
  • Cleanup Qt lupdate warnings
  • Display warning to user when configured machine size doesn’t match reported machine size
  • Wrong app name used in crash message
  • Change Log now automatically downloaded and displayed to the user (#706)
  • Change Log now automatically downloaded and displayed to the user when a new version is available
  • Keep track of Imperial vs Metric mode internally (#711)
  • BSL Config page said EZCad
  • Allow full GS1 barcode support (#735)
  • Only allow exporting bundles from devices dialog (#730)
  • Allow importing bundles from devices dialog
  • Prevent update notification popup from showing until after new project dialog (#742)
  • Minor tweak to self check
  • Save Cylinder Correction and Rotary configs to project (#745)
  • Remove Grbl M3 and LPC as options from Find My Laser (#757)
  • Remove the Emblaser specific first run popup (#755)

Infrastructure

  • Separate files names for each Qt version
  • Split change log for each app and updated versions (#615)
  • Memory diagnostics
  • Memory diagnostic changes
  • Cancellables, camera async fixes, driver fixes
  • Various updates and fixes to language tooling
  • Added option to fix title case translations in lupdate
  • Adding a few analysis tools for languages
  • Add retry logic for stupid stupid Apple notarization (#701)
  • Add language comment analysis command
  • Trying to fix webp format loading for MM (#720)
  • Only build qt 6.5 except for dev
  • Fixing job Qt version setup
  • Fix changelog generation for new tags in type
  • New Qt caching method

User Interface Updates

  • Move devices management tools under Laser/CNC Tools menus (#617)

Code Refactors

  • Added Shape->GetLayerPriority() function, so less code needs #ifdefs
  • Use new GetLayerPriority() function to avoid crashes in MM with shared code
  • QSVector adapted for Qt 6.5 and 6.8
  • msvc linker and qt deprecation project options
  • Remove pQCam reference
  • Updated .pro files with Qt6 compatible MacOS build options
  • Patched up ModelShape::GetScene for Qt6
  • Enabled Qt backfill camera drivers instead of WinRT
  • Cleanup comments prior to push
  • Using optionals in toolstate instead of float
  • Sync up vision classes from QtCameraTest
  • Add /bigobj to cmake flags to fix C1128
  • Initial hack at cameracap to support new Vision classes
  • deviceChange event
  • Added L8 and RGBA frametypes to both WinRT and AVF drivers
  • HTTP Cameras and mode selection
  • AV Video driver L8 frame type fixes
  • QLBFontComboBox::highlighted
  • Compatibility and fixes for Qt5 and MM
  • Reference to AVVisionDeviceSource
  • Initial head mounted camera alignment wizard update
  • Reintegration of QtCameraTest changes
  • Explicit shutdown of camera sources
  • Formalizes ToolModel, ToolSettings, ToolState. Adds OriginType.
  • Use OriginType as part of the protocol and correct behavior of jog widgets.
  • Resume button wasn’t always sending the resume command for gcode devices.
  • Migrated update checker to use Core_Download
  • Framing now goes clockwise
  • All framing goes through TraceTightFrame now
  • Remove deprecated ShowFrame methods
  • Material Test classes were still named for galvo even though they are now generic
  • CameraCap removed old ifdefs and dead branch code

Existing Feature Updates

  • Added Groupbox, RadioButton and Spinbox Widgets to ProtocolSettings.
  • Auto-init sim parameters for galvos, allow “Read from controller” (faked, but good settings)
  • Tweaked DXF spline simplifier to do less damage to small shapes
  • Added variable power / constant power to XTool protocol
  • Restore file load was no longer happening at the right time (#659)
  • Restore file load was no longer happening at the right time. Consolidated code between apps
  • Improved performance of Warp / Deform by not rebuilding Cuts/Layers with every update
  • Faster Taper Warp tool update (don’t redraw Cuts/Layers constantly)
  • Don’t auto-revert to select mode for Text, add auto-switch to select mode to MM
  • Cleaned up a bunch of compiler warnings
  • Cleaned up a bunch of compiler warnings
  • Allow up to 5000 mm/sec for reverse interval speeds
  • BSL SDK update, freq limit fix (#699)
  • Added BSL connection message
  • Typo fix in BSL update
  • BSL libraries update to stop crash on disconnect
  • Changes for Emblaser3
  • BSL libraries update to fix unplug crash on Mac / Linux
  • Allow decimals in firmware filename for E3 upload
  • Removed old API call from BSL proto
  • Added missing translation context to backup browser
  • Added missing translation context to backup browser
  • Tweaks to EmblaserPro menu options
  • Updates to initial EmblaserPro settings
  • EmblaserPro WIFI connect now functional
  • Tweaks for Emblaser3 gcode output & menu
  • Added support for CO2 analog output to BSL protocol
  • Minor Emblaser wording tweak
  • Minor compilation speedup
  • Re-ordered windows in the “Window” menu to make more sense
  • EZCad device isn’t “busy” if not connected.
  • Material test speed limit upped to 15k for galvos
  • Add support for 2nd laser source to JCZ device
  • Changed “set laser source” command to streamed version
  • Detect support for dual-source JCZ auto-switch
  • Sort material test swatches by “heat” output (#750)
  • Double click macro in manager to edit. (#762)
  • Offsetter can now show progress for Offset fills, faster offset sorting
  • Improved handling for XTool D1 with homing command
  • Fixed “simple mode” to not suppress galvo features, like alt source on Sculpfun

New Features

  • Qt6 Dark Mode and Cameras (#620)
  • Dark Mode
  • Dark mode splash screen
  • Add Has ATC option
  • Add Has Tool Probe option
  • Added new expanding (accordion) container widget to allow for UI design with less clutter.
  • Automatically load the most recent prefs backup if failed to load prefs.ini on startup
  • Camera Preview and Capture FPS
  • New CameraPreferencesChanged event
  • Case-insensitive camera ID matching
  • Shut down active cameras when monitor is asleep
  • Display Core or Pro in window title
  • Decouple design units from machine units (#663)
  • Allow setting of units during device creation (#672)
  • Added support for dragging between Art Libraries (#674)
  • Added ‘Focus Light’ button for BSL lasers to enable 2nd focus dot
  • Force Light Color Scheme for Windows Qt6 and MacOS Qt5 & Qt6 versions
  • Allow temporary undo/redo in Warp/Deform for movements (#679)
  • Added a setting to specify you have an RF tube, to disable the “min power == 0” warning.
  • Setting to revert back to Select mode after drawing a shape (#683)
  • Expanded camera controls
  • “Choose Camera First” requirement for camera wizards
  • Head camera alignment scaling allowed down to 1% to support microscopes over large beds
  • AprilTag pattern generator for head camera alignment wizard
  • AprilTag automated head-mounted camera alignment
  • Reconnect the device after updating machine settings (#705)
  • New camera calibration process with live AprilTag tracking
  • Application UI theme framework. Enables proper support for dark mode with white icons.
  • Add Send to Laser option for Material Test (#738)
  • Allow the user to select whether a gcode device should be regularly polled for the tool position
  • Allow dual laser source in Custom GCode (#760)
  • Camera control preview will now pause when the tab/window is not visible

Language Updates

  • Fixing title case translations
  • Fix translations that should not have been marked as unfinished
  • Reconcile some mismatched translations
  • Update all languages
  • Fix wording for rubber band outline DEV-821
  • Fix wording in bundle dialogs DEV-861
  • Remove incorrect tool tip DEV-870
  • Fix capitalization in center finder DEV-942
  • Start on adding Ukrainian language
  • Update translations
5 Likes

May want to remove the linux tag from the thread.

1 Like

Thank you @fins, there is a tagging automation that has misfired. :man_shrugging:

I will clean that up. Again, thanks! :slight_smile:

@Rick @gilaraujo Did you guys see this post? Testing it out on my xtool s1, and the units are set for mm/sec,after a little while 10-15 minutes, the cut/layer panel then changes to mm/min. See image. Then I switch the settings in the device setting to mm/min save, then change it again to mm/sec and in the cut layer panel it is fine for a little while, and then it changes to mm/min

Please consider changing the width of the name field along with changing the icon size or by default giving a smaller width. Cutting the name after one line doesn’t seem like a good solution either (Windows allows 2 lines for its icons by default and this seems to be the optimal solution). With a normal font size of 12+ you have to greatly expand the Art library window to fit the graphics in two rows.

1 Like

Just loaded the R4. Windows 10 Xtool d1 Pro. Can’t get the move arrows to work. Was working ok in R3.

Update - I removed R4 from my computer and reinstalled R3. Now the Move arrows won’t work in R3. I also went back to 1.7.08 and all Move arrows are working. Also noted under R4 that when I clicked on the up and down (even though I don’t Have a Z) the laser fires. Have to click on the Fire button to kill the laser.

I noticed that not all menu items are translated. Would a detailed list be helpful, or do you look it up yourself?

I have offered to help with the translation by email to betasupport@lightburnsoftware.com but have not received a reply and would like to renew the offer

1 Like

I just installed RC3 and then RC4 and I’m again encountering the issue where the framing and positioning red laser crosshair is being turned off while framing.
Interestingly it is only on when the “laser on while framing” option is on even on the lowest setting. I don’t think it is supposed to work that way as it was working fine in the 1.7x releases.
My laser is a 70W diode laser from iKier (Atomstack) using a GRBL controller, running on a Windows 10 laptop. I have already tried to uninstall/reinstall the ports and remove/add the machine again.

Note that Cut Shapes bug from RC3 persists here:

This may be expected as I don’t see an obvious bug fix reference in the notes but wanted to make sure it was on the radar.

1 Like

I am not fully understanding. You mention using

Yet, I see you have the ‘Icon Size’ set to 64x64. Below I show several size setting for the Icon to display, each showing multiple icons per row.

-
-

Tell us a bit more about how you have the Windows display setting configured. :slight_smile:

Thank you, I will ask @adammhaile to reply to your generous offer. Along with being the Director of Dev, he also manages all our translation related activities.

Of course, but not asking you to do a ton of work here. :slight_smile: Screen grabs, or telling us which language(s) where you are seeing this will help. And thank you once again.

Thanks PY, yes, this is still an outstanding issue. A report has been generated, and the task has been assigned and scheduled to be addressed. Once we have a fix and tested internally, we will move it to a follow-on release. Just not there yet, but thanks for the follow-up! :slight_smile:

1 Like

As @Rick said, screenshots would be helpful. But most likely it’s because the translations aren’t 100% finished. We’re still adding stuff and the translations lag behind. Though, if you mean in the main window menus that would be concerning. It all should be translated.

As for your offer, we do really appreciate it, but at this point we use a translation service for everything. We have a very nice integration setup between their system and ours and they do all languages at once.

1 Like

This still persist

–On numeric edits panel using the % to scale a shape:
-IE with a 100mm square:
-If I add one 0 (set scale % to 1000) it works well (1000mm square)
-If I add two 00 (set scale to 10000) the result is wrong (9000mm square instead of 10000mm)

Also, on variable text " Cut Setting text format":
Speed is always displayed in mm/min. no matter the units i select on device settings

Hi @CRII
Can I ask you to clarify what you mean with Move arrows? The buttons to click, or the keyboard arrows?

Can you also let me know what type of controller your laser uses?

Thanks!

Hi @m4dv3

I just want to make sure I fully understand the bug you’re encountering.
Is it:

  1. when framing with “laser on while framing” the red laser crosshair turns off?
  2. when framing the red crosshair turns off unless “laser on while framing” is on?
    Thanks,
    Jon

Hi Jon! It is #2: crosshair turns off while framing unless the “laser on while framing” is on. When framing is completed, the crosshair turns back on.

1 Like

Thanks for confirming! Do your laser crosshairs turn off while engraving a job? Or do they stay on?

It’s possible we’re being a little overzealous with turning things on & off during moves. A lot was done to make it a bit safer in the GRBL layer for CNCs, and this clearly had unintended consequences on the laser side of things.

1 Like

RC4 still has the pregnant pause while loading / saving a project, either as a local file or over the network.

It cheerfully reports Project loaded in 11 ms after ten seconds of frozen UI. :hourglass_not_done:

1 Like

This issue was first noticed with the Move Arrows in the Move Window. I also tried to move the laser using the keyboard commands with no luck. The xTool D1 Pro 20w uses a GRBL/Gcode controller. Again, all works in 1.7.08 instance.

Noticed this morning that with R4, the Distance and Speed settings in the Move Window are not saved after exiting the program.

1 Like