Release xLights release: 2026.16

Status
Not open for further replies.

dkulp

Full time elf
Joined
Jan 2, 2013
Messages
175
Location
Framingham, MA

Enhancements​

  • scott — Print Layout Image is now a print-preview dialog: pick a Preview or the whole layout, set the render resolution, choose which labels are shown (with adjustable label size/color), and optionally invert colors before printing
  • scott — Layout: right-click a model and choose "Wire to Closest Controller with Open Port" to auto-assign it to the nearest controller with enough consecutive open pixel ports for all its strings
  • scott — Model Definitions: the preview's pencil tool and click-drag node selection are disabled when they cannot apply (nothing selected, a SubModel in SubBuffer mode, or a Face in Matrix mode)
  • derwin12 — Lyric phrases and words can now be duplicated (#3923)
  • derwin12 — Ripple can now trigger a new cycle from a timing track, matching Shockwave (Timing Track/Filter/Regex/Duration settings)
  • derwin12 — Export House Preview Video now lets you choose the output resolution
  • derwin12 — Custom models have a Background Image Transparency % setting, so props positioned behind the background image show through it
  • derwin12 — SubModels and States dialogs: editing node ranges while the Play preview animation is running now stops the animation automatically
  • derwin12 — Automation: new BatchCheckSequence lua script
  • derwin12,dkulp — Windows/macOS: Generate Custom Model can capture from a USB webcam and generate an .xmodel (#3791)
  • AlexB — macOS/Linux: the scroll wheel and trackpad slides adjust sliders and dropdowns, matching Windows. The control has to be clicked or focused first, so scrolling past a control never changes it by accident
  • cybercop23 — A submodel alias in "Model/Submodel" format now matches when the model part also matches a model alias, and "Update Aliases" promotes a submodel alias to the model itself when the submodel name already matches
  • dkulp — Export Models: bulb counting is now per node, so shadow models and other models sharing a channel range are counted once; the Totals sheet gains "Model Channels (incl. overlap)" and "DMX Channels" rows to reconcile channel counts
  • dkulp — FPP shift-string capes (K8/K16/K32 and the K16A-B, K64D-B, K128D-B) now offer the pixel protocols FPP can actually drive on them - the WS2811 family by name, TM1814, the 16 bit UCS8903/8904, and slower parts such as UCS1903 and TM1803 - and the protocol is uploaded per port. A mix of timings that cannot work on one cape is reported rather than uploaded
  • dkulp — FPP: Falcon v4 smart receivers can be selected on any string cape FPP drives itself; a cape that has no v5 listener now falls back to v4 rather than v2
  • dkulp — The show's id is now written to the log, so a submitted report identifies which show it came from
  • dkulp — Crash reports now include a recent-activity trace of the last few hundred events and playback actions, so a report shows what the program was doing without debug logging enabled
  • dkulp — iPad - Sequencer grid and house preview do much less work per frame, so dragging and scrolling stay smooth on large sequences
  • dkulp — iPad - Show-folder backup and restore: File > Back Up Show Folder copies the show's sequence and configuration files into a timestamped Backup folder (the same format desktop's F10 Backup writes, so backups restore across both), with an optional backup on show-folder open, an automatic backup before autosave recovery, and a Restore Backup sheet that can bring back controllers, layout, presets and selected sequences
  • dkulp — iPad - Jukebox: link numbered buttons to effects (by description or model/layer/time) and tap to select and play them, matching the desktop Jukebox panel; buttons saved in the sequence work on both platforms
  • dkulp — iPad - Dragging out a region of the grid with a timing track active now selects that block of cells, and long-pressing empty grid space opens a menu to paste into it, fill it with random effects, or drop in the armed effect
  • dkulp — iPad - An image, video, Glediator or shader file dropped onto the grid becomes the matching effect at that spot
  • dkulp — iPad - Press T to drop a timing mark at the play marker on the active timing track, and S to split the mark under it, so beats can be tapped out while the sequence plays
  • dkulp — iPad - Lyric breakdown can be run on a single word, or on just the marks you have selected, rather than only a whole track or a single phrase
  • dkulp — iPad - Effect presets can be exported as .xpreset and imported from one, so a preset library moves between the iPad and the desktop in either direction
  • dkulp — iPad - Models in the Master View can be dragged into a new order
  • dkulp — iPad - Long-press the render button to see per-model render progress, with the status of each model being rendered
  • dkulp — iPad - Layout changes are now autosaved. If the app is closed or crashes with unsaved layout work, the next open offers the autosaved copy back
  • dkulp — iPad - Previews can be renamed and deleted, not just created. Deleting one leaves its models in the show as Unassigned; renaming one takes its models with it
  • dkulp — iPad - The Layout Editor's preview now has the same viewpoint menu as the House Preview: apply, save, delete and restore the default view
  • dkulp — iPad - Several selected models can be exported to a single .xmodel file
  • dkulp — iPad - Models, groups and viewpoints can be imported from another show. Pick that show's xlights_rgbeffects.xml, tick what you want, and it merges into the preview you are editing; a name already in use is imported under a new one
  • dkulp — iPad - The visualizer can work on a whole port at once: remove every model from a port or from the controller, move a port's models to another port, and set or clear the port's smart remote and its type
  • dkulp — iPad - Controller output settings can now be edited for every ethernet protocol, not just E1.31, ArtNet and KiNET. KiNET gains its Version setting and labels its outputs as ports, and a controller with no known model can be set to Player Only
  • dkulp — iPad - Light Test gains Groups and Outputs targeting, so a model group or a raw universe can be tested directly, plus a filter box for finding what to test in a large show
  • dkulp — iPad - Check Sequence results can be exported and shared as an HTML report
  • dkulp — iPad - The AI image generator now shows all of a generator's settings, not just the ones offering a fixed list of choices
  • dkulp — iPad - Divide Timing Marks gained the missing 12 and 16 entries
  • dkulp — iPad - Opening a show that uses a base show folder no longer re- merges the base controllers when that file hasn't changed since the last merge. "Update From Base Now" still merges unconditionally
  • dkulp — iPad - Crash-report uploads no longer run while the app is launching
  • dkulp — iPad - Crash reports now carry a backtrace taken at the moment of the crash, plus every thread's stack and the recent-activity trace the desktop already sent
  • dkulp — iPad - Automatic diagnostic uploads now include a redacted copy of the show configuration, so a report can be opened as a show folder to reproduce a problem. File paths and controller addresses are replaced. Sharing logs yourself is unchanged and still sends the real files


xLights is available for download from https://github.com/xLightsSequencer/xLights/releases/ for Windows/Linux and from the App Store for Mac.

Issue tracker: https://github.com/xLightsSequencer/xLights/issues
Video tutorials: https://videos.xlights.org
xLights user manual: https://manual.xlights.org/xlights/

If you have encountered a specific issue, developers ask that you submit details to the xLights GitHub repository.

For requests for general help among peers, consider starting a new forum thread: https://auschristmaslighting.com/forums/xlights-xschedule.61/post-thread
 
Last edited by a moderator:

Bug Fixes​

  • dkulp — Export Models: fix the Bulbs total counting dumb string types (Single Colour, 3/4 Channel, Strobes, Node Single Colour) many times over, fix the per-model Light Count reporting only one string's worth of bulbs, and stop DMX fixtures such as moving heads having their pan/tilt/gobo channels counted as bulbs
  • dkulp — Fix the Single Strand FX effects rendering their first frame from uninitialised memory, which blanked part of the model and made the render non-deterministic
  • derwin12 — Fix the Text effect rendering nondeterministically (and occasionally crashing)
  • derwin12 — Fix Ripple effect shapes rendering very differently/broken since 2026.15 (#6934)
  • derwin12 — Fix a Custom value curve copying the prior effect's curve (#6937)
  • scott — Fix multi-row lasso-selected effects pasting 1-3 rows below the row you clicked (#6944)
  • derwin12 — Fix locked effects duplicating when dragged across rows/layers (#6697)
  • cybercop23 — Fix effect start/end times becoming corrupted when dragging an effect past another effect on the same row, then resizing it (#6908)
  • cybercop23 — Fix pasting effects onto a Model Group expanding it to show its member models/strands (#6900)
  • cybercop23 — Fix Face and State effect definition choices when switching between different model groups
  • dkulp — Fix a crash right-clicking the sequencer grid on a row with no element, and a crash when a row-heading right-click menu item is chosen after the sequence has been closed or reloaded
  • derwin12 — Don't re-prompt to use the rgbeffects autosave backup after the user already chose to discard those changes on exit
  • derwin12 — Fix Import Effects: picking a color for a mapped row (or dismissing the color picker) no longer toggles that row's Map To mapping off, and a narrow saved dialog size no longer clips the Color column
  • dkulp — Fix a crash selecting rows in the Select Effects panel after the listed effects had been deleted
  • dkulp — Fix a crash editing a State effect after the model it referred to was deleted or the show folder was changed
  • dkulp — Fix a crash opening a sequence whose effects use a "Per Model" buffer style the model does not support
  • dkulp — Fix a crash opening a sequence that stores more timing tags than xLights keeps
  • dkulp — Fix a crash importing a Vixen .vix sequence whose channel numbers are not contiguous
  • dkulp — Fix a crash opening the DMX effect panel when no sequence is loaded
  • dkulp — Fix a crash closing xLights while the Effect Assist panel was in automatic mode
  • dkulp — Fix a crash showing or hiding a panel from the View menu
  • dkulp — Fix a crash closing the Replace Color dialog with its colour dropdown open
  • scott — Fix a crash clicking in the Model Definitions preview (Faces/States) with nothing selected in the name list
  • dkulp — Fix a crash clicking Reverse Nodes in the submodel editor with no submodel selected
  • dkulp — Windows: fix sequence output running below the configured frame rate, dropping frames even though the average rate looked correct (#6954)
  • dkulp — Fix crashes starting playback when the audio engine had been stopped (such as after a pause or an audio device change) or had started but not begun playing yet
  • dkulp — Fix a crash starting or stopping playback with auto-show house preview enabled while the sequencer tab had never been opened
  • derwin12 — The render progress dialog no longer stays on top of other applications (#6795)
  • dkulp — A crash during a render could leave the program running but frozen instead of reporting the crash; the crash report is now always produced, and a render with no window writes its report to disk
  • dkulp — An exception raised by the graphics or video frameworks on a render thread was logged only as "non-std exception type"; it is now named and described
  • dkulp — Windows: fix renders with many video effects hanging forever with the DirectX11/MF decoder selected. Frame reads now have a deadline, a stalled video falls back to the software decoder, and how many videos the graphics driver can hardware-decode at once is learned as it goes
  • dkulp — Windows: the Intel QuickSync (qsv) hardware video decode option never actually engaged and silently decoded in software. It now works, measured about 3x faster than software decode where the hardware supports it
  • dkulp — A sequence referencing a picture that can't be found no longer re- checks the filesystem for it on every frame, which slowed rendering badly on cloud-backed show folders and filled the log
  • dkulp — Opening a sequence whose images are embedded in the .xsq no longer searches the disk for them; on macOS that pulled files evicted to iCloud back down, spending many seconds downloading images the sequence already contained
  • dkulp — Fix the headless render truncating models mapped past the last controller channel; those channels were missing from the .fseq and the straddling node corrupted the next frame. It now sizes the frame from the models too, matching the normal render
  • dkulp— Windows: re-enable the camera scan option in Generate Custom Model
    • xLights always reported no cameras
  • dkulp — Windows/Linux: fix a crash on startup when the machine falls back to the software OpenGL 1.1 rasterizer - the preview now draws nothing instead of crashing
  • dkulp — Fix a crash drawing the 3D layout preview, and re-enable a family of NaN/infinity guards that optimized builds had been silently discarding
  • dkulp — Fix a crash loading a show folder while models were resolving file paths on background threads
  • dkulp — Fix crashes reading .fseq files with unreadable or out-of-order compression block tables, including importing a Falcon fseq
  • dkulp — Port FSEQ read hardening back from FPP - a corrupt .eseq with a zero channel count no longer divides by zero, and a frame whose channel buffer could not be allocated is reported as unread instead of crashing
  • dkulp — macOS: fix a crash using the Add Controller button on the Layout tab
  • dkulp — Fix a crash on the Layout tab when a controller placement box is left behind by a controller that no longer exists
  • dkulp — Fix a crash selecting in the model tree straight after an undo that deleted or replaced the selected model
  • dkulp — Fix a crash deleting a position zone when the zone list changed while the confirmation prompt was up
  • dkulp — Fix a crash placing a model when a dialog appears part way through loading it, such as the group-selection prompt on an imported model
  • dkulp — Fix a crash updating serial controllers from the base show folder when the base folder's serial ports differ from the current show's
  • dkulp — Fix a crash setting a model's serial Speed in the Layout property grid straight after changing its protocol
  • dkulp — Fix memory corruption loading a terrain object with invalid stored elevations
  • dkulp — Fix a crash choosing an OBJ mesh whose backup copy cannot be written, and leave the original file untouched in that case
  • derwin12 — Replace Model(s) With This Model now deletes the source model once it has replaced the selected target(s), and no longer overwrites the target's aliases with the source's; the Model Aliases dialog gains an Edit button (#6901, #6951)
  • derwin12 — Fix Remove From Group leaving a model's submodels behind in the group when the model itself is removed (#6925)
  • derwin12 — Fix rotation not applying to all selected polyline models in a group
  • derwin12 — Fix the estimated current draw shown in the controller visualizer tooltip to account for brightness inherited from earlier models chained on the same port
  • kylegrymonprez — Layout: fix edge cases where a controller's "Show on Layout" would not appear in the property grid
  • scott — macOS: fix the new Print Layout dialog becoming stuck behind the main window and unresponsive to clicks
  • dkulp — Fix a crash when a WLED controller answers with an error page instead of JSON, such as an offline controller reached through a proxy
  • dkulp — FPP Connect: uploading UDP outputs no longer resets FPP10's E1.31 Pacing and Sending mode - every setting on the universes output that xLights does not own is carried forward unchanged
  • derwin12 — Bulk Controller Upload, sorting the controller list by FPP Proxy, and the Multi-Controller Upload "Select with Proxy" menu no longer stall when a proxy hostname can't be resolved
  • dkulp — Updating from a base show folder now gives the current show a new id if it has the same one as the base, so two shows set up by copying no longer count as one in submitted reports
  • dkulp — iPad - Fix a crash when changing the show folder while a sequence was still rendering or the preview was drawing
  • dkulp — iPad - Changing a sequence's frame interval now saves, closes and reopens the sequence so effects move onto the new interval, as the desktop does. It asks first, and warns again when moving to a longer interval
  • dkulp — iPad - Delete Submodel/Strand/Node Effects, Promote Node Effects, Convert Data to Effects, Convert to Per-Model, Breakdown Words and Fill Region From Timing Marks can now be undone
  • dkulp — iPad - Playback now follows the audio track picked in the waveform, so selecting a stem plays that stem
  • dkulp — iPad - A newly dropped State effect starts on the model's first state, and a Faces effect on the phoneme it does on the desktop, instead of starting blank
  • dkulp — iPad - A newly dropped effect now starts with the same palette as the desktop: the same eight colours in the same order, with the first two enabled. Previously the new effect rendered with an empty palette
  • dkulp — iPad - Effects that follow a timing track or another model now re- render on their own when the thing they follow changes, instead of showing a stale result until the next Render All
  • dkulp — iPad - Preset and group names with illegal characters or collisions are corrected when the library loads, as they are on the desktop
  • dkulp — iPad - Views are saved again. Every view edit (create, rename, clone, delete, change models) was lost on relaunch. Renaming a model now updates the views that contain it too
  • dkulp — iPad - Blank the lights when playback stops or output to lights is switched off, instead of leaving them holding the last frame
  • dkulp — iPad - Controllers can no longer be added, deleted, reordered, edited or uploaded while the show is outputting to lights
  • dkulp — iPad - Controller discovery now probes the controllers already in the show rather than relying on broadcast alone, so an FPP on another subnet or behind a proxy is found, and a password-protected FPP asks for the password instead of being skipped
  • dkulp — iPad - Cleanup File Locations now also gathers the files referenced by the layout - face images, dimming curves, mesh and image files, and the preview background - not just the ones used by the sequence
  • dkulp — iPad - A show still using the old networks file format is converted once and saved, instead of being reconverted every time it is opened
  • dkulp — iPad - FPP Connect sends a master-mode FPP a non-sparse sequence file, matching the desktop, so a master player has the channel data its remotes need
  • dkulp — iPad - AI-generated images are now stored inside the sequence rather than as loose files in the show folder, so a sequence copied off the iPad keeps them
  • dkulp — iPad - The sequence picker no longer stutters on show folders stored in iCloud Drive
  • dkulp — iPad - Fix sustained CPU use, and the battery drain with it, when scrolling the sequencer in a show with many rows
  • dkulp — iPad - Help / Release Notes no longer lands on a missing page for a patch release that has no release notes of its own
 

Changes​

  • scott — The Layout tab's "Show Names"/"Show Start Channel" checkboxes moved into the new Print Layout dialog - they now control labels only in the print preview/output, not while editing
  • cybercop23 — Opening a sequence stored outside the show directory now warns first, and Save requires saving inside the show directory (Save As already ensured that)
  • dkulp— Windows/Linux: the playback timer no longer uses a dedicated thread
    • Linux uses the platform timer directly and Windows waits on a high resolution timer
  • dkulp — Windows: AVI videos now always use the software decoder, matching macOS. Media Foundation decoded them on the CPU anyway while occupying one of the few hardware decoder sessions, so a sequence with several AVI videos could stall or hang the render - another reason to re-wrap AVI media as mov/mp4
  • dkulp — Crash reports for an exception escaping the main loop now say when the stack was unwound by neither the C++ nor the Objective-C runtime, instead of reporting an unhelpful "unknown exception"
  • dkulp — iPad - View names are held to the same rules as the desktop (letters, numbers, spaces, underscores and hyphens) and say so when a name is rejected
  • dkulp — iPad - The value curve editor no longer offers Min/Max fields or a Real Values switch; both now behave as they do on the desktop
 
Status
Not open for further replies.
Back
Top