v4.1.1 (2026-07-05)
 * Bugfix: resolved an issue that broke state persistence and preset saving in
   certain DAWs (including Ardour, FL Studio, etc.) when the plugin was used on
   a system with a non-English locale.
   (https://github.com/attilammagyar/js80p/issues/46)

v4.1.0 (2026-06-27)
 * A random preset generator has been added to help explore the sounds of
   JS80P.

v4.0.2 (2026-05-18)
 * Various small CPU usage optimizations were done.
 * Bugfix: using the 10th harmonic of the Custom waveform could cause unwanted
   noises and aliasing distortions if the oscillator's frequency was moving
   (e.g. via the Fine Detune knob or the Oscillator Instability setting, etc.).
   This has been fixed. (https://github.com/attilammagyar/js80p/issues/41)
 * Bugfix: when both the VST 3 and the FST version of JS80P were loaded
   in a host application on macOS, or when JS80P and MPE Emulator were both
   loaded on macOS, then a name collision of an internal resource could occur
   between these plugins, resulting in various warnings or error messages,
   depending on the host application. This collision has been resolved so that
   now any combination of the latest versions of these plugins can be loaded on
   macOS into the same process without any warnings and error messages.
   (https://github.com/attilammagyar/js80p/issues/42)
 * Bugfix: when using MPE, envelope generators with dynamic update modes failed
   to properly update once the envelope reached the sustain stage. This has
   been fixed so that envelope update modes are now respected when using MPE
   as well. (https://github.com/attilammagyar/js80p/issues/43)
 * Bugfix: switching note handling modes could result in Note On messages
   being dropped. This has been fixed, so now notes will properly make the
   configured sounds after changing the note handling mode.
   (https://github.com/attilammagyar/js80p/issues/44)
 * Bugfix: note states were not properly reset when loading presets, resulting
   in envelope generators not respecting the configured update modes. This has
   been fixed. (https://github.com/attilammagyar/js80p/issues/45)

v4.0.1 (2026-03-27)
 * Bugfix: when the VST 3 plugin received a Note On and a subsequent Note Off
   event with the exact same timestamp (e.g. while editing MIDI in a piano
   roll UI), the note got stuck until a plugin reset or an All Notes Off event
   occurred. This is now fixed
   (https://github.com/attilammagyar/js80p/issues/39).

v4.0.0 (2026-03-24)
 * JS80P now runs on macOS as well.
 * New oscillator and LFO waveforms with pulse width modulation (PWM): pulse,
   soft pulse, bipolar pulse, and soft bipolar pulse.
    * Most projects and patches that were saved by older versions of JS80P
      should keep working without any changes, however, there is one exception
      to backward compatibility: if the waveform parameter of an oscillator or
      an LFO was assigned any kind of automation (e.g. MIDI controllers,
      macros, etc.), those automations may need adjustments in order to take
      the four new waveform options into account.
 * New distortion types, including sin(x), sqrt(x), etc.
 * New presets:
    * 16 Beats Riser,
    * Ambient Pluck,
    * Chiptune,
    * Octave Bass,
    * Tremolo PWM Bass.
 * The GUI is now resizable which should also fix various font sizing problems.
 * Renamed badly named old presets.
 * Improved VST 3 event processing order consistency.
 * Bugfix: logarithmic scale parameters were not saved correctly if their value
   was not modified after switching to logarithmic scale. This is now fixed.
   (https://github.com/attilammagyar/js80p/issues/38)
 * Bugfix: the plugin will handle FL Studio's out-of-range parameter values
   (e.g. Pitch Bend) more gracefully.
 * Bugfix: in certain cases, the noise generator of the oscillators could
   produce sound before the Note On events would have a chance to take effect.
   Now it's made sure that noise generators remain silent before Note On
   events.
 * Bugfix: VST 3 bundles now use the correct structure.

v3.5.0 (2025-11-09)
 * MIDI Polyphonic Expression (MPE) is now supported.
 * Improved program name abbreviations.
 * New presets:
    * Analog Brass AT MPE, Analog Brass mod MPE, Expressive Saw MPE:
      MPE-friendly versions of the respective presets,
    * Crystal Bowl, Metal Bowl, and Metal Bowl Bright: relaxing singing bowl
      sounds where note velocity selects between a struck bowl that rings out
      and fades, and one that keeps resonating continuously as if a mallet was
      circling its rim.
 * Bugfix: avoid potential crash in hosts which fail to provide the requested
   auxiliary input.

v3.4.1 (2025-01-25)
 * Bugfix: since v3.3.0, oscillator 1 went silent whenever the modulator
   additive volume parameter was being changed or controlled by an LFO. This
   has been fixed (https://github.com/attilammagyar/js80p/issues/35).
 * Bugfix: in the Stalacpipe Organ preset, subsequent notes could affect the
   pitch of already scheduled water droplet sounds which could lead to
   unnatural sounds when very high and very low notes were alternating. Now
   once scheduled, water droplets will maintain their pitch regardless of
   subsequent notes.
 * Bugfix: the VST 3 plugin used to ignore certain requests by the host to
   clear its state and echo and reverb buffers
   (https://github.com/attilammagyar/js80p/issues/34).

v3.4.0 (2025-01-12)
 * Oscillators can now be mixed with noise.
 * The Echo and Reverb effects can now be gated by switching their side-chain
   compression into expansion mode.
 * Add a basic Tape simulation effect for slow-down stops, lo-fi wow and
   flutter, saturation and tone coloring, etc.
 * New presets:
    * FX Master Enhancer, a preset for using JS80P as a master bus effect
      rather than a synthesizer.
    * Creepy Wind for making eerie wind sound Foley effects.
    * Stalacpipe Organ, the sound of the largest musical instrument in the
      world.
 * Bugfix: fixed the positioning of the distortion type selectors on the user
   interface.

v3.3.0 (2024-12-11)
 * The MIX (modulator additive volume) parameter can now be controlled with
   envelopes and polyphonic LFOs.
 * New presets: Expressive Saw, a preset where your playing style can
   dramatically change the sound, and Flute Mono, a monophonic version of the
   Flute preset.
 * Bugfix: LoongArch VST3 packaging has been fixed in the source distribution
   thanks to @YHStar.

v3.2.1 (2024-11-17)
 * The meaning of the Macro and Envelope scale parameters, and the LFO
   amplitude parameter have been clarified on the user interface and in the
   documentation.

v3.2.0 (2024-11-16)
 * The delay lines of the Echo effect can now be reversed. Various combinations
   of reversed and normal delay lines can result in interesting rhythmic
   effects.
 * The source distribution can now be compiled for LoongArch systems thanks to
   @YHStar.
 * Small performance improvements in the distortion effects.
 * New preset: Dystopiano, showcasing the weird and eerie sound of backwards
   echos.

v3.1.3 (2024-08-19)
 * Bugfix: oscillator filters will now correctly handle polyphony when one or
   more of their parameters are controlled by LFOs with amplitude envelopes
   (https://github.com/attilammagyar/js80p/issues/31).
 * Bugfix: MIDI CC helper parameters are now registered with the correct
   default values in both the FST and the VST3 plugin.
 * VST3: turn off MPE to note expression conversion during plugin
   initialization in hosts which do it by default, in order to be able to
   receive MIDI events unmodified.
 * VST3: update the SDK to 3.7.12 (build 20).

v3.1.2 (2024-07-29)
 * Bugfix: built-in presets should never overwrite oscillator tuning settings.
   (Depending on the plugin type and the host application's behavior, this
   change may only take effect in newly created projects.)
 * FST (VST 2.4): improve compatibility with hosts that use the
   "receiveVstTimeInfo" and "openCloseAnyThread" can-do queries.

v3.1.1 (2024-06-08)
 * Bugfix: make header texts on the Macro tab consistent with other UI
   elements.
 * Bugfix: export helper parameter for MIDI CC 88 and make it available as a
   controller. (Backward-compatibility is kept for host and plugin combinations
   where parameter order matters.)
 * Bugfix: fix building with GCC versions up to 14.1.0.

v3.1.0 (2024-05-27)
 * New envelope update modes make it possible to turn non-polyphonic aftertouch
   into semi-polyphonic, with either last key, oldest key, lowest key, or
   highest key priority.
 * New note handling modes allow retriggering sustained notes (rather than
   stacking them), and ignoring the sustain pedal's original interpretation so
   that it can be used as a 0% / 100% switch without affecting note lengths.
 * Distortion effects now allow selecting the type of distortion:
    * tanh 3x, tanh 5x, tanh 10x for saturation, medium and heavy soft
      clipping respectively,
    * harmonic distortions,
    * (band-limited) bit crusher-like effects.
 * Reverb room size can now be adjusted.
 * External audio input can now be mixed into the effects chain as well, so the
   plugin can also be used as an effect. (Though using a synth plugin as an
   effect can be quirky in some host applications, and it may require some
   experimentation with track and bus layout, signal routing, plugin types, and
   plugin settings.)
 * Changing sample-rate parameters via the user interface will now also be
   smoothed in order to avoid sudden jumps when tweaking delay based effects.
   (MIDI CC events and other momentary value based controllers were always
   smoothed.)
 * New presets: Lo-fi Keys, Analog Brass AT last, and Analog Brass mod last,
   the latter two demonstrating the usage of semi-polyphonic aftertouch.
 * Bugfix: centered LFOs will not be clamped when MIN and MAX values are
   inverted. (Clamping was a regression introduced in v3.0.0.)
 * Bugfix: plugin latency is now correctly reported to the host.

v3.0.1 (2024-05-22)
 * Preview version of v3.0.0, not ready for production use.

v3.0.0 (2024-05-01)
 * Oscillator fine detune range can now go from -4 octaves to +4 octaves.
 * LFO amount can now be controlled by an Envelope when the LFO is assigned to
   a polyphonic parameter.
 * LFO frequency can now use logarithmic scale.
 * Envelope attack, decay, and release shape can now be configured.
 * Envelope time parameters can now be tempo-synced, so that their unit of
   measurement becomes beats instead of seconds.
 * Voices can now update Envelope settings optionally at note end as well.
 * The number of Envelopes has been increased to 12.
 * The number of Macros has been increased to 30.
 * Macro distortion shape can now be configured.
 * The midpoint of Macros can now be customized, making it easier to shape the
   pitch bend wheel's range.
 * Filter Q parameter can also use logarithmic scale.
 * The Echo and Reverb effects can now apply gradually increasing distortion to
   the delayed signal.
 * The Q factor of the high-pass filter can now be adjusted in the Chorus,
   Echo, and Reverb effects.
 * The released note and the release velocity can also be used as a parameter
   controller. (Note: unfortunately, most MIDI keyboards don't send meaningful
   note release velocities.)
 * Improved MIDI compatibility, including responding to Monophonic Mode ON/OFF
   messages.
 * New operating modes: monophonic hold and polyphonic hold to keep notes
   ringing without a sustain pedal.
 * Various performance and RAM usage improvements.
 * The source distribution can now be compiled for RISC-V 64 systems thanks to
   @aimixsaka.
 * New presets: Analog Brass AT, Analog Brass mod, Bouncy.
 * All parameters and features are now explained in detail in the
   documentation.
 * FST: hosts which support VSTXML files can now show full length parameter
   names instead of abbreviations.
 * Bugfix: when a MIDI-based controller (or its proxy parameter) was assigned
   directly to a parameter (ie. not via a Macro), and a buffer size greater
   than 256 samples was in use, then changes of the controller could produce
   sudden jumps and audible glitches in the parameter's value. Now these
   changes are always performed smoothly.
 * Bugfix: some MIDI devices send Note Off messages as Note On messages with 0
   velocity. These messages were misinterpreted, but now they are handled
   correctly.
 * Bugfix: neither the FST nor the VST 3 plugin notified the host when a
   parameter was changed or a patch was loaded from file, so the host wouldn't
   ask the user when exiting whether to write unsaved changes to disk, and the
   undo history wasn't updated either. Now both plugin types will notify the
   host when something is changed on JS80P's user interface.
 * Bugfix: dynamic envelope parameter changes could produce glitches, sudden
   jumps, and some sections of the envelope could get lost, especially in
   monophonic mode.
 * Bugfix: decayed notes were not garbage collected when envelopes were
   assigned only to the amplitude parameter of the oscillators, but not to
   the first oscillator's subharmonic amplitude which was left at the default 0
   setting. (E.g. the Bells 1 and 2 presets while holding the sustain pedal.)
 * Bugfix: the FST plugin will no longer crash if it is loaded in a host which
   does not supply a host-callback. (Hosts like that are probably rare, and
   features like tempo-synchronization cannot work in such hosts.)

v2.9.0 (2024-04-26)
 * Preview version of v3.0.0, not ready for production use.

v2.4.4 (2023-11-19)
 * Reduced RAM usage.
 * Bugfix: hosts that use variable length rendering blocks could cause JS80P in
   some circumstances to leave garbage in the buffers of delay based effects
   when they decayed into silence, which (depending on the settings of the
   patch) could produce audible glitches. Now the delay buffers are properly
   cleared when both their input and their feedback line decays into silence.
 * Bugfix: despite the efforts in v1.5.1, in some circumstances, short delay
   times (lower than 3-5 milliseconds) could still make the feedback lines
   noisy in delay based effects in hosts which use variable length rendering
   blocks (e.g. FL Studio). The rendering logic has been adjusted to prevent
   delay feedback lines from falling behind and becoming discontinuous when the
   host requests a large rendering batch after a sequence of short ones.

v2.4.3 (2023-11-18)
 * Preview version of v2.4.4, not ready for production use.

v2.4.2 (2023-11-12)
 * The MTS-ESP mode (continuous or note-on) is now shown at the beginning of
   the tuning selector for better readability.
 * Bugfix: Envelope 3 of the Dystopian Cathedral preset was accidentally
   configured to be dynamic.
 * Bugfix: inaccuracy has been turned off for the unused oscillator in the
   Gloomy Brass preset.
 * Bugfix: the release time of Envelope 4 in the Gloomy Brass Raindrops preset
   has been increased so that when a Note Off event occurs right after the
   "raindrop" sound kicks in, its decay is more natural.
 * Bugfix: MTS-ESP related information has been corrected in README.txt.

v2.4.1 (2023-11-07)
 * Bugfix: fixed a potential crash or memory corruption when MIDI channel
   number is greater than 8.
 * Bugfix: fixed several typos in the documentation.

v2.4.0 (2023-11-06)
 * Support for microtonal and any other tunings via MTS-ESP, one-click switch
   between 440 Hz and 432 Hz equal temperament tunings.
 * Analog inaccuracy and instability emulation for oscillator pitch, and
   inaccuracy settings for filter frequency and Q factor, and envelope time and
   level.
 * New presets: Gloomy Brass, Gloomy Brass Raindrops, Sawyer.
 * Bugfix: the typo for the label of the dynamic envelope toggle has been
   corrected.

v2.3.2 (2023-10-14)
 * Bugfix: reduced unwanted noises in the Acid Lead presets.

v2.3.1 (2023-10-08)
 * Bugfix: fixed a crash when side chaining was turned on for the Reverb or
   Echo effects, and the Chorus effect got overloaded by too much feedback

v2.3.0 (2023-10-08)
 * New preset: Dystopian Cathedral.
 * New parameter for the Modulator: subharmonic sine wave amplitude.
 * New parameter for the Carrier: Distortion

v2.2.0 (2023-10-03)
 * New parameter for the Chorus effect: switch between 15 different
   configurations, with up to 7 voices.
 * New parameter for the Reverb effect: switch between 10 different tunings.

v2.1.0 (2023-09-28)
 * Echo and Reverb now support side-chain compression: clean up the sound by
   reducing the volume of the wet signal while the dry signal is loud, and
   gradually bring up the wet signal once the dry signal goes below the
   threshold.
 * Multiple volume controls have been added to the effect chain. The one before
   the overdrive and distortion goes up to 200%, allowing the effects to be
   pushed really hard.
 * Signal peak levels at various points of the signal chain can now be used for
   controlling parameters and macros.

v2.0.3 (2023-09-24)
 * It is now possible to assign Macros to discrete parameters like Filter Types
   and Waveforms.
 * Memory and CPU consumption of delay based effects have been reduced, so they
   will no longer use the CPU when the synth is idle and all sounds have
   decayed.
 * Bugfix: fixed a bug with program name saving and loading in the FST plugin.

v2.0.2 (2023-09-16)
 * Documented how Envelopes work in the synth with regards to polyphony.
 * Reduced patch size and improved patch import and export performance by
   omitting redundant information from patches.
 * Improved responsivity of the FST plugin to host events (by requesting the
   "effIdle" message from the host) when the plugin's own window is closed or
   hidden.
 * Bugfix: fixed possible crashes in the FST plugin when using automation.

v2.0.1 (2023-09-10)
 * Flexible Controllers have been renamed to Macros.
 * Reduced RAM and CPU usage, especially when the plugin is idle.
 * Bugfix: fixed a problem in filter state handling which could lead to
   occasional signal discontinuities and glitches.
 * Bugfix: fixed a potential crash around GUI and audio engine communication.
 * Bugfix: the FST plugin sometimes switched to the blank preset while loading
   banks, saved projects, or when doing a preset change or MIDI program change.

v2.0.0 (2023-08-16)
 * Implemented monophonic mode for smooth legato playing
 * New preset: Monophonic Saw

v1.9.9 (2023-08-03)
 * Bugfix: initialize MIDI CC 64 (sustain pedal) to 0% instead of 50%. The
   basic sound of patches that utilize the sustain pedal (like some of the
   built-in presets) are usually designed with the pedal being released, so
   that's how they should sound when the plugin is used without one.

v1.9.8 (2023-07-29)
 * Bugfix: fixed logarithmic scale filter frequency persistence. When a
   logarithmic scale filter frequency parameter had no controller assigned to
   it, then patch save and load operations, and DAW project save and reopen
   operations caused the filter frequency to significantly drift upwards.

v1.9.7 (2023-07-22)
 * Build separate versions of the plugin for newer CPUs which support the AVX
   instruction set
 * Bugfix: make sure that the FST plugin always reports the short name of the
   current program correctly to the host application

v1.9.6 (2023-07-16)
 * Bugfix: when a note was immediately released after being triggered, it could
   happen that its parameters that were controlled by envelopes would start
   their release from the parameter's last set value instead of the envelope's
   initial value. Now if a note is released immediately after getting triggered
   then its parameters that have an envelope assigned to them will gradually
   change from the envelope's initial value to its final value.
 * Bugfix: the All Files option in file selector dialogs will actually show all
   files on Linux, not just the ones with a dot in their name.

v1.9.5 (2023-07-15)
 * 2 new presets: Nightmare Lead and Tremolo Lead
 * Bugfix: along with the release time, non-dynamic envelopes will also use the
   final value and amount that was in effect at the moment when the note was
   triggered, and only dynamic envelopes will update their final value and
   amount for already sounding notes

v1.9.4 (2023-07-14)
 * Bugfix: when the same note was triggered on multiple voices while holding
   down the sustain pedal, then releasing the pedal failed to release some
   of the voices, keeping the note ringing. Now these stuck notes are correctly
   released

v1.9.3 (2023-07-11)
 * Documentation clarifications and typo fixes
 * Improve VST 3 bundle compatibility with 32 bit hosts on Linux
 * Bugfix: reduce unwanted noise in the Overdrive and Distortion effects which
   became noticeable when the input signal was already rich in harmonics, and
   the distortion was cranked up to 11

v1.9.2 (2023-07-08)
 * Include more detailed, HTML documentation in distribution packages
 * Increase the effect of note velocity on the timbre of the Saw Piano and
   Saw Piano Reversed patches
 * Reduce CPU usage while collecting decayed voices
 * Bugfix: when the sustain pedal was released, occasionally a few notes would
   remain sounding, and sometimes notes could get released which should have
   remained sounding due to their corresponding key being held down. Now those
   and only those voices remain sounding after a pedal release which belong to
   held down keys

v1.9.1 (2023-07-05)
 * Voices which decay completely into silence during their envelope sustain
   phase are now turned off automatically, in order to be reused for new notes,
   and to save CPU time.
 * Bugfix: non-dynamic envelopes will use the release time that was in effect
   at the moment when the note was triggered, only dynamic envelopes will
   update the release time for already sounding notes
 * Bugfix: the FST plugin now handles the sustain pedal's messages correctly
   in FL Studio as well.

v1.9.0 (2023-07-04)
 * Sustain pedal is now supported
 * Sustain pedal can also be used to control parameters (e.g. it can adjust
   Envelopes via a Flexible Controller)
 * Presets are adjusted to take advantage of the sustain pedal as well
 * Polyphony increased to 64 voices
 * Include version, platform, and SDK version in the information shown on the
   About tab

v1.8.0 (2023-07-01)
 * 20 Flexible Controllers instead of 10, allowing more complex patches
 * Logarithmic Filter Frequencies toggle for the filters of delay-based effects
 * VST3: build legacy single file and bundle packages as well
 * FST: when program names need to be truncated, shorten the middle of the text
   instead of the end

v1.7.6 (2023-06-27)
 * Bugfix: in some host applications (e.g. energyXT, SAVIHost), the name of the
   current program was reported to the host application incorrectly by the FST
   plugin

v1.7.5 (2023-06-23)
 * increase the effect of the mod wheel and utilize the channel pressure
   (aftertouch) more in presets

v1.7.4 (2023-06-23)
 * make Envelope and Flexible Controller colors easier to distinguish
 * extend REAME.txt with usage tips
 * Bugfix: the delay time of the Chorus effect will no longer go outside the
   specified range

v1.7.3 (2023-06-18)
 * Highlight different controller types with different colors
 * New presets:
    * Ambient Pad 1
    * Ambient Pad 2
    * Ambient Pad 3
    * Saw Piano
    * Saw Piano Reversed

v1.7.2 (2023-06-17)
 * Bugfix: centered LFOs will now handle distortion and randomness correctly.

v1.7.1 (2023-06-17)
 * FST: reduce CPU usage of host UI parameter updates due to MIDI Control
   Change (CC) events

v1.7.0 (2023-06-16)
 * New effect: chorus
 * New preset: derezzed
 * Bugfix: LFO distortion and randomness now have effect again, and the min,
   max, amount, etc. range settings are respected.

v1.6.0 (2023-06-11)
 * Envelopes can now be configured to affect notes that are already sounding.
 * New presets:
    * Acid Lead 1
    * Acid Lead 2
    * Acid Lead 3
    * Bells 1
    * Bells 2
    * Flute
    * FM Womp 1
    * FM Womp 2
    * FM Womp 3
    * Tech Noir Lead 1
    * Tech Noir Lead 2
    * Tech Noir Lead 3
 * Bugfix: LFOs now respect min, max, amount, etc. range settings when
   distortion and randomness are in use.

v1.5.1 (2023-06-07)
 * Bugfix: eliminate noise in FL Studio when the delay time for the Echo effect
   is set to extremely low values (few milliseconds).

v1.5.0 (2023-06-06)
 * Improved MIDI CC smoothing
 * Parameters can now be controlled via Channel Aftertouch (Channel Pressure).
 * With the help of Patrik Ehringer (ZonderP), program and bank management is
   implemented, and presets are accessible via the host application, without
   having to browse the file system.
 * The FST plugin now exports its MIDI Control Change (MIDI CC) inputs as
   host-automatable parameters, just like the VST3 version does.
 * MIDI Learn now listens for changes in these new MIDI CC proxy parameters
   as well, which is useful for hosts that refuse to send the raw MIDI CC
   events to plugins, but allow automating parameters via MIDI CC. One
   example of such a host is FL Studio which only sends the modulation wheel's
   MIDI CC messages as actual MIDI CC data, and forces users to manually assign
   all other MIDI CC events to plugin parameters.
 * LFOs can now oscillate around the midpoint between the minimum and maximum
   value.
 * New presets: kalimba.js80p, chariots-aftertouch.js80p
 * Presets that have both pitch bends and vibrato now use LFO centering so that
   they won't go out of tune.
 * Bugfix: the VST3 plugin will now process all controller changes within a
   block, not just the last one
 * Bugfix: make sure that before a patch (or program or bank) is imported, all
   parameter controllers are released, and all scheduled parameter values are
   cleared, so that they will not override the imported values.
 * Bugfix: unlike the Fine Detune parameter, the Detune parameter should not
   be smoothed when it has a MIDI Controller or a Flexible Controller assigned
   to it.

v1.4.0 (2023-05-20)
 * MIDI Learn: assign this special controller to a parameter, then move a
   fader, knob, or the modulation wheel, etc. on your MIDI keyboard, and the
   plugin will automatically assign that controller to the parameter
 * Cutoff frequency of filters can now use logarithmic scale
 * LFO frequency and Echo time can now be synchronized to the host's tempo
 * New preset: sandstorm.js80p
 * Bugfix: include CC 6 (Data Entry) in controller selection, and remove CC 84
   (Portamento), since the latter is not supposed to represent a continuous
   controller
 * Bugfix: fix the typo in the name of the Distortion effect

v1.3.0 (2023-05-13)
 * The GUI will now indicate clearly when a parameter is fully controlled by
   an envelope
 * Bugfix: eliminate noise which occurs when FL Studio is running the plugin
   with variable buffer sizes and the Echo or Reverb effects are turned on
 * Bugfix: Reverb and Echo should not consume any CPU when Wet Volume is 0% and
   Dry Volume is 100%

v1.2.0 (2023-05-07)
 * Respond to ALL_NOTES_OFF and ALL_SOUNDS_OFF MIDI messages
 * Get rid of obtrusive tooltips on Windows, show long name of knobs in the
   top right corner of the window instead
 * New preset: chariots.js80p
 * Bugfix: make sure that all text files in the Windows distribution use
   Windows-style line breaks
 * Bugfix: fix libcairo2 crash when the plugin's window is closed and opened
   again repeatedly in quick succession on Linux
 * Bugfix: fix crash in the FST plugin when running in Ardour (and possibly
   other hosts) which sends and effEditIdle message before sending the first
   effEditOpen

v1.1.2 (2023-05-03)
 * Bugfix: don't block the host's user interface while the file picker dialog
   is open on Linux

v1.1.1 (2023-05-02)
 * Bugfix: opening the user interface of multiple plugin instances will no
   longer cause a crash when the instances are running within the same process
 * Bugfix: filter states will no longer interfere with each other between
   multiple plugin instances when running within the same process
 * Bugfix: when Reaper is started up with a project which was saved with an
   open "FX: Track N" window, JS80P will no longer fail to display its user
   interface on Linux

v1.1.0 (2023-05-01)
 * Linux support
 * Use warm colors for knobs which have associated controllers
 * Add the "System Requirements" section to README.txt
 * Bugfix: GUI updates will no longer flicker and interfere with editing knobs
 * Bugfix: note pressure MIDI events will no longer trigger new notes

v1.0.1 (2023-04-19)
 * Improve presets/big_saw.js80p
 * 32 bit support

v1.0 (2023-04-14)
 * First release
