# Change Log for LightBurn-v2.2.00-RC-6 ## Changes Since LightBurn-v2.2.00-RC-5 ### Existing Feature Updates - Unsent crash reports can be deleted - Entering a Z axis height in the New Device Wizard turns on Z axis control. - The Galvo Move window only appears when Z axis control is enabled for the device. ### Language Updates - New translations from TIAI ### Bug Fixes - REST API omitted the first sub-layer's name and wrongly reported the Show checkbox status - Move in the Window menu showed as unchecked when the Move window was docked behind another tab. - Move could be selected in the Window menu on galvo devices without a Move window, but nothing appeared. - EZCad3 Repeat Marking only turned the rotary a fraction of a degree per step when the axis type was set to Rotating. - Smoother Camera / Overlays Widget Expanding Frame Animations - Remove current position option for Titan controllers, which don't support it - Cameras buttons added back to camera / overlays widget - SVG Export: Varied Line weights, and incorrect line attributes. - Fixing UI for connection requests dialogs. ### New Features - XTool credential cloud updates to support new firmware - XTool and Creality Falcon network devices now appear in Find My Laser - Search Network - Galvo Move window and Z axis settings for BSL galvo lasers, with configurable homing that stops the axis - Head mounted camera based Print and Cut ## Other Changes Since LightBurn-v2.1.04 ### New Features - Center Line Trace - Adding a local & network-available REST API. - Adding DragonDrop support per device profile. - Adding target buffer override for gcode devices in case the firmware doesn't or incorrectly reports the buffer size. - Added 3D model import feature. - Added depth map creation from imported 3D models. - Adding extra controls to Custom GCode (similar to GRBL) - Add filtering for FluidNC flavor to clean [MSG] spam in the Console - New Creality Falcon HTTP flavor for Custom GCode - New Duet/RRF HTTP flavor for Custom GCode - Added AcceLaser hybrid Gantry + Galvo device support. - Added LiDAR surface scanning with height-compensated engraving. - Enable rotary setup on Emblaser Pro - Accelaser Lidar ranging dialog Improvements - Adding default gcode file extensions for custom gcode flavors - Added Revert to Manual Alignment button on Overhead Auto Alignment Page - Adding a new WeCreat_http flavor for Custom GCode to allow sending the job files to the WeCreat lasers. - Accelaser feat 0820 requests - Added Device Classification (Model and Source) to Device Settings to allow full offline design for adaptive protocols - Adding REST API for inter-application communication - Adding support for TopWisom rotary - Galvo Move panel as a dockable widget - Add support for PCB file imports - Add Gerber file import - Add support for drill files - Add support for Epilog lasers - Calibration Target Collector - XTool Network Protocol Support - XTool F1, F2, and P2 series support over network (F1, F1 Lite, F1 Ultra, F1 Ultra 2, F2, F2 Ultra, F2 Ultra Single, F2 Ultra UV, P2, P2S) - New Camera and Depth Overlay Registration Dock Widget - Report a Bug in the Help menu - Adding REST POST endpoints and Project write capability for writing settings to a project. - REST API reports and edits dual-source, galvo and MOPA laser settings - Split Marking on EzCad3 devices added, tiling along one or two page axes as a grid while any other axis holds a fixed position. - External Axis Setup on EzCad3 lists every configured axis with a tiling or fixed position role, and refuses two rows that drive the same motor. - EzCad3 split marking starts tiling from the worktable origin set up in EzCad3, so the first tile lands under the galvo head instead of at the home switch. - Table shear correction for split marking cancels the seam drift of a worktable whose rails are not square to the galvo field, imported from the EzCad3 configuration and editable in Split Marking Setup and the runner window. - External Axes Settings tab in Device Settings for EzCad3, with one control group per axis covering motor selection, step scaling, speeds, homing, position readout, jog, Home and Stop, and on the rails a move to the worktable origin. - XTool rotary support for D1, F1, F2, P2, S1 over network in Absolute and Current Position modes - Rotary Park Position to 'park' the head at a specific position before switching into rotary mode. (initially for xTool) - New REST endpoints to fetch existing camera overlay image and its metadata (see https://github.com/LightBurnSoftware/LightBurn-REST/pull/2 for API changes ) - REST API changes for galvo vs gantry cut settings endpoints, changes required, see https://github.com/LightBurnSoftware/LightBurn-REST/pull/3 ### Bug Fixes - Fixed typos in Quick Nest messages - Some Custom Gcode values were getting unit conversions when they shouldn't - Removing SSL certificate generation and usage for the API to be HTTPS - Launching and immediately closing could cause a crash in the webtool loader - Make virtual keyboard show when using tablet and touching a spin box or custom num editor (Windows only) - Fixed issue causing viewport of 3D import dialog not rendering. - Min tabs was not alwayws being respected - Fix numeric entry equation parsing issue with comma vs period - Updated dogbone tool to use double-precision math to reduce failure cases - Handle new text width properly after a copy paste to prevent font position changes. - Renderbuffer being rebuilt constantly due to incorrect comparison. - Crash on SAVE - Fix title case across all entries in the right click menus. - Fix to trim tool not working for some cases. - Select all shapes for an operation accidentally included shapes from other pages. - Select all shapes for an operation accidentally grabbed shapes from other pages. - Toggle Panel visibility was missing toggling the Pages panel. - Ensure that 3D depthmaps are imported with an image cut setting - CutSetting editor memory leak fix - Fixed issue causing device settings dialog to cutoff custom gcode options. - Fixed issue where framing could use the wrong origin offset - Custom GCode was not using custom header when framing - Fixed RestoreDefaultLayout to work in Qt 6.11 - Add network permissions to plist for Mac OS 27 - Fix 3 instances where device def was deleted but accessed later - Re-Exported images would sometimes be rotated 180 degrees from expected - Device settings dialog minimum size and stretch policy now set correctly to prevent widgets from being cut off of squashed. - Newer Qt was no longer resolving host names in some cases - Incorrect warning when cross-app file opening - SVG Importer Improvements to fix "missing content" caused by newer SVG 2.0 features - SVG Importer Improvements to fix text sizing bugs, enable skew, and implement SVG 2.0 / CSS unit types (%, em, ex, ch, q...) - Uninitialized vars in QNumEntry cause erratic value changes randomly - Fixing the pause/resume sending double pause commands during a g-code command stream. - Shape Properties Panel needed to use QNumEdit to support flexible number input, units conversion, and formulas. - Refresh position readout after discrete jog / work-offset change - Fixed incorrect 3D model rotation when switching between rotating with mouse and manually setting rotation fields. - Fixed tab order of controls in 3D import dialog. - Connection buffers could block in rare circumstances on flakey grblHAL controllers - Open LB or MM file from the other app should preserve pages just like the import does - Open file from other app should preserve pages just like the import does. - Stop reallocating the edit window render buffer on every repaint" - Stop reallocating the edit window render buffer on every repaint - Handle PDF files with # # obj entries split across lines - Print and Cut label icons now route through QIcon at runtime to color to theme - Fixed multiple checkable menu options not showing check mark icons. - Emit separate laser enable flags for Thunder Titan controller. - Increased PWM frequency limit to 4000 kHz - Using MM or IN units (upper case) didn't convert - Prevent crash on Preview after importing or opening a MillMage File. - Prevent crash on Preview after importing MillMage File. - AppVersion never reported an unparseable version - Fixed slow EZCad3 fiber marking when Always Open MO is disabled. Every jump closed and reopened the master oscillator and waited the Open MO Delay, which added several milliseconds per jump. The oscillator is now opened once per job regardless of Always Open MO setting. - EZCad3 devices created with Find My Laser were saved with gantry simulation parameters. The protocol now supplies galvo defaults, and the Read Sim Params button is available for EZCad3 devices. - Shape Alt-Drag was not snapping properly to vertical positions - Harden the cubiio protocol - Edit camera page overwrite mount type fix - Add missing Sparrow and jagua-rs license details - Fixing the rest api status behavior for reporting the job progress. - Fixed 'Enable Laser 2 Controls' Checkbox style would not look disabled even if disabled. - Making the Swap X/Y Axes functional on custom gcode device profiles - The Z axis Enable Homing checkbox in Device Settings was bound to the limit switch flag instead of the homing flag. - Turning Z axis homing on or off in Device Settings did not take effect until the dialog was closed and reopened. - The Z axis homing direction, homing switch level, limit switch level and jog direction radio buttons could show neither option selected. - Stepper speed and homing timeout spin boxes in Device Settings and External Axis Setup clamped imported values, silently halving a fast Z axis and capping its homing timeout. - Framing or sending a design with split marking enabled from the main window no longer reports No shapes in bounds. - The frame preview for a split marking or rotary job moved the external axis using the page axis number instead of the motor port. - EzCad3 external axis commands enabled the controller limit switch mode whenever homing was enabled, so an axis with homing but no limit switches homed away from its switch and ignored the Homing Direction setting. - EzCad3 external axis homing used a fixed 30 second timeout instead of the go-home timeout imported from Motors.ini, aborting slow homing moves partway through. - The steps distance of a split marking or rotary axis was not saved on EzCad3 devices and reverted to one unit each time the dialog was reopened. - Closing or switching away from an EzCad3 device while an external axis was moving or homing blocked for up to the move timeout before the connection shut down. - Fixed freeze upon connecting to EZCad3 machine with Find My Laser and no config files. - EZCad3 galvos now return to the red dot rest position after a job is stopped. The rest position block was discarded by the stop guard, and the stop loop cancelled the move when it did get sent. - EZCad3 rest position jump is no longer skipped when the cached position already matches, and the end of job jump now goes to the configured rest position instead of field center. - Restore Frequency control for EzCad3 devices - Camera overlay was never updated for negative-W alignment matrices - Resolving custom Ruida firmware rotary bug - Fixed UI font scaling issue that can increase the UI size on low resolution screen and cropping of some UI elements. - Additional validation steps for environment variables to prevent some UI scaling issues when invalid values are carried over from older LightBurn versions. - The Galvo Move window appeared on gantry, JCZ and BSL devices, and once shown was remembered for that device. Each Move window now decides from the device profile whether it applies, the galvo one defaults to hidden and refuses to show elsewhere, and profiles that had stored it as visible correct themselves. - Added support for BSL door protect - The Jog Laser Down hotkey did nothing due to a typo. - Fixed new auto camera calibration wizard preview frame rate - Fixed Crash when editing Machine Settings and receiving errors from device. - Adding extensions tab to the galvo settings page - Delete Page and undo delete Page fixed to update the list of active layers. - Fix inability to adjust 16bit greyscale or ARGB32 images in the image adjust dialog. - Epilog engrave speeds just under 1% showed ?? on the machine display and ran too fast - Epilog CO2 fill and image layers ignored the power setting and engraved at full power - Docked panels overlapped and clipped their contents at large font and icon sizes - MOPA QPulse and Frequency support were confusing for Thunder devices. Consolidated those settings to make more sense - Custom GCode wasn't outputting rotary settings in headers - Prevent double refresh when changing the active page. - Galvo Rotary Marking and Split Marking advanced the serial number when no job was completed - REST API jog settings could not be changed, and invalid jog, home and override values were silently accepted - REST API cut settings repeated the base layer in the sub-layer list and left out sub-layer settings - Overcut cut short and ended off the outline on curves - Camera UI and thread safetly improvements - Fixed Startpoint editor, direction of arrow could be wrong on closed shape for some cases. - Made camera settings persist on prefs - Locked device settings for Epilog devices to match the actual device capabilities. - Fix camera auto modes overriding saved manual settings - Depth map from imported 3D model is no longer invisible when view mode is set to filled. - Depth map now remains as image type when it is moved to a new layer. ### Existing Feature Updates - Changed QNumEntry to allow comma or dot for the decimal place and ignore previous commas and dots, show thousands separator as thin space. - Show 'Cmd/Ctrl-Arrow:' instead of 'Ctrl-Arrow:' in settings to indicate Mac command. - Filter path & weird chars out of the document title in exported AI files - Update to latest VC Redist and remove unneeded version from installer - Break apart and Auto-join now preserve tabs - Added custom shortcut keys for user defined macros. - Add app version number to prefs - Enabled split marking for BSL galvos - Double-click in node edit to convert to path - Show a warning when importing a Galvo or DSP device with a Core License. - Improve theme so selected items and progress bars retain part of their original blue color instead of turning white for light theme and black for dark theme. - NewDeviceWizard shows a message that user does not need to edit comms settings except when resolving problems - Ensure consistent G-code in messages and gui, capitalize Error: in console. - If user runs probe wizard after run start, show a warning before starting the job to remove the probe and wires. - New comm status of Not Responding so error message can distinguish between disconnected and not responding. - Changes to License dialog to be more clear and have links to web pages for help - Faster bitmap loads for large projects - Allow ESC key to close measure tool - Exclude guide lines when generating thumbnail bounds - Add support for Ruida UDP file retransmit - Added vector troubleshooter - Added better multi mesh support for 3D Import and depth map conversion. - New Device Wizard and Device Settings include Z axis height setup for galvo controllers - Reduced to single Accelaser device - model list selection page added - Jog widget and camera layout fixes - Split out EZCad2 and EZCad3 drivers - Include Windows ARM EZCad drivers - Update FTDI drivers and libs, add the ARM driver for Windows - Auto Calibration Pattern Collection Procedure Upgrades - Accelplanner lib update and increased wobble precision - Allow variable axis letter names for controllers that support it - Frame preview positions every configured axis and shows grid tiles where they will actually be marked. - The laser status shows Moving while external axes reposition during a galvo job, and Stop during a split marking axis move takes effect immediately. - Split marking elapsed time includes the homing before a job and the return to the start position after it. - The Galvo Move window keeps its Z position across a Stop that did not interrupt a move, and no longer waits on a Home request the axis could not accept. - Split Marking Setup shows the fixed position target for the Z axis in the same Home is Zero convention as the Move window. - The EzCad3 Z jog stays within the configured Z axis height once the axis is homed. - Registration / Camera Widget Layout Updates - Alignment intro page removed - ACCELaser planner library loads on demand instead of at startup - Alignment wizard auto sets cut origin to Absolute and restores the previous on exit - Set focus on calibrate button in New Camera Wizard(#2530) - Camera dialog tool tipps improved - Both dialogs refuse to close on an unusable axis value, such as a minimum speed above the maximum, instead of silently clamping it. - A new split marking axis row on EzCad3 starts from the imported steps, distance, homing speed and timeout of the chosen motor. - Preset camera now also go through all setup steps - Alignment Wizard Verification Update - Warn if wrong april tags detected - Fill alignment pattern features option added - Cameras and Registration docks merged into one - Accelaser camera presets added - Focus Test and Interval Test are no longer shown for ACCELaser devices ### Miscellaneous - Allow trialing Pro mode with a valid Core license - Update Buy and Upgrade links to be ready for MM Pro - Allow pasting of valid URLs into Web Tool browser - Added legal warning that must be accepted before SVGNest can be used - Added 'Paste in Place' to right click context menu ### User Interface Updates - Improved visibility of toolbar drag handles and overflow arrows. - Added padding between items in the main toolbar. - Changed style of buttons in 3D import and depth map settings dialog to better show when a button has focus. - Split marking menu text and window titles no longer say one axis or single axis. - Application font size setting now applies to tooltip text. - The steps pair is labelled Steps and Distance in both dialogs, matching the imported values. - Cut settings dialog now includes Epilog specific settings and device limits. - MDNS search for Epilog devices to the device discovery dialog.