LightBurn 2.0.05 Patch Release

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

1 Like