2026.16 — August 24, 2026
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
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