Overview of Changes in liquidsfz-0.3.2:

* Fix crashes triggered by Carla while saving without path
* Allow multiple overlapping notes during sustain (#38)
* Provide cross compiled LV2 plugin for Windows
* Use LV2_STATE__freePath if available (fixes LV2 on windows)
* Fixes for building on macOS and Windows
* Improve tests and CI checks

Overview of Changes in liquidsfz-0.3.1:

* Fix crash in voice processing when gain smoothing is active
* Fix crash caused by libstdc++ debug assertions (#34)
* Add missing #include statements (#33, #35)
* Setup CI using github actions, build and lv2lint the plugin
* Add testsynth program for regression tests (make check and CI)
* Support address sanitizer and C++ STL debug checks from autogen.sh

Overview of Changes in liquidsfz-0.3.0:

* Change license to MPL-2.0
* Load sample data on demand (preload start, background load as needed)
* Improve sound quality by using better interpolation / resampling
* Support CC7=Volume and CC10=Pan if not defined in .sfz file (#30)
* Various performance optimizations
* Fix LFO ranges for square like LFOs
* Implement sustain loops (loop_mode=loop_sustain)
* Added new public API functions for new features
* Make it possible to use absolute paths in .sfz file
* Use mmap() for soundfiles on 64bit platforms
* Add a few new commands / command line options to liquidsfz jack client
* Statically linked plugin is compiled using Ubuntu 18.04 (instead of 16.04)
* Minor fixes and cleanups

Overview of Changes in liquidsfz-0.2.3:

* Implement LFO support
  - old style (amplfo_*, pitchlfo_*, fillfo_*)
  - new style (lfoN_freq, lfoN_pitch,...)
* Preprocessor improvements
  - allow #define / #include in the middle of a line
  - allow to #include the same file twice
  - support C style block comments
* Support curve sections and related opcodes
* Portability changes which should allow building the lib on windows
* Minor fixes and cleanups

Overview of Changes in liquidsfz-0.2.2:

* Implement filters (fil_type, cutoff, resonance, ...)
  - all SFZ1 filter types (lpf_1p, lpf_2p, hpf_1p...)
  - some SFZ2 filter types (lpf_4p, lpf_6p, hpf_4p, hpf_6p)
  - filter envelope (fileg_attack, fileg_depth, ...)
* Support midnam for LV2 to provide controller/key/switch information
* Key/Key Switch information:
  - API: provide key and key switch information (Synth::list_keys)
  - opcodes: implement key and keyswitch names (sw_label, label_keyN)
  - hydrogen loader: provide key names for each mapped key
  - add keys/switches/ccs command in liquidsfz jack client
* Improve key switch handling to fix problems with some sfzs #20
* Fix problems with clang++ using libc++ (for instance on macOS) #19
* Minor fixes and cleanups

Overview of Changes in liquidsfz-0.2.1:

* New opcodes: offset / offset_random / offset_ccN / offset_onccN
* Support loading Hydrogen drumkit.xml files
* Make liquidsfz JACK client interactive, support typing commands
* Support building as shared library
* Share the same sample cache between all Synth instances
* Opcode aliases for volume_cc and volume_oncc
* RT cleanups for standard logging (info/warning/error)
* Document threading / RT constraints
* API additions
  - Synth::active_voice_count
  - Synth::all_sound_off
  - Synth::system_reset
* Support compiling without some features (--without-jack / --without-lv2)
* Fixes
  - make string->double conversion work on any locale
  - preallocate event buffers to avoid malloc for new events
  - allow one parameter to be modulated by multiple CCs
  - don't crash on broken sfz which have uint out of range
  - fix overriding sample loop_mode/loop_start/loop_end
  - constrain ranges for cc/pitch_bend (i.e. enforce cc to [0..127])

Overview of Changes in liquidsfz-0.2.0:

* Provide LV2 plugin
* Support for <control>/<global>/<master> sections
* Handle #define
* Lots of new opcodes supported, including
  - key switches
  - crossfading for layers
  - more amp-related opcodes
  - allow changing more parameters using CCs
* API additions
  - load progress function (Synth::set_progress_function)
  - global gain factor (Synth::set_gain)
  - provide list of CCs supported by .sfz file (Synth::list_ccs)
  - support pitch bend (Synth::add_event_pitch_bend)

Overview of Changes in liquidsfz-0.1.0:

* Initial public release
  - liquisfz: a commandline jack client
  - libliquidsfz.a: a static library
