LightBurn 2.0.05 is available for download now.
This release contains various fixes listed below:
2.0.05
- Prevent app title bar from appearing off screen when stored window position offsets are incorrect.
- Rotary jogging was flipping directions in CCW direction for rotary and XY controls.
- Trim would fail if snipping a shape scaled to zero in X or Y
- Added higher resolution images for unidirectional and offset fill types.
- Increase galvo rotary limits
- Units could get corrupted for galvo devices
- Emblaser WiFi wizard dark mode issues on Windows due to Aero theme
- Material library combo box was too wide
- Deform on an image could glitch on parallel lines
- Importing SVG with ungrouped DEF shapes could crash
- Fixed issue with device settings incorrectly sizing custom gcode options tab contents.
- Hide other bundle controls when editing vendor info
- Added toggle switch to disable KT332N U â Z axis mapping
- Galvo framing now gracefully handles when you have too many shapes
- Art library crashed if files dropped when no library selected
- Auto-join could crash in extremely rare cases from a float rounding issue
- Tab drawing wasnât saving/restoring drawing color
- Added more logging to BSL code for startup/connect
- Double-click to launch if unconfigured would crash
- Resolution fixes for cut setting windows
- Remove the null at the end of Adobeâs SVG paste data
- Set Zero on BSL could hang the hardware
- Fix for icons using incorrect scale value
2.0.04
- Updated BSL library for MacOS
- Fix for XTool position query
2.0.03
- Empty shape could crash gcode generation
- Bundle import could crash application
- Fixes for macro panel issues
- Fixes for single line font issues
- Better handling of Enter key in Repeat Marking
- Fixes for intersection snaps
- Fix for BSL âDone Markingâ signal issue
- Fixes for shape docking issues
- Further High DPI scaling fixes
- Remove clamping for discrete jogging
- Fix for continuous jogging in G54 mode
- Fix for head mounted camera unit conversion
- Fix for Mac OS Ruida rate limit issue
- Fix for synchronous mode serial transmission issues
- Updating displayed position to 0,0 after homing on Ruida
- Fix for hotkey and menu conflicts in translations
- SVG âsâ command didnât work for sequences of points
- Fix for Mac OS framing hang
- Fix for a regression with newer Trocen hardware
- Fixed issue with docks resetting to default layout every time app is started.
- Fixed issue causing docks to consume entire window if operating system display scale is changed.
- Global fix for Qt image size limitations
- Fix for glitches with font chooser on Mac
- Fix for Stop button not properly reseting laser state to off
- Updating the logic & text of the device size mismatch warning
- Fix for BSL lens correction
Existing Feature Updates
- Move âlibraryâ buttons under the lib to allow shorter vertical (#1170)
- Move âlibraryâ buttons into a menu to allow shorter vertical
- Choose initial device units that make sense on manual create
- Updated dash pattern to scale with DPI, made 1-pixel pen the default draw width
- Updated BSL grayscale mode, 2nd source analog output switch
- Allow Shift + RClick to flash layer
2.0.02
- Fix for 3D slice crash
- Fix for certain zoom levels causing performance issues
- Fix for possible Ruida file corruption
- Fix for barcode text rendering
- Fix for some SVG import issues
- Ability to create âFlash Layer Shapesâ hotkey
- Minor Tweaks to Cut Settings height
2.0.01
- Fix for issues with High DPI scaling modes
- Fix for XTool jogging back to zero between cuts
- Fix for Go to Origin
- Fix for dragging nodes in node-edit mode
- Fix for Fire button power setting
- Fix for galvo cut settings dialog layout
- Fix for masked images when using 3D Slice mode
- Fixes for various jogging issues
- Fix for rotary mode not showing the enable indicator
- Show error message when failing to load image due to memory limits
- Display an error message when imported PDF has unsupported stream content
- Enable relative arrow-jogs with ruida
2.0
Design Tools
-
Summary
New built-in shape types: Triangles, Pentagons, Octagons, Stars, and Dual Stars
Simple shape creation now also allows select / move / scale / rotate
Added âSelect resultâ to Copy Along Path
Text shapes now have an option to remove newline if a variable text CSV field is empty
Added support for alpha channels in RGB and CMYK images in AI files
AprilTag and ArUco types added to barcode tool
Allow temporary undo/redo in Warp/Deform for movements
Setting to revert back to Select mode after drawing a shape
Added Tools > Multi-File Trace Image
UI Updates
-
Summary
Dark mode
Edit nodes toolbar
Move to Qt 6 framework
Added context menu to Cuts/Layers window for toggles
Stacked button for simple shape operations (Rect, Ellipse, Polygon, Star, etc)
Stacked button for boolean operations
Removed decimal points in Speed / Power display if not significant (makes it easier to read from a distance)
Display Core or Pro in window title
Force Light Color Scheme for Windows Qt6 and MacOS Qt5 & Qt6 versions
Application UI theme framework. Enables proper support for dark mode with white icons.
Added new expanding (accordion) container widget to allow for UI design with less clutter.
Galvo rotary window now lets you visually adjust the Output Center value
Updated Cut Settings Editor dialog resize method, allowing it to adapt to UI font size and desktop scaling, while also attempting to keep the dialog height limited for smaller screens.
Move devices management tools under Laser Tools menus
Material library icons now use theme colors.
Revert Dark theme preview colors to default.
Tweak labs theming for camera calibration
Add real icons to camera settings
Changed dark red text on âAdditionalâ tab of Device Settings window to an appropriate theme color to improve readability on dark themes.
Improved margins, spacing and text styling for Custom GCode Options in Device Settings.
Fixed bug causing partial theme change if Windows theme is changed while app is running.
Camera
-
Summary
Expanded camera control options
Independent design and machine units
Faster camera calibration option
Camera Preview and Capture FPS
Case-insensitive camera ID matching
Shut down active cameras when monitor is asleep
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
New camera calibration process with live apriltag tracking
Camera control preview will now pause when the tab/window is not visible
Save Z height above material during head camera alignment
Faster lens calibration solver
Allow creating and loading extended camera lens calibrations
Optimizations and Improvements
-
Summary
Increased rendering speed of edit window by 20% for complex files
Increased speed of AI and DXF imports by about 50%
Added a check for duplicates on same layer when running a job
Added âIgnore Textâ option for DXF imports
Setup Improvements
-
Summary
Added --devname (device name) command line argument to choose device on launch
Added LASER:LaserName command to UDP socket interface
Added âFocus Lightâ button for BSL lasers to enable 2nd focus dot
Automatically load the most recent prefs backup if failed to load prefs.ini on startup
Allow setting of units during device creation
Added support for dragging between Art Libraries
Added âFocus Lightâ button for BSL lasers to enable 2nd focus dot
Added a setting to specify you have an RF tube, to disable the âmin power == 0â warning.
Reconnect the device after updating machine settings
Add Send to Laser option for Material Test
Allow the user to select whether a GCode device should be regularly polled for the tool position
Allow dual laser source in Custom GCode
Emblaser Pro laser focus calibration wizard
Emblaser Pro firmware upload process requires manual reset step
Improve IP input control
Existing Feature Updates
-
Summary
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
Improved performance of Warp / Deform by not rebuilding Cuts/Layers with every update
Faster Taper Warp tool update (donât redraw Cuts/Layers constantly)
Allow up to 5000 mm/sec for reverse interval speeds
BSL SDK update, freq limit fix
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
Double click macro in manager to edit.
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
Donât keep empty flattened shapes
Faster deform output for bitmaps
Updated rotary images for Boss lasers
Node edit now highlights closed paths with a bright green start/end node
Emblaser Pro updates
Change Emblaser3 to use new camera lens calibration
Added grayscale support for BSL devices
Save background size / shift values with camera settings
Added support for âweek of yearâ in ISO-8061
Remember galvo rotary jog step between runs
Taper Warp now supports inches
Finally got the language / system locale to play nice together
Finally got the language / system locale to play nice together
All numeric labels now use locale settings
Added ability to move layers up/down with hotkeys
Spacing tweaks for âlicense expiring soonâ pop-up
Enable ability to rescale galvo field
Improved rendering of bent RTL text
License flow fix for new renew notice callback system
License flow fix for new system
Remove the network option for XTool specific protocol (for now)
Disable controls if optimizations disabled
Added âAuto Center Imported Filesâ option
Allow more precision for camera align/scale
Tell users that importing their config is really important.
Added automatic SVG DPI setting for Illustrator / Inkscape files
Do not clamp laser Z moves
Optimize GRBL device framing to the same standard as generic GCode devices
Increase allowed CO2 freq setting to 200khz
Press F1 on galvo framing to cycle through the three modes (bound, hull, contour)
Frame and Start behaved differently with uncommitted changes
Added info to invalid proxy warning
Update âposition laserâ tool to change cursor to indicate snapping
Allow un-modified media buttons as hotkeys
Initial support for RD8445
Bug Fixes
-
Summary
Get Controller Info wasnât being called properly.
Colors of the Legend in the Preview are off if "ââŹÂŚ
Colors of the Legend in the Preview are off if âInvertâ is enabled
Recognize Emblaser Pro âCannot run External GCode while a Job is queued or runningâ error code
Fixed font scaling bug that can occur while adjusting the font size slider, located in the Display tab of the settings window.
Preview wasnât displaying wobble
Make fonts saved in 2.0 compatible with older versions
Fix Show Last Position
Network Address is validated even for non DSP coââŹÂŚ
Network Address is validated even for non DSP controllers
Fix the GoTo button functionality on GCode devices.
Head camera alignment was not using entered tag size
Prevent extreme fisheye projection infinities in head-mounted camera wizard
Prevent extreme fisheye projection infinities from crashing the diagram in the head mounted camera wizard
Galvo auto-rotate scan angle was not being reset between jobs
Handle cancel of Offset Fill
Invalid custom GCode blocks were getting hidden
When framing first, job was continuing if canceled after out of bounds warning
Large images might not load with Qt6 build
ENG.Tool.pos was set to WPOS instead of MPOS
Missing LB_LASER definition
ArtLibrary replace and rename were swapped
XTool GCode output in mm only
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
Prevented ââŹĹUse Selection 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
Tabs in grouped shapes were not immediately generated
BSL corfile wasnât being correctly loaded
Make sure Move panel always shows up by default
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
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
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
Fixed some spacing issues with Device Settings window
Fill core_machinecontrol for spindle, coolant, and vacuum
Lazy fix backup text path orientation so sharing works
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
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
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
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
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
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.
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
Theming and Icon Recolor bug fixes
Allow device size mismatch to work correctly when imperial dev units are selected
Fix âDisable alllayersâ typo
Allow disabling G53 being emitted in Custom GCode.
Added missing unit conversion for the GoTo position inputs in the move laser widget.
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
Clarifying and updating behavior of the device size mismatch dialog
Using Go To X=0 Y=0 would not move X/Y coordinates if using non-relative movement.
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.
Image resampler wasnât handling a couple out-of-bounds cases
Hide all panels on F12
Move the tool indicator in the edit window when jogging with buttons and not just keyboard moves.
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
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
Bundle import would warn if the file was created by a later Major Version Number, but not Minor.
Fixed taper warp parallelogram case, also tripled the speed
Star shapes wouldnât select if grouped and moved
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
Fixed directory creation issue on MacOS.
Fix initialization of device units in device settings
Fixing XTool protocol homing and jogging behavior.
Fixing the ToolModel to return WPOS instead of MPOS in LightBurn
Prevent app hang on close when network Ruida device selected
Prevent app hang on open/close projects when network Ruida device selected
Updated drag string behavior to show both line ends correctly
Fixed speed output units in Variable Text Cut Setting mode
Remove Qt version check from Connection_UDP::GetMaxPacketSize
HSpace value messed up alignment
Baking variable text didnât update shape bounds
Donât render shapes with zero prims as a single dot
Trace shouldnât crash if given an empty image
QT bug on importing SVG hex-based colors
Correctly handle comma vs period numeric separator for different locales
Patterned vector fills could crash the AI file importer
Click or drag selection of a node could add to the list multiple times
Logic for grid array total size was not working for total width/height calculations
Fixed text centering / alignment
Fixed issue causing Laser Move window to overwrite the users Jog Speed and Distance values if the Laser Power was set above 0%.
Grouped images framed wrong after moving
Double-click + drag now shows drag rect
Numbers with group separators broke the parser
Unnamed/unused DXF insert blocks werenât cleaned up properly
Cancelling 3D slice would continue to burn
Device settings âquery regularly for device positionâ label widened
Material test size wasnât based on visible output
Linked material layers would retain layer index when edited with galvo profile
Added an error message if export failed
Sketch trace was inverted
Camera preview vertical alignment
Occasional GCode protocol crash when editing and exporting devices
Donât allow two modeless dialogs to open at the same time
DSP position query wasnât updating WPOS
Support Height should be a per-device preference, not a global preference
Head camera alignment wizard Support Height and Material Height control behavior fixed
Head camera Z position was being double-converted on imperial machines
Resolve LB crash-on-exit introduced in earlier fix
Head mounted camera overlay progress dialog fixes
Fixed issue with cut settings window being too large for smaller monitors.
Page scale no longer includes shapes from hidden layers when printing.
Use Selection Origin should be disabled in âAbsoluteâ mode
Show barcode cursor while in create mode, disallow creation while the pop-up is displayed
Custom GCode dual tool was not always outputting tool on
Ellipse tool ovals are not exporting properly to DXF.
Save Ellipse EndParam with double precision as float value is rounded up by qt and is > 2Pi
Fixed âPort failed to open - already in use?â messages when reconnecting to same device
Allow importing vendor bundles from devices import
On emblaser, save and restore extra head camera preferences to lensdata.txt
New camera lens calibration wizard was not storing resolution
Include cameraHeadZStart in camera settings export/import
Was not saving/restoring cameraSizeX/Y settings to Emblaser lensdata.txt
Cut Shapes didnât always work at node intersections
Instanced shapes with no units were positioned incorrectly
Donât allow any barcode create / drag / select if a dialog is up
Suppress kerf warning on filled shapes
GCode settings were not being shown for LinuxCNC and Custom GCode
Show save GCode button even in beginner mode for LinuxCNC
Head-mounted Cameras would crash after Trace
Donât use infinite timeout for Ruida serial send
Ruida auto-home flags were wrong
Fixed a bug in the Ruida setting for limits enable
Miscellaneous
-
Summary
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
Added forced EULA acceptance on application start
Title case consistency
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
Change Log now automatically downloaded and displayed to the user when a new version is available
Keep track of Imperial vs Metric mode internally
BSL Config page said EZCad
Allow full GS1 barcode support
Only allow exporting bundles from devices dialog
Allow importing bundles from devices dialog
Prevent update notification popup from showing until after new project dialog
Minor tweak to self check
Save Cylinder Correction and Rotary configs to project
Remove Grbl M3 and LPC as options from Find My Laser
Remove the Emblaser specific first run popup
Update references to FTDI driver in installers
Limit installer from running on unsupported Windows versions
Added consistency check comments
Emit the entered license key to debug because sometimes it has incorrect characters
Implement proper tooltips for all image mode controls
Warn user if rotary config loaded while using Ruida device
Fixed âRequire Framingâ galvo tooltip
Do not show rotary axis config for Custom GCode devices
Cleaned up some runtime debug warnings