LMMS Progress Report: June 2026
Welcome back to our monthly series of LMMS Progress Reports!
If you missed last month's report, you can find it here.
Nightly News
June was a slow month for development with just 7 PRs merged. We are in the midst of a feature freeze before the next alpha release, so these are primarily bug fixes and performance improvements.
Improve mix sanitization behavior (#7323)
By default, LMMS sanitizes the audio output of all instruments and effects in order to prevent invalid floating-point values like inf and NaN, though before this PR, the sanitization routine was very inefficient. Now thanks to work by sakertooth, the sanitization routine has been greatly simplified to improve the performance and an option was added to the Settings for enabling or disabling sanitization.Fix subwindow size on load (#8204)
This PR by yohannd1 fixes the size of subwindows when loading projects.
Other changes:
- Docs: Change
libstk0-devtolibstk-devfor Debian/Ubuntu (#8409) - Remove suil from msys2 dependencies (#8420)
- Fix missing include in TapTempo.h (#8421)
- Fix
AudioBuffer::absPeakValue()not actually being absolute (#8422) - Remove Model constraints on
VolumeKnob(#8438)
In progress
In June, 16 new PRs were opened, of which 1 has already been merged. The following is a list of both new and old PRs which were worked on in the past month.
Nearing completion
- Fix Sndio backend & cleanup compilation on OpenBSD (#8407)
rubiefawn fixed two bugs affecting the Sndio audio backend, while also making LMMS easier to build on OpenBSD.
In the works
Add ability to create "linked clones" of clips (#8254)
In this PR by Itreza2, copies of clips can be linked together so that any changes made to one of the linked clips is reflected in all the others. Originally this feature only worked with MIDI clips, but it has since been extended to support Sample and Automation clips as well. And in the past month, numerous bug fixes were made.Add Native SFZ Player (#8391)
regulus79 has continued work on the native SFZ player plugin, fixing a number of bugs since last month. After the feature freeze is lifted, this PR will be waiting and hopefully ready to merge.
Other PRs
These PRs were also created or worked on during June.
- Dynamic branding color for different build types (#5166)
- ignore
.vscode/folder (#7988) - Add MPE output support (#8034)
- Apply name filter if export file lacks extension (#8212)
- Fixed Issue - Can't copy notes between tracks in B+B editor (#8268)
- Fix PianoRoll Knife Tool UI (#8337)
- Resolve all Doxygen warnings & docs cleanup (#8361)
- Actions: don't zip nightly images (#8423)
- Add Ctrl+C/V/X/D keyboard shortcuts for Song Editor clips (#8428)
- Snap LADSPA Parameter Step Sizes to Powers of 10 (#8429)
- Prevent Sf2Intrument from trying to load non-existing file on deserialization (#8432)
- Add libgig support, fix VST time sync, and improve build scripts (#8433)
- Add robust Type 1 MIDI export (#8440)
- C++20 cleanup (#8446)
- Add Duplicate (Notes) Over action+shortcut in Piano Roll (#8447)
- Improve floating text boxes (TextFloat and TextFloatSimple) (#8448)
Goals for July
Since May, we've been in the midst of a feature freeze which is intended to last until the next alpha release.
In that time, we've merged dozens of bug fixes and performance improvements to ensure the stability of the new alpha release. Now it is almost time to release it.
After a poll of developers on Discord, we decided to aim for an end-of-July release date.
So if all goes well, there will be a release before next month's progress report.
New contributors
- grande1900 fixed an
AudioBufferregression in #8422 - NewBieCoderXD improved a build system diagnostic message in #8409
Closing thoughts
Thanks for reading! We have a lot of work ahead of us, but if you'd like to contribute to LMMS's development, it could go faster. Whether you're a developer or a tester, it all helps!
If you have any questions or suggestions, please let us know below or on our Discord.
Have a great July!