Repository navigation
Releases
Releases · FluidSynth/fluidsynth
fluidsynth 2.6.2
- Fix inconsistent note-onset-ramps when fluidsynth reuses a voice (#1863, thanks to @Yikai-Liao)
- Preserve MIDI parser state except on System Reset (#1868, thanks to @Yikai-Liao)
- Performance optimization for the IIR-filter (#1867, thanks to @Yikai-Liao)
- Fix infinite loop in DSP when sample-loop-wrap leaves phase negative (#1871)
- Fix the 4 ms predelay in Dattorro reverb (#1872, thanks to @Yikai-Liao)
- Honor sustain when releasing sostenuto (#1880, thanks to @Yikai-Liao)
- The MIDI player now rejects zero tempo in MIDI files (#1881 thanks to @Yikai-Liao)
- Fix loud and distorted sound for some SF3 files (#1856, thanks to @Yikai-Liao)
- Fix
NoteOffevents possibly reviving stale notes after receivingAllNotesOffandAllSoundsOff(#1879, thanks to @Yikai-Liao) - When switching between MIDI modes, fluidsynth now force-releases playing notes, as per MIDI spec (#1859)
- Fluidsynth now enforces the data value of CC126 events only when being in OMNI OFF mode, and remembers it when in OMNI ON mode (#1859)
- Fix libfluidsynth's install name on MacOS to make it relocatable (
@rpath) rather than tied to an absolute build/install path (#1891, thanks to @pedrolcl) - Fix memory leaks in the SDL3 audio driver (#1893, thanks to @rsp4jack)
- Fix a race-condition during multi-threaded rendering (#1895, thanks to @Yikai-Liao)
fluidsynth 2.6.1
- It's now possible to set the node name of the pipewire driver, see
audio.pipewire.idsetting (#1842, thanks to @anupam-git) - Fix a random race condition and possible deadlock in
delete_fluid_server()on MacOS and possibly other POSIX-based OSs (#1837) - Fix AWE32 NRPNs not working for DLS files (#1849)
- Fix a bug that might have caused samples from outside the sample loop to be considered for interpolation, when the interpolation order is larger than the sample loop length (#1826)
- Fix a build issue with old Pipewire versions (#1828)
- Fix a build issue when cross-compiling (#1835, thanks to @tpetazzoni)
- Fix a build issue on FreeBSD (#1836, thanks to @lhondareyte)
fluidsynth 2.6.0
New Features
- Add automatic Gain Control / Output Limiter on final rendering stage, refer to related FluidSettings (#1302, thanks to @neoharp-dev)
- The
synthgained support for signed 32-bit & 24-bit linear PCM, and WASAPI is the first audio driver being able to use 24-bit audio (#1737, thanks to @jimhen3ry) - Add support for MIDI RPN 5 - Modulation Depth Range (#1355)
- Add new reverb engines to fix flaws of fluidsynth's previous FDN reverb, refer to wiki for an overview (#1760)
- Implement GM2 bank select mode (#1323, thanks to @Guflly)
Musically Breaking Changes
- Fix a bug introduced 17 years ago in 1.1.0 that caused sample fine-tune to be applied incorrectly for some Soundfont instruments (#1773)
- Implement MIDI RP-020 to fix MIDI files that use MTS being played back incorrectly (#102, thanks to @mawe42)
- Fluidsynth's default reverb engine was changed to Dattorro - a plate-style reverbator (#1760)
- Fluidsynth now uses a higher order sinc interpolation, the previous 7th order sinc was dropped due to quality issues (#1483)
Other changes
- Make the Pipewire driver more resilient against xruns (#1813, thanks to @rsp4jack)
- Fluidsynth's Wiki was migrated to Zensical and its markdown source is now hosted in this repository (#1777, thanks to @spessasus)
- Fluidsynth's API documentation is now hosted alongside the wiki (#1792)
- Fluidsynth now exits with an error whenever it is unable to load Soundfonts passed as command line argument (#1807)
- Remove GLib and libInstPatch (#1799)
fluidsynth 2.5.7
fluidsynth 2.5.6
Fluidsynth received 6 vulnerability reports within a week - thanks to all security researchers! Pls. note that Github is currently running behind issuing CVE IDs, see their blog post. We expect the missing CVE IDs to be issued within the upcoming week.
- Fix CVE-2026-58264 - a heap-based buffer overrun in command handler (GHSA-mqmq-w63q-cj94)
- Fix a heap-based buffer overflow in MIDI player (GHSA-976m-35rw-h3m6)
- Fix a heap-based buffer overrun for DLS samples (GHSA-59ph-rx8r-8p4j)
- Fix a DLS
ptblchunk integer overflow (GHSA-r4mc-v3p8-pv47) - Fix a DLS articulation chunk integer overflow (GHSA-hp72-35pr-6h6r)
- Fix a SF2 DMOD chunk integer underflow (GHSA-rmc4-c8hw-455w)
fluidsynth 2.5.5
- Fix a build issue on BigEndian architectures (#1783, thanks to @thesamesam)
- Adjust the log level for unimplemented OSAL functions in release builds (#1795, thanks to @white-axe)
fluidsynth 2.5.4
fluidsynth 2.5.3
- Support building for tvOS (#1743, thanks to @Ghabry)
- Several minor fixes for the CMake buildsystem (#1742)
- Several documentation updates (#1745, #1736, thanks to @jimhen3ry)
- Fix a build issue when fluidsynth is consumed as part of a bigger CMake project (#1752, thanks to @thal)
- Fix fluidsynth being unable to load SoundFonts when being compiled with an old version of MinGW (#1755)
fluidsynth 2.5.2
- The CoreAudio driver has gained iOS support (#1720, thanks to @neoharp-dev)
- Improve error handling and reporting when loading default soundfont (#1712)
- Improve logging and side-effect mitigation when basic channel configuration changes (#1695)
- Fix
CVE-2025-68617- a heap-based use-after-free involving DLS files (GHSA-ffw2-xvvp-39ch)
fluidsynth 2.5.1
- Previous versions have incorrectly exposed private C++ and inline symbols; they are now hidden from the library (#1676)
- Fluidsynth now resets DataEntry values when it receives (N)RPN MSB/LSB to prevent off-tuned channels (#1672, thanks to @rsp4jack)
- It is now possible to install the library, header and executable independently from each other (#1693, refer to wiki for details, thanks to @pedrolcl)
- Add a CI pipeline for iOS and publish precompiled iOS binaries for each release (#1703, #1677, thanks to @withSang)
- Fix the precompiled Windows binaries lacking dependency libraries (#1668)
- Fix a regression introduced in 2.5.0, that could have caused a NULL pointer deref when playing AWE32 NRPN MIDIs (#1691)
- Fix a regression introduced in 2.5.0, that caused convex unipolar modulators to use a concave mapping (#1697)
- Fix a regression introduced in 2.4.6, which in rare cases could have caused the cutoff frequency of the IIR filter to get stuck or change abruptly (#1679)
- Fix a build issue where fluidsynth was trying to find glib even when it shouldn't (#1673, thanks to @dg0yt)
- Fix a build issue on MacOS (#1684, thanks to @pedrolcl)
- Fix typos in ALSA log messages (#1704, thanks to @toadster172)