==== 2.2.4 2020-05-10 ====
* Store default recording format after "Restore Defaults" lp:1857806 #2414
* Prevent infinite loop when decoding corrupt MP3 files #2417
* Add workaround for broken libshout versions #2040 #2438
* Speed up purging of tracks lp:1845837 #2393
* Don't stop playback if vinyl passthrough input is configured and PASS button is pressed #2474
* Fix debug assertion for invalid crate names lp:1861431 #2477
* Fix crashes when executing actions on tracks that already disappeared from the DB #2527
* AutoDJ: Skip next track when both deck are playing lp:1399974 #2531
* Tweak scratch parameters for Mixtrack Platinum #2028
* Fix auto tempo going to infinity on Pioneer DDJ-SB2 #2559
* Fix bpm.tapButton logic and reject missed & double taps #2594
* Add controller mapping for Native Instruments Traktor Kontrol S2 MK3 #2348
* Add controller mapping for Soundless joyMIDI #2425
* Add controller mapping for Hercules DJControl Inpulse 300 #2465
* Add controller mapping for Denon MC7000 #2546
* Add controller mapping for Stanton DJC.4 #2607
* Fix broadcasting via broadcast/recording input lp:1876222 #2743
* Only apply ducking gain in manual ducking mode when talkover is enabed lp:1394968 lp:1737113 lp:1662536 #2759
* Ignore MIDI Clock Messages (0xF8) because they are not usable in Mixxx and inhibited the screensaver #2786

==== 2.2.3 2019-11-24 ====

* Don't make users reconfigure sound hardware when it has not changed #2253
* Fix MusicBrainz metadata lookup lp:1848887 #2328
* Fix high DPI scaling of cover art #2247
* Fix high DPI scaling of cue point labels on scrolling waveforms #2331
* Fix high DPI scaling of sliders in Tango skin #2318
* Fix sound dropping out during recording lp:1842679 #2265 #2305 #2308 #2309
* Fix rare crash on application shutdown #2293
* Workaround various rare bugs caused by database inconsistencies lp:1846971 #2321
* Improve handling of corrupt FLAC files #2315
* Don't immediately jump to loop start when loop_out is pressed in quantized mode lp:1837077 #2269
* Preserve order of tracks when dragging and dropping from AutoDJ to playlist lp:1829601 #2237
* Explicitly use X11 Qt platform plugin instead of Wayland in .desktop launcher lp:1850729 #2340
* Pioneer DDJ-SX: fix delayed sending of MIDI messages with low audio buffer sizes #2326
* Enable modplug support on Linux by default lp:1840537 #2244 #2272
* Fix keyboard shortcut for View > Skin Preferences lp:1851993 #2358 #2372
* Reloop Terminal Mix: Fix mapping of sampler buttons 5-8 lp:1846966 #2330

==== 2.2.2 2019-08-10 ====

* Fix battery widget with upower <= 0.99.7. #2221
* Fix BPM adjust in BpmControl. lp:1836480
* Disable track metadata export for .ogg files and TagLib 1.11.1. lp:1833190
* Fix interaction of hot cue buttons and looping. lp:1778246
* Fix detection of moved tracks. #2197
* Fix playlist import. lp:16878282
* Fix updating playlist labels. lp:1837315
* Fix potential segfault on exit. lp:1828360
* Fix parsing of invalid bpm values in MP3 files. lp:1832325
* Fix crash when removing rows from empty model. #2128
* Fix high DPI scaling of RGB overview waveforms. #2090
* Fix for OpenGL SL detection on macOS. lp:1828019
* Fix OpenGL ES detection. lp:1825461
* Fix FX1/2 buttons missing Mic unit in Deere (64 samplers). lp:1837716
* Tango64: Re-enable 64 samplers. #2223
* Numark DJ2Go re-enable note-off for deck A cue button. #2087
* Replace Flanger with QuickEffect in keyboard mapping. #2233

==== 2.2.1 2019-04-22 ====

* Include all fixes from Mixxx 2.1.7 and 2.1.8
* Fix high CPU usage on MAC due to preview column lp:1812763
* Fix HID controller output on Windows with common-hid-packet-parser.js
* Fix rendering slow down by not using QStylePainter in WSpinny lp:1530720
* Fix broken Mic mute button lp:1782568
* added quick effect enable button to the control picker menu
* Fix Cover Window close issue with empty cover arts
* Fix Numark Mixtrack 3 mapping. #2057

==== 2.2.0 2018-12-17 ====

General
* Update from Qt4 to Qt5.
* Use Qt5's automatic high DPI scaling (and remove the old
  scaling option from the preferences).
* Vectorize remaining raster graphics for better HiDPI support.

Effects
* Add mix mode switch (Dry/Wet vs Dry+Wet) for effect units.
* Add support for LV2 effects plugins (currently no way to show plugin GUIs).
* Add preference option for selecting which effects are shown in the
  list of available effects in the main window (all LV2 effects are
  hidden by default and must be explicitly enabled by users).

Skins
* Add 8 sampler and small sampler options to LateNight.
* Add key / BPM expansion indicators to Deere decks.
* Add skin settings menu to LateNight.

Controllers
* Add controller mapping for Numark Mixtrack Platinum.
* Update controller mapping for Numark N4.
* Add spinback and break for Vestax VCI-400 mapping.

Miscellaneous
* Add preference option to adjust the play position marker of
  scrolling waveforms.
* Add preference option to adjust opacity of beatgrid markers on
  scrolling waveforms.
* Support IRC/AIM/ICQ broadcast metadata.

==== 2.1.8 2019-04-07 ====

* Fix a rare chance for a corrupt track file while writing metadata in out of disk situations. lp:1815305
* Fix export of BPM track file metadata. lp:1816490
* Fix sending of broadcast metadata with TLS enabled libshout 2.4.1. lp:1817395
* Fix resdicovering purged tracks in all cases. lp:1821514
* Fix dropping track from OSX Finder. lp:1822424

==== 2.1.7 2019-01-15 ====

* Fix syncing to doublespeed lp:1808697
* Fix issues when changing beats of a synced track lp:1808698
* Fix direction of pitch bend buttons when inverting rate slider lp:1770745
* Use first loaded deck if no playing deck is found lp:1784185
* Encode file names correctly on macOS lp:1776949

==== 2.1.6 2018-12-23 ====

* Fix crash when loading a Qt5 Soundsource / Vamp Plug-In. lp:1774639 * Validate effect parameter range. lp:1795234
* Fix crash using the bpm_tap button without a track loaded. lp:1801844
* Fix possible crash after ejecting a track. lp:1801874
* Fix wrong bitrate reported for faulty mp3 files. lp:1782912
* Fix Echo effect syncing lp:1793232
* Fix iTunes context menu lp:1799932
* Fix loading the wrong track after delete search and scroll. lp:1803148
* Improve search bar timing. lp:1635087
* Fix quoted search sentence. lp:1784141
* Fix loading a track formerly not existing. lp:1800395
* Fix imporing m3u files with blank lines. lp:1806271
* Fix position in sampler overview waveforms. lp:1744170
* Don't reset rate slider, syncing a track without a beatgrid. lp:1783020
* Clean up iTunes track context menu. lp:1800335
* Collapsed sampler are not analyzed on startup. lp:1801126
* search for decoration characters like "˚". lp:#1802730
* Fix cue button blinking after pressing eject on an empty deck. lp:1808222

==== 2.1.5 2018-10-28 ====

* Code signing for Windows builds. lp:1517823
* Fix crash on exit when preferences is open. lp:1793185
* Fix crash when analyzing corrupt MP3s. lp:1793387
* Fix crash when importing metadata from MusicBrainz. lp:1794993
* Library search fixes when single quotes are used. lp:1784090 lp:1789728
* Fix scrolling waveform on Windows with WDM-KS sound API. lp:1729345
* Fix right clicking on beatgrid alignment button in Tango and LateNight skins. lp:1798237
* Improve speed of importing iTunes library. lp:1785545
* Add 2 deck mapping for DJTechTools MIDI Fighter Twister.

==== 2.1.4 2018-08-29 ====
Fix track selection not getting shown in the track
table on Windows. There are no changes to the
source code, but the Jenkins build configuration
was changed to delete the Jenkins workspace before
each build.
https://bugs.launchpad.net/mixxx/+bug/1751482

==== 2.1.3 2018-08-20 ====
Fix a severe performance regression on Windows:
https://mixxx.org/forums/viewtopic.php?f=3&t=12082

==== 2.1.2 2018-08-10 ====
Yet an other bugfix release of Mixxx 2.1.
Here is a quick summary of what is new in Mixxx 2.1.2:

* Allow maximum deck speed of 4x normal
* Don't always quantize hotcues, a 2.1.1 regression lp1777429
* Fix artifacts using more than 32 samplers lp1779559
* store No EQ and Filter persistently lp1780479
* Pad unreadable samples with silence on cache miss lp1777480
* Fixing painting of preview coloumn for Qt5 builds lp1776555
* LateNight: Fix play button right click lp1781829
* LateNight: Added missing sort up/down buttons
* Fix sampler play button tooltips lp1779468
* Shade: remove superfluid margins and padding in sampler.xml lp1773588
* Deere: Fix background-color code
* ITunes: Don't stop import in case of duplicated Playlists lp1783493

==== 2.1.1 2018-06-13 ====
After two month it is time to do a bugfix release of Mixxx 2.1.
Here is a quick summary of what is new in Mixxx 2.1.1:

* Require Soundtouch 2.0 to avoid segfault lp1577042
* Imrpoved Skins including library view fix lp1773709 lp1772202 lp1763953
* Fix crash when importing ID3v2 APIC frames lp1774790
* Synchronize execution of Vamp analyzers lp1743256
* DlgTrackInfo: Mismatching signal/slot connection
* Detect M4A decoding errors on Windows lp1766834
* Fix spinback inertia effect
* Fix decoding fixes and upgrade DB schema lp1766042 lp1769717
* Fix integration of external track libraries lp1766360
* Fix memory leak when loading cover art lp1767068
* Fix clearing of ReplayGain gain/ratio in file tags lp1766094
* Fix crash when removing a quick link lp1510068
* Fidlib: Thread-safe and reentrant generation of filters lp1765210
* Fix unresponsive scrolling through crates & playlists using encoder lp1719474
* Swap default values for temp/perm rate changes lp1764254

==== 2.1.0 2018-04-15 ====
After two years of hard work, we are pleased to announce Mixxx 2.1. We
have overhauled the effects system, redesigned the skins, added and improved
lots of controller mappings, rewrote the audio file decoders twice, and of
course fixed a bunch of bugs. Download it!

Here is a quick summary of what is new in Mixxx 2.1.0:
  * Graphical interface scales for high resolution screens
  * Overhauled Deere and LateNight skins
  * New Tango skin
  * Effects are synchronized to the tempo
  * Effects are processed post-fader and post-crossfader and can be previewed
in headphones
  * One metaknob per effect with customizable parameter control for intuitive
use of effect chains
  * Nine new effects: Autopan, Biquad Equalizer, Biquad Full Kill Equalizer,
Loudness Contour, Metronome, Parametric Equalizer, Phaser, Stereo Balance,
Tremolo
  * Loaded effects and their parameters are saved and restored when Mixxx
restarts
  * More transparent sounding equalizers (Biquad Equalizer and Biquad Full Kill
Equalizer)
  * Improved scratching sounds with jog wheels, vinyl control, and dragging
waveforms with the mouse
  * Simplified looping and beatjump controls
  * Configurable rows of 8 samplers with up to 8 rows available for a total of
64 samplers
  * Files loaded to samplers are reloaded when Mixxx restarts
  * Improved volume normalization algorithm (EBU-R 128)
  * Filter library table by crates
  * Sort musical keys in library table by circle of fifths
  * Write metadata tags back to audio files
  * New JavaScript library for controller mapping
  * Configure multiple Internet broadcasting stations and use multiple stations
at the same time
  * Broadcast and record microphones with direct monitoring and latency
compensation
  * Broadcast and record from an external mixer
  * Booth output with independent gain knob for using sound cards with 6
output channels without an external mixer
  * Prevent screensaver from starting while Mixxx is running
  * CUP (Cue And Play) cue button mode
  * Time remaining and time elapsed now take into account the tempo fader
  * Clicking cover art now shows it full size in a separate window
  * and of course, lots and lots of bug fixes.

Here are controllers with mappings that have been added or updated since the 2.0
release. Mappings marked with an asterisk (*) have been updated for the new
effects interface:
  * American Audio VMS2
  * American Audio VMS4
  * Allen & Heath Xone K2/K1*
  * Behringer CMD Micro
  * Behringer CMD MM1*
  * Behringer CMD Studio 4a
  * Denon MC4000*
  * Denon MC6000 Mk2*
  * FaderFox DJ2
  * Hercules DJ Console 4-Mx*
  * Hercules DJ Control MP3 LE / Glow
  * Hercules DJ Control Compact
  * Hercules P32*
  * Ion Discover DJ
  * Korg Nanokontrol 2
  * Korg KAOSS DJ
  * M-Audio Xponent
  * Native Instruments Traktor Kontrol S4 Mk2*
  * Novation Launchpad Mk1 & Mk2
  * Novation Twitch
  * Numark Mixtrack Pro 3 & Numark Mixtrack 3*
  * Pioneer DDJ-SB2*
  * Pioneer DDJ-SX*
  * Reloop Beatmix 2
  * Reloop Beatmix 4
  * Reloop Digital Jockey 3 ME
  * Reloop Terminal Mix 2
  * Reloop Terminal Mix 4
  * Vestax VCI-100 Mk2
  * Vestax Typhoon

For users upgrading from older versions of Mixxx, we have a few important
announcements. First, if you are using Windows, you will have to uninstall any
old versions of Mixxx before you can install 2.1. How to uninstall Mixxx
varies on different versions of Windows:
  * Windows Vista, 7, and 8: Start > Control Panel > Programs > Uninstall a
Program https://support.microsoft.com/en-us/help/2601726
  * Windows 10: Start > Control Panel > Programs > Programs And Features > look
for Mixxx > Uninstall
https://support.microsoft.com/en-gb/help/4028054/windows-repair-or-remove-
programs-in-windows-10

If you are upgrading from an older version of Mixxx and have MP3 files in
your library, we have another important announcement. The good news is that we
fixed a bug where the waveforms and audio playback of MP3 files were
misaligned. The bad news is that we have no way of knowing which MP3 files were
affected or how much the offset was. That means that waveforms, beatgrids,
cues, and loops from older versions of Mixxx may be offset by an unknown amount
for any MP3 file. Only MP3 files were affected by this bug; other audio file
types are unaffected. You can either correct your beatgrids and cue points
manually for each track, or you can clear this information for all MP3s and
start fresh. Regardless, we recommend clearing the waveforms for all MP3
files. To clear these, type "location:mp3" into the library search bar, press
Control + A to select all tracks, right click, and select the information you
want to clear from the menu.

In the works for Mixxx 2.2, we have a big redesign of the library GUI. Along
with that will come saving & restoring search queries plus nested crates.
We are also planning on adding support for saving and loading custom effect
chain presets with the ability to import and export them to share online.

Want to help make Mixxx even more awesome? The biggest thing we need is more
people. You do not need to be a programmer to help out. Giving feedback on the
design of new features as they are being made is very valuable. Refer to the
Testing page on the wiki for more information on how to get involved with that.
Reporting bugs and telling us your ideas on the Launchpad bug tracker is a big
help too! We cannot fix problems we do not know about, so please let us know if
you find any issues with Mixxx. If you would like to help translate Mixxx into
another language, refer to the Internationalization wiki page.  Of course, more
programmers could always help. Read the Developer Documentation on the wiki for
tips on getting started contributing code to Mixxx.

We hope you have as much fun with Mixxx as we do!
