LightBurn v2.1.00 RC-9 Release Candidate

The fourth release candidate for LightBurn v2.1.00 is now available to download here:

Note: Not all generated RC’s make it to public, this creates gaps in RC numbers - RC3, RC4, RC5, RC7, and RC8 for 2.1.00 never made it to public release.

Change Log for LightBurn-v2.1.00-RC-9

Changes Since LightBurn-v2.1.00-RC-6

New Features

  • DragonDrop file transfer wizard - initial iteration
  • Ability to wrap web-based tools into integrated app features
  • Overlay capture uses Warm-up Frames setting when camera previews are paused
  • Added isLabs flag and checkIsLabs method to ProtocolDescriptor for centralized Labs status checks

Bug Fixes

  • Deform tool issues with grouped base shapes
  • Fixed all-zero command blocks sent when listSize is a multiple of 256
  • Fixed coordinate scaling - wire coordinates are mm, board uses kxy to convert to DAC counts
  • Fixed correction table memcpy only copying half the data
  • Fixed corFieldSize not being set when importing .cor file during device setup
  • Added missing scanner type 1 to protocol switch for prot=0x3FFF
  • Custom gcode rotary diameter setting was never emitted
  • Crash on closing Devices window with Emblaser device active
  • Don’t escape tab characters in the console log
  • Laser source errors no longer disconnect - errors during marking cleanly stop the job, errors during idle block new marking jobs but allow framing.
  • Some new camera UI fixes
  • Custom GCode was double-scaling imperial position queries when $13=1
  • Ungrouping an array with mirrored objects looses the mirror transform
  • Ungrouping an array with mirrored objects looses the mirror transform.
  • Un-grouping native shapes after mirror transform caused flip

Existing Feature Updates

  • Allow for extra ok’s from buggy WeCreat firmware
  • Coordinate clamp is now calculated from field size instead of hardcoded
  • Laser source error status is now displayed in the laser controls panel.
  • Increased Z jog distance maximum from 500mm to 1000mm
  • Select when pasting from other apps
  • Allow read/write of laser 2 offsets for Ruida
  • Changes for hydra/GT5 Ruida
  • Update machine settings for new Ruida laser configs

Infrastructure

  • Added core_icontools to build system via CoreGui.pri and core_code.cpp

User Interface Updates

  • Created outlined labs icon with white border for visibility on dark device logos

Other Changes Since LightBurn-v2.0.05

Summary

Bug Fixes

  • 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
  • Handle cancel of Offset Fill
  • Galvo auto-rotate scan angle was not being reset between jobs
  • Invalid custom gcode blocks were getting hidden
  • Tabs not created properly on spiral cut when wraptab necessary
  • When framing first, job was continuing if canceled after out of bounds warning
  • Large images might not load with Qt6 build
  • Restore geometry after previously zeroed values
  • Better handle device units for people upgrading from older versions
  • Enable relative arrow-jogs with ruida
  • Increase epsilon distance on Trim checks
  • If an image fails to import, show an error message about file size (if greater than 100MB) or possible corruption.
  • If a very large image fails to import, show an error message about file size or corruption.
  • Adding origin type to Go to Origin
  • Node editing was not undoing properly because the selected node got removed from the undo.
  • Fixing the fire power setting when the Fire button is already enabled.
  • 3D slice masked / transparent pixels shouldn’t be negated
  • Proper handling of click-drag of multiple nodes
  • Fixed Windows DPI scaling bug that could increase the size of UI elements to a degree that made application unusable.
  • Fixes a few laser-specific jog issues.
  • Rotary enable icon was not showing correctly in some cases
  • 3DSlice resampler crash caused by temp variable going out of scope
  • 3DSlice resampler crash caused by temp variable going out of scope early
  • Fix file ‘Start’ corruption after using Send
  • Switching user start script and header positions for custom gcode.
  • Fixed DPI scaling issue causing blurry / pixelated setting switches and list item icons when display scale is above 100%.
  • Properly parse firmware hold state for GRBL-like firmwares if triggered by the machine.
  • Changed single line font prefix to SLF, instead of SLF-
  • Intersection snaps fixed
  • BSL ‘Done Marking’ signal wasn’t emitted
  • Ruida ignored focus command if Z-speed wasn’t set
  • Extend Docking outside workspace, to fix rounding error bugs
  • Relax distance requirements on Docking
  • Do not allow user to toggle laser FIRE while framing or busy.
  • Fixed comparison calculations causing CutShapes to leave bits behind.
  • Empty shape could crash gcode generation
  • Bundle Import from device window was broken
  • Head mounted camera wizard AprilTag pattern was not working if device units were imperial
  • Use error dialog in case of error reading controller info, use warning icon otherwise.
  • Removing discrete jogging clamping, fixing continuous jog for G54-configured machines.
  • Fix synchronous-mode timing regression.
  • MacOS rate limit for Ruida, + variable packet size limit
  • Forcefully truncating float numeric error for position down to 1 micron.
  • Fail gracefully on DXF SPLINE objects with fit points
  • Adding a parsing in the connection info to check for G54 offsets with a warning dialog.
  • SVG ‘s’ command didn’t work for sequences of points
  • Fixed bug causing bottom of main window to appear off screen on load.
  • Fixed incorrect maximum size limit on MacOS toolbar buttons.
  • Fixed issue with toolbar icons having edges cut off.
  • Fixed issue that could cause main window to load on incorrect screen, sometimes many times larger than the screen.
  • Prevent top level menu keys from conflicting with hotkeys.
  • Updating displayed position to 0,0 after homing on Ruida.
  • MacOS could hang or crash when framing
  • Font skips around and reverts on Mac
  • Qt6 set a 256mb max image size. No thank you.
  • When pasting a copy of a PathShape, do not create Tabs unless the source cut had Tabs enabled.
  • 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.
  • Ellipse tool ovals are not exporting properly to DXF
  • Stop button didn’t properly reset spindle/laser state to off.
  • Updating the logic & text of the device size mismatch warning.
  • BSL libraries don’t apply lens correction to jump moves
  • PDF - Crash - Pack Tokens
  • Allow zero spindle speed operations with new Tool Type of Scribe.
  • Kerf was not behaving like before, and not correct re inner and outer direction.
  • Missing check on empty strings and missing default custom gcode blocks for LightBurn compared to MillMage.
  • Icon theme is sourced from correct path for pre release builds.
  • Fixing the parsing for metric or imperial modal checks.
  • Prevent text shapes from commit when only whitespace
  • Prevent crash when trying to load a malformed text backup path
  • Prevent MaxOS keyboard bug, paste into new folder dialog incorrectly causes the text to paste into the current project.
  • Updated BSL library for MacOS
  • Fix the escape sequence logic flaw for custom gcode.
  • XTool device position query was broken
  • Fixed reversal of RTL text when applying bend.
  • Tested with SHX font, fixed mistake in last checkin.
  • For Marlin Devices, force the FeedRate to be sent for G1 whenever the mode changes to G1.
  • Inverted SHX Fonts in FontManager
  • Inverted SHX Fonts
  • Replacing the broken truncate function for negative numbers.
  • Material library combo box was too wide
  • Emblaser WiFi wizard dark mode issues on Windows due to Aero theme
  • Deform on an image could glitch on parallel lines
  • Fixing rotary CCW jog switching directions
  • Importing SVG with ungrouped DEF shapes could crash
  • Double-click to launch if unconfigured would crash
  • Device units could sometimes get corrupted for galvo devices
  • When switching devices using the device combo box, if the CutOrigin has been saved for a device then use that setting instead of the UI prefs setting.
  • If the CutOrigin has been saved for a device, then use that setting instead of the UI prefs setting when switching devices using the device combo box..
  • Fixes for issues seen in testing.
  • Fixed some missing cases for scissor tool, Bézier curve at nodes, and line segments that are not terminations.
  • Fixed issue with device settings incorrectly sizing custom gcode options tab contents.
  • Fixed Bezier Cubic Root function missing a case that caused scissor cut to fail.
  • 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
  • Prevent a null pointer crash when closing the program.
  • Fixed recursive draw error. Show Progress dialog when switching to Ops Mode.
  • When choosing different units in settings dialog, convert the arrow move distances immediately to show the converted values, and ensure the range limit works in each control.
  • Fix ScissorTool bug that caused duplications during cuts and crashes during undo
  • Undo History displayed backwards
  • Invalid DXF color indices could crash on import
  • Rotary slices weren’t always merged correctly with Run Whole Shapes
  • Set Zero on BSL could hang the hardware
  • Trim would fail if snipping a shape scaled to zero in X or Y
  • Windows camera driver could get stuck (wouldn’t reconnect properly) if there were USB connection problems
  • Prevent thread contention of JCZ command buffers
  • Fixed issue causing toolbar icons to double in size when a dialog is on a different screen to the main window.
  • Fixed bug that can occasionally set all console text to the color red.
  • Svg import can now handle tspan elements with arrays of xy coordinates.
  • OffsetFill was ignoring PWM override
  • Optimizations couldn’t be completely disabled
  • Fonts jump in Listview
  • Fixed variable text was not restoring the last settings when loading a project.
  • Custom Gcode syntax highlighter was stripping out special characters and hex codes.
  • Fixed Custom escape character causing string corruption.
  • Emit laser2 freq setting
  • Quick Nest acting up if Device Origin is top left.
  • Fixed fatal crash when applying a radius to a line segment.
  • Catch illegal memory access to prevent crash, and show properties correctly for multi shape.
  • Overscan distance value wasn’t updating in image mode
  • Fixed issue with some numeric input boxes not displaying unit values when units are set to metric.
  • Fixing punctuation in dialog messages.
  • Fixed the Tab wizard when using tab count, building one less tab than expected.
  • Fixed the Tab wizard when using tab count, building one less tab than expected
  • Fix for incorrect WeCreate disconnect message
  • Fixing the G54 offset warning not being shown.
  • Fixing the Marlin-related crash on “Go To Origin” button generating “G53G1” without a space.
  • Fixing the need to turn off and on again the Show All toggle in the Console for gcode if a connection is reset or device changed.
  • Don’t show overrides panel during jogging
  • Nested bitmaps could cause infinite loop when merged
  • Font Dropdown Box displays font headers
  • Font Dropdown Box displays “Favorites” as a selected font
  • Camera alignment pattern designer not properly converting zone size to/from Imperial units
  • Quick Nest - Support for Text and Group objects
  • Quick Nest - Not respecting move as group and lock inner objects
  • Font + Paths grouped scaling Bug
  • Fix program stall on update for FilletTool
  • Unsaved changes indictor in window title fixed for change of device.
  • Jog distance and speed were not being restored properly on program start due to unintended events.
  • Tool layers weren’t collected if framing something too complex
  • When undoing a deleted layer (or undo delete last shape in a layer) ensure the layer returns to original priority (order) in the layer list.
  • Scanning Offset units were entered as Control Units but shown as Device Units
  • Laser 1 and 2 are exclusive on GCode. Don’t show 2 laser power boxes
  • Click to remove fillet didn’t always work
  • X/YPos values with apostrophe not recognised
  • Fixing the move toggle off not preventing unselected shapes from being dragged in the workspace.
  • Fixed theme bug that would cause the settings dialog to think a restart is required if the app theme is set to “System Theme” even if no settings have been changed.
  • Very old camera settings files (from before 1.6) could crash on import
  • SVG Import crashes when use references another use in defs
  • Uninitialized “insert” state caused a crash
  • Fixed issue causing layer palette icons to be larger than the tool buttons with certain combinations of ToolButton and Font Size.
  • Fixed issue with minimum font size setting increasing some UI font sizes when High DPI Scaling is enabled.
  • Fixed issue causing incorrect icon showing for selected layer in Cut Settings dialog layer list.
  • Trying to increase flexibility of Custom Gcode for non-standard GRBL firmwares.
  • Allow unlimited custom gcode alarm or error codes with buttons to add more rows when needed.
  • Job complete sound plays for BSL when using rotary or repeat marking
  • No job complete sound on BSL rotary
  • LicenseExpiringSoonDialog changed ‘will expire soon’ to ‘expires today’ on last day.
  • Bundle Export section titles were English-only and not being translated.
  • Galvo Z accel was stored / retrieved wrong
  • Repeat Marking, show proper Increment units to match axis type, added tooltips to the Test button.
  • AutoGroup was failing with trivial type of shapes like Rectangles.
  • AutoGroup was failing with trivial type of shapes.
  • Radius Tool Needs 4 decimals when using inches to behave like LB1.7.08
  • Radius Tool Needs 4 decimals for inches to behave like LB1.7.08
  • Update License ‘expiring soon’ text to ‘expires today’ on final day.
  • New Camera Presets for Thunder Vision network cameras had ports swapped
  • BSL crash on USB pull
  • Added missing blank icons to main window menus
  • Max Power label was disabled
  • Parse console lines for instant commands that shouldn’t end with a newline.
  • Fixed MacOS Hotkey modifiers for Rotation of Selection not working for 1.5 degrees (Ctrl+Shift+ , or .)
  • Fixed MacOS Hotkey modifiers for Rotation of Selection to use the Ctrl key instead of the Command key.
  • Shape Rotation for 1.5 degrees using Ctrl+shift+ , or . fixed.
  • GCode Real-Time Commands now send without newlines for compatible protocols
  • Custom GCode Marlin flavor preset had “?” GetStatus but should be “M114”
  • Show Q Value instead of Power% for Galvo Devices in the Cuts list
  • Show Q Value instead of Power% for Galvo Devices in the Cuts list.
  • Clean up Start Pt arrow rendering
  • Prevent infinite loop trying to build tabs in a shape that is too small.
  • Only show Q-pulse instead of power for UV galvos
  • Control units were not defaulting to reasonable metric value
  • Custom GCode was not properly using rotary mode
  • Fixed crash by using a lowercase @p or @t in a pause message.
  • File path used by Operations Export Wizard not sanitized in Bundles
  • Support extended real-time commands for GRBL and grblHAL
  • Send real-time console commands even when busy
  • Combine repetitions of real-time commands in console log
  • Shape properties would not populate correctly when switching between certain shape types directly.
  • Operations Library view was not being refreshed by units change
  • Fixed protocol type checks using DisplayName instead of protocol identifier
  • Fixed laser PWM count clock threshold (was comparing kHz value against 1000000 instead of 1000)
  • Fixed scan delay calculation missing LaserOff time component
  • Fixed COR file header offset causing incorrect field parsing
  • BSL fiber Z homing was using ZMotorIndex instead of ZAccelTime for acceleration
  • Prevent “Missing GCode For selected settings” warning in Device Settings dialog when inherited placeholder is valid
  • Add space after emitting G53
  • Handle malformed xml data better and report more issues without crashing when loading a damaged or incorrect file.
  • Some escaped characters were causing strings to visually repeat in the console log
  • New Device Wizard should reset Dwell when a new Flavor is chosen
  • GRBL M3 Flavor jog panel got broken when switching from another Flavor that had continuous jog
  • FluidNC support was missing some connections
  • Updated GRBL-STM GCode Flavor to enable continuous jog and probing
  • SVG with OffsetFill didn’t export correctly
  • Fixed some galvo framing issues
  • Zero Axis buttons were incorrectly greyed out for some protocol flavors

User Interface Updates

  • Fixed vertical spacing and minimum height for tabs for the galvo cutsettings dialog
  • Set the Radius tool to have 2 decimal places when in mm units.
  • In the layers form, Spd_Pwr column, show the Power to 1 decimal (if value is under 100 so user will see the fractional power setting they expect)
  • Change Radius to show 2 decimals in mm units. Changed the min max Radius mm to equal the converted inches so conversion back and forth at the maximum is consistent.
  • Dramatically improved quality of UI when High DPI scaling is enabled.
  • Fix the AirAssist and Marlin Laser Commands groups boxes getting squished when form is reduced vertically.
  • Selected shape / item dash length now scaled for screen dpi.
  • Better message for PDF Import Error to suggest converting to image before import.
  • Improvement to probe wizard to deal with zero Tool Diameter better.
  • New icons for diamond scribe
  • Added shortcut for device manager [Alt-Shift-M]
  • Added shortcut for device manager [Alt+Shift+D]
  • Hide other bundle controls when editing vendor info
  • Applied correct DPI scale to message box icons when display scale is above 100%.
  • Updated MessageBox icon set.
  • Prevent app title bar from appearing off screen when stored window position offsets are incorrect.
  • Added higher resolution images for unidirectional and offset fill types.
  • Console colors are now set from the application theme.
  • Added “Workspace DPI Scaling” display setting. This allows higher resolution drawing / previews to be switched off to improve line visibility on very high resolution display (eg. Apple Retina), or to improve performance on low powered devices.
  • Changed console and custom GCode settings font from “Courier” to “Consolas” if available on Windows devices.
  • Added startup checks for common issues that cause ui elements to grow too large for the screen.
  • Added prompt to automatically restart when settings are changed that require an application restart to apply.
  • Macro Edit text input now correctly strips formatting from pasted text.
  • Fixed Focus Light tooltip for BSL Fiber
  • New Warning icon added with better contrast at smaller sizes.
  • Renamed Reverse Z checkbox to Invert Z Galvo to clarify it controls galvo coordinate direction

Existing Feature Updates

  • Certain zoom levels were slow because of transparent grid
  • Add ‘Flash Layer Shapes’ action so it can have a hotkey
  • Minor Tweaks to Cut Settings height
  • Better handling of Enter key in Repeat Marking
  • Major improvements to reduce direction changes, choose best direction
  • Major improvements to reduce dir changes, choose best dir
  • Don’t auto-weld single line fonts, only classify SLF-OPF as Single Line
  • Added RunLengthDecode support to PDF import
  • Allow ‘Bake’ variable text work on selection
  • Allow ‘Bake’ variable text to commit a
  • Give stacked buttons a bit of forced extra width to allow side clicking
  • Move “library” buttons under the lib to allow shorter vertical
  • Move “library” buttons into a menu to allow shorter vertical
  • Show a message if the user tries to calibrate axis while rotary mode is on (gantry)
  • Icons for Material Library functions
  • Material test, allow boxes as large as 400mm, limit max font size depending on laser type.
  • Keep cuts list position when list changes, keep selection in view when moving up/down
  • Forgot to check in new themes for gcode
  • Show tool position during cuts using the linecount sent.
  • Turned off extra comments that were incorrect for custom gcode
  • Increased galvo rotary size limits to 20 meters
  • Updated rotary runner screen limits to match setup screen
  • Shrink the cut settings window
  • Double-click to Adjust Image
  • Smaller galvo settings window for Devil’s Resolution
  • “Remove fillet” preview
  • Made MillMage use ToolLibraries variable and keyname instead of reusing Lightburns MaterialLibraries var and key name to avoid conflicts in the prefs and bundles files.
  • Reduced cut setting window 10 pixels more by reducing the dither preview size
  • Raised acceleration limits for gantry simulation
  • Show warning if using 3DSlice with a single pass
  • Drill files with Z drop + Z lift in place will generate 1mm circles
  • Export hidden lb/mm layers to svg as hidden entities in SVG
  • Regenerate the color swatches when font scale is changed
  • Store/restore the repeat mark jog distance
  • Galvo framing now gracefully handles when you have too many shapes
  • Auto-select laser1 / 2 if appropriate
  • Handle 16 bit maps with pre-multiplied alpha
  • Add rotary diameter as a custom gcode variable
  • Large performance improvement for Operations Mode, and fix to recursive drawing warning.
  • New Scissor Tool operation uses shift key to send the clippings to the active layer.
  • New optimizer wasn’t special casing filled shapes
  • Remove the null at the end of Adobe’s SVG paste data
  • When logging enabled, write SVG content to file
  • Write available paste formats to debug log
  • Fixed multicameras head-scan going out-of-bounds when the camera offset was too big
  • Added Thunder Laser presets to New Camera list
  • Automatic TabBuilder fixed to prevent having first and last tabs closer than the minimum requested distance.
  • TabWizard fixed to prevent having first and last tabs closer than the minimum requested distance.
  • Head-mounted camera scans were not being limited by the DPM settings
  • Emblaser shared cameras required some settings to be tweaked
  • Modified Emblaser Pro Stop command to suppress duplicate newline
  • Added “air protect” setting for Thunder
  • Camera Preview Quality is now a global preference
  • Fiducial markers modified to not overdraw crosshair line when demicircle is not filled
  • Some emblaser commands were missing newlines
  • Another missing newline for Emblaser Pro and strip upload terminals
  • Modified EPro firmware upload to wait for completion rather than depend on timer
  • When using ‘Negative’ with 3D slice, reverse the slice order
  • Force “Flood Fill” to fill shapes individually, to enforce order
  • Redirect main toolbar ‘Update background’ action to multicameras
  • Network camera download limits & faster shutdown
  • New Camera wizard improvements and modified camera prefs
  • Added a checkbox to job control to Ask for Send Name so it can be disabled.
  • Improved Add New Camera URL entry UX
  • Accept PNG images for HTTP camera sources
  • Changed Connection type ‘Ethernet’ to be ‘Ethernet or Wifi’ for clarity
  • Changed Connection type ‘Ethernet’ to be ‘Ethernet or Wifi’ for clarity.
  • Show rotary icon on the Start button if active
  • Update Overlay could crash during homing if changing device from a bigger machine
  • Camera wizards UX pass
  • Renamed “Undistorted” Camera Image capture menu action to “Calibrated”
  • Camera alignment wizard manual process had old extra step when going back
  • Rare multicamera async crash when changing device
  • Fixed HTTP camera bug that was corrupting some mjpeg streams
  • Memory leaks in New Camera Wizard
  • HTTP camera compatibility improvements
  • Scissor Tool with shift-click should move entire shape to current layer just like trimming a section does.
  • Limit outgoing TCP queue size to 8K
  • Fix Emblaser Pro file upload progress
  • New Camera presets updated
  • Clear ToolState on device disconnect
  • Changed text in 2 places to License Management to be consistent
  • Changed text in 2 places to License Management to be consistent .
  • Fix multicameras head-mounted alignment when using manual ‘circles’ alignment target.
  • Position query was interfering with emblaser GetFileContents
  • Device-level LastCamera prefs needed to remain
  • New camera wizard was not setting reconnection properties correctly
  • Improved compatibility for Thunder Vision camera streams
  • Swap ‘add camera’ and ‘migrate from 2.0’ button order
  • Sub-layer remove/hide logic improvements
  • Increase printer line width resolution to three decimal places
  • Better framing for 9-pt correction mode
  • New Community Page link added to Vendor Bundles Info & Menu
  • Automatic display setting adjustment updated to find best UI Font and Toolbar Icon size for the screen instead of forcing smallest sizes.
  • Updated BSL libraries
  • Added external motor current settings
  • Remove hard-coded Emblaser Pro exhaust fan commands from job start/end
  • Support for 2 motors for rotary, Z, etc
  • Increased max galvo speed to 40k mm/sec
  • Hide max and min power for galvo instead of just disabling.
  • Laser & Cuts/Layers windows smaller
  • 9-point calibration framing improvements
  • Made ‘Units’ toggle clearer
  • Expanded MarkCfg0 parameter parsing with approximately 30 new fields
  • Removed Tilted Model terms from Extended Camera Calibrations
  • Consolidated GetListStatus/IsListDone into a single polling path with new IsProcessingList member parsed from 0x0051 (GetListStatus()) response.

Code Refactors

  • Moved code to calc the width hint for the qNumEntry control to a function because it is needed to be called from any place that changes the space required to display the number.
  • Bundle wizards & Zip lib refactored from .cpp to .inc
  • GameController.cpp converted to .inc
  • Added vision.inc to gather moc_ include files
  • Idle job queue and Protocol::IsReady
  • Mods to emblaser 2 and 3 protocol file transfers
  • Found a potential bug in the emblaser 3 protocol where we were sending extra newlines that were required by the 2, but not anymore?
  • Moved faceClearancePcnt into cut_face class from cut_cnc.
  • Camera alignment pattern classes moved out of Multi-Alignment wizard and into new utility file.
  • Aspect ratio controls moved out of Multi-Camera widget and into new utility file.
  • Split many vision classes into .h and .inc
  • Single-camera system Emblaser Pro network camera deprecated
  • Moved most control mode code out of mainWindow into staticSimulationWidget.
  • Fix MacOS compiler warnings in camera classes
  • Rearranged New Camera Wizard to simplify inter-object comms
  • Deprecate single-camera functions and menu actions
  • The Allow G53 toggle was only affecting position queries. This now prevents sending it in any circumstance.
  • Fix warnings and log messages
  • Translate new camera connection status strings
  • Modify camera shutdown logic to wait for full stop
  • Always reapply camera widget list mode after device change
  • Camera widget menus rearranged for clarity and consistency
  • Reworked Vendor Bundle Info into a GridLayout so it will center properly
  • Bundle manifest JSON had some extra useless fields leaking in, they have been suppressed.
  • Make printed line width behavior of PrintShapes match standard Document Print function
  • Replace uses of ENG.pUserDevice with pDevicePtr in protocol classes
  • Uninitialized values in ParseProbe
  • Moved extra commands from Protocol_GCode_Custom::GetAbortCommand() to Stop()
  • Remove repeated code in Protocol_XTool
  • Further fixes to Position Queries on both real-time and command-line gcode protocols
  • Faster quit from gcode thread loops
  • Deprecate old camera lens calibration wizard
  • Add LE_DeviceReconnect and send event from device settings dialog
  • GCode Thread protocol checks
  • SupportsToolProbe() query method added to GCode Protocols
  • WaitForProbeParse() modified for Marlin

New Features

  • Added custom gcode job header auto generation and editing as a gcode block.
  • Add font management dialog
  • Custom gcode can now have escaped text sequences.
  • Make G20/G21 modals editable gcode blocks for custom gcode.
  • Support Dxf Export for AC1009 & AC1021
  • Added Undo History window to MM / LB
  • Split out Control Units from Device Units
  • Added toggle switch to disable KT332N U - Z axis mapping
  • Develop 2D Tangent Circle Generator for Triple Circle Input
  • Renaming Dxf Export File Filters
  • Added the ability to save/load template project files
  • Multi-Cameras
  • Print Line Width is now a user setting in Import/Export
  • Direct Raw and Undistorted image capture from all camera types
  • Add ability to name lasers sources when dual lasers enabled
  • QuickNest
  • Camera Lens Calibration wizard sample thumbnails and percentage scores
  • Vendor Links Menu for Devices imported from Vendor Bundles
  • Add support for M73 percent and time remaining estimates for Custom GCode Machines.
  • Updating correct Masso gcode defaults after feedback from their support
  • Console log improved status query and syntax coloring
  • Camera lens calibration Reframe View option (labs)
  • Camera lens calibration AprilTag detector subpixel corner refinement (labs)
  • Show Custom GCode Flavor in Device List
  • Marlin 2.1 support in MillMage
  • Support for Duet / RepRap GCode Flavor

Miscellaneous

  • Update Darkly Labs links and logo
  • Add ZhiYuan wrapper for Ruida-compliant UDP protocol
  • Update Mach and UCCNC gcode profiles
  • Add Skip this Version option for updates
  • Allow overriding of G54 with other coordinate system in Custom GCode
  • Tweak code for fetching buy license URLs
  • Make Quick Nest available to Core licenses
3 Likes

Hi, I’m currently playing with an OV Laser SF-50 “DeskMark”, a 50 W non MOPA, 2D galvo head which comes with EZCAD3; it works fine so far, but I’d like a lot to use Lightburn 2.1 RC6 instead.

I’ve installed and configured Lightburn (including EZCad2/EZCad3 drivers), but can’t manage to see the machine.

I also have previously uninstalled the only one machine related driver I could find, named “Portable devices | DESKMARK” in Device Manager.

The machine includes a

JCZ MC4 DLC2-ETH-2D-V4

board, which is Ethernet based and is connected to the PC via a standard (cheap) USB-Gigabit Ethernet converter.

Maybe this board is not supported [yet] by Lightburn?

Thank you.

Do you have more detailed information about this? I saw that there is a cuttle-integration now. Will there be a kind API that will be open?
I can imagine an open API or plugin interface would open a gigantic potential of community-provided extended functionality. And vibe coding will do the rest :slight_smile:

1 Like

It would be nice to allow pasting a Cuttle link into the URL for the Cuttle Web Tools

I’m not sure we’ve seen this yet. The EZ3 connection only works over a USB COM port currently. But if the controller uses the same commands over IP, that could probably be added with “minimal effort”.

This is the closest match that I could find. Can you confirm that this is the controller you have?

I’ll ask one of our developers and get back to you.

Yes, the controller is that one:

The operation manual required to configure the USB-Ethernet adapter to a fixed IP: 192.168.0.3 (255.255.255.0) and 192.168.0.1 as the default gateway.

My local network is 192.168.0.x with the same gateway and 192.168.0.3 is free, so I tried to plug the laser directly into the net without USB adapter, but its address was not visible; maybe the EZCAD driver is tailored to use the Ethernet-USB chain - but I didn’t investigate further.

Please let me know if I can do any more tests.

tried using with wecreat 45w and got this message. what do I do?Your laser has been detected as a WeCreat device but you have not selected the WeCreat device flavor in Edit > Device Settings. The device may not work correctly as a result.

If I reinstall the driver it closes down lightburn

If you have the Vision, you can download and import this device profile:
WeCreat_Vision_2026.lbzip (30.5 KB)

This is now using the “Custom GCode” device type with the new WeCreat GCode Flavor.

If you’ve used the “Focus” macro, this is now assigned to the “Focus-Z” button in the Move window.

1 Like

Thanks, I will try that

I see, you have the Vision Pro. I’m not sure how they differ from each other.

It might be better to do this if you run into any issues:

  • Open the Devices Menu

  • Select your old device, and Edit

  • Change it from “GRBL” to “Custom GCode” and click Next a couple times, leaving everything else

  • Then select this device and open “Laser Tools > Device Settings”

  • In the "Custom GCode tab, select the “WeCreat” flavor, and enter these commands in the “Focus Z”, Start- and End Scripts:


I’ve downloaded WeCreat’s device profile and performed the steps listed above.
Here’s the resulting device profile to import:
WeCreat_Vision_Pro_2026.lbzip (25.1 KB)

When i import that file it shuts down lightburn and i have to uninstall lightburn and reinstall to get it back

This new release will not work with wecreat vision pro

As stated…I am in the process of recalibrating the upper camera because it is from 2023 and capuf!

Strangely the side mounted camera (C210) shows as calibrated and aligned?..

So I removed the HBV suddenly the 2 go away.

Not really needed because I only use the Cams to check job start point and job operation.


I can drag the Wecreat device without issues.

That’s brutal. I can’t reproduce a crash.
If you see an error message, please send us a screenshot.
A LightBurn_Crash_Log.txt file should also be saved to your desktop if LightBurn crashes. Please send us this file via support@lightburnsoftware.com

Did you try manually changing the device type and selecting the WeCreat GCode Flavor?

Right now this is only open to approved partners and Cuttle just happens to be the first.
There’s no API even for what we have - it launches a browser and handles any file download as an import. That’s it.

There IS, however, a separate API in the works that I can’t really talk about yet. Other than to say it can detect “vibe” code and rejects it automatically :wink: (I just hate the term “vibe coding” :stuck_out_tongue: )

3 Likes

I reinstalled and redownloaded the file you had and now it works. :thinking:

1 Like

Now that i got it to focus, when i choose frame it frames once and stops and won’t let me frame again. i have to press stopto get the laser to move again.

It stays on busy and continues to run the timer

I turned off the “enable laser fire button” and then framing works normally.

If I use “enable laser fire button” and have “laser on when framing” it stalls the laser and I have to press stop to get laser to move.

Camera alignment is off but no way to manual adjust it

I think there is something wrong with the Mac archive, the DMG file is multiple times larger (280MB vs 75MB from earlier versions) and the resulting app is around 680MB (180MB earlier versions).

This wouldn’t be an absolute issue, but the RC9 just hangs while starting and doesn’t even show the splash screen after 5 minutes.

Weird debug build? :wink:

Welcome and thank you for posting, @augunrik. No, this is to be expected, as we have added a significant amount of code to support enhancements and future developments. The initial launch does take some time, but subsequent launches are much faster.