⇦ | mixxx [main]
Last updated on: 2026-09-12 14:13 [UTC]

Metadata for mixxx in main

org.mixxx.Mixxx - 2.5.0+dfsg-3+b1 ⚙ amd64 ⚙ arm64 ⚙ armhf ⚙ ppc64el ⚙ riscv64 ⚙ s390x

Icon
---
Type: desktop-application
ID: org.mixxx.Mixxx
Package: mixxx
ProjectLicense: GPL-2.0
Name:
  C: Mixxx DJ Software
Summary:
  C: Everything you need to perform live DJ mixes
Description:
  C: >-
    <p>Mixxx is free DJ software that gives you everything you need to perform live DJ mixes. Blend songs together with automatic BPM
    matching and remix on-the-fly with looping and hot cues. Whether you're a pro DJ or just getting started, Mixxx has you covered.</p>
    
    <p>Mixxx works with ALSA, JACK, OSS and supports many popular DJ controllers. Key features include:</p>
    
    <ul>
      <li>Parallel or split scratchable waveform displays</li>
      <li>MP3, OGG, WAVE, FLAC, and optional AAC (M4A) playback</li>
      <li>WAVE, OGG, and optional MP3 recording</li>
      <li>Fast, database-powered library</li>
      <li>Crates and playlists for organizing your music</li>
      <li>Reads iTunes, Traktor, and Rhythmbox libraries</li>
      <li>Cross-platform - works on Windows, Mac OS X and Linux</li>
      <li>Shoutcast and Icecast broadcasting</li>
      <li>Support for many DJ MIDI and HID controllers out-of-the-box</li>
      <li>Advanced MIDI scripting engine for maximum flexibility</li>
      <li>Vinyl emulation with Serato, Traktor, and Mixvibes timecode support</li>
      <li>Beat and key detection</li>
      <li>ReplayGain volume normalization</li>
      <li>Automatic crossfading with Auto DJ</li>
      <li>Skinnable interface with several skins bundled</li>
    </ul>
Categories:
- AudioVideo
- Audio
- Midi
- Mixer
- Player
- Recorder
- Sequencer
Keywords:
  C:
  - dj
  - music
  - alsa
  - jack:realtime
  - standalone
  - Terminal=false
Url:
  contact: https://mixxx.zulipchat.com
  homepage: https://mixxx.org
  bugtracker: https://github.com/mixxxdj/mixxx/issues/
  help: https://mixxx.org/support/
  translate: https://explore.transifex.com/mixxx-dj-software/
  donation: https://mixxx.org/donate/
Icon:
  cached:
  - name: mixxx_mixxx.png
    width: 48
    height: 48
  - name: mixxx_mixxx.png
    width: 64
    height: 64
  - name: mixxx_mixxx.png
    width: 128
    height: 128
  remote:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/icons/128x128/mixxx_mixxx.png
    width: 128
    height: 128
  stock: mixxx
Launchable:
  desktop-id:
  - org.mixxx.Mixxx.desktop
Provides:
  modaliases:
  - usb:v22F0p0008d*
  - usb:v1C75p*
  - usb:v1397p*
  - usb:v154Ep*
  - usb:v1157p*
  - usb:v23C7p*
  - usb:v06F8p*
  - usb:v15E4p*
  - usb:v0944p*
  - usb:v17CCp*
  - usb:v057Ep*
  - usb:v08E4p*
  - usb:v2B73p*
  - usb:v13E5p*
  - usb:v200Cp*
  - usb:v0582p*
  - usb:v054Cp*
Screenshots:
- default: true
  caption:
    C: Mixxx with the default LateNight PaleMoon skin
  thumbnails:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-1_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-1_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-1_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-1_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-1_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the LateNight Classic skin
  thumbnails:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-2_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-2_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-2_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-2_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-2_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Deere skin
  thumbnails:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-3_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-3_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-3_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-3_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-3_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Shade Classic skin
  thumbnails:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-4_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-4_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-4_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-4_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-4_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Shade Dark skin
  thumbnails:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-5_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-5_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-5_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-5_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-5_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Shade Summer Sunset skin
  thumbnails:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-6_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-6_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-6_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-6_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-6_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Tango skin
  thumbnails:
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-7_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-7_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-7_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-7_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/4354568bea0ad6d9a2c5a404a4d77cee/screenshots/image-7_orig.png
    width: 3840
    height: 2160
Releases:
- version: "2.5.0"
  type: stable
  unix-timestamp: 1734998400
  description:
    C: >-
      <p>Modernized Platform: Update to Qt6</p>
      
      <ul>
        <li>Mixxx is now using Qt6, offering improved performance and enhanced compatibility with modern systems. #11863 #11892</li>
        <li>Build system defaults to Qt6. Qt5 build support will be dropped with Mixxx 2.6 #11934</li>
        <li>Drop support for macOS versions earlier than 11</li>
        <li>Drop support for Windows versions earlier than Windows 10 build 1809</li>
        <li>Drop support for Ubuntu versions earlier than 22.04</li>
        <li>Require a C++20 compiler</li>
        <li>Support GCC 14 #13504 #13467</li>
        <li>DlgAbout: Add Qt version to the dialog #11862</li>
        <li>WWidget: Disable touch events on macOS (fixing trackpad issues on Qt 6) #11870</li>
        <li>Various Skin adjustments #11970 #11957 #12050 #12939 #13242 #14014 #13535 #14013 #13959 #14034 #12972 #14035</li>
        <li>Various Library adjustments #12380 #12478 #13035 #13033 #12488 #12216 #13448</li>
      </ul>
      
      <p>Engine</p>
      
      <ul>
        <li>Beats: allow undoing the last BPM/beats change #12954 #12774 #10138 #13339</li>
        <li>Add beatloop anchor to set and adjust loop from either start or end #12745 #13241</li>
        <li>Add Rate Tap button #12104</li>
        <li>Store/restore regular loop when toggling rolling loops #12475 #8947</li>
        <li>Add beats_translate_move ControlEncoder #12376</li>
        <li>Looping/Beatjump: use seconds if track has no beats #12961 #11124</li>
        <li>Add Track colour palette cycling controls track_color_next and track_color_prev to library, decks and samplers #13066 #12905</li>
        <li>Add Tempo locking controls #13041 #13041 #13038 #13199</li>
        <li>Recording: Fix bogus timestamp in CUE sheet after restarting a recording #13966 #13964</li>
        <li>Improve Taglib/SoundSource logging #13541</li>
      </ul>
      
      <p>Skins / Interface</p>
      
      <ul>
        <li>Toggle the menubar with single Alt key press (auto hide) #11526 #13301</li>
        <li>Fullscreen toggle rework #11566 #13189 #13030</li>
        <li>Allow to edit track title and artist directly within the decks via a delayed double-click #11755 #13930</li>
        <li>Require a minimum movement before initiating the drag&amp;drop of tracks #12903</li>
        <li>Add type toggle to cue popup #13215</li>
        <li>Effect Meta Knob: draws arc from default meta position #12638 #12634</li>
        <li>Handle not supported files when dragging to waveforms and spinnies #13206</li>
        <li>Tooltips: Improve rate_up/down description regarding pitch vs. speed #12590</li>
        <li>Tooltips: Add description for expand/collapse samplers buttons #13005 #12998</li>
        <li>Track label widgets: Set show_track_menu only for main decks #12978</li>
        <li>MacOS: App proxy icon of the playing track to the window title #12116</li>
        <li>Auto DJ: Force-show decks 3/4 if we are going to use them #13455</li>
        <li>Auto DJ: Add new random tracks if one track does not exists #13551</li>
        <li>Allow to set LaunchImage style per color scheme #13731</li>
        <li>Show wait cursor when re/loading a skin (not during startup) #13747</li>
        <li>LateNight: Merge vinyl control toggle and status light #12947 #10192</li>
        <li>LateNight, Deere, Tango: Deactivate beatgrid edit controls if BPM is locked #13320 #13323 #13325</li>
        <li>LateNight: Add/tweak CueDelete icons #13495 #13492</li>
        <li>LateNight: Use Classic launch image style also for 64 samplers version #13796</li>
        <li>Adjust some skin controls, to allow point-and-click mapping #13906</li>
        <li>PreviewDeckN,LoadSelectedTrackAndPlay toggles play/pause if the track is already loaded #12920 #9819</li>
        <li>Command line interface: Determine whether to color output based on TERM variable #13486</li>
        <li>Command line interface: Add option --start-autodj to start Auto DJ immediately after Mixxx start. #13017 #10189</li>
        <li>Logging: Include timestamps in messages by default #11861</li>
        <li>Logging: Limit mixxx.log size to 100 MB or via --log-max-file-size #13684 #13660</li>
        <li>Fix skin reload after changing color scheme #13847</li>
      </ul>
      
      <p>Effects</p>
      
      <ul>
        <li>Add Compressor effect #12523</li>
        <li>add Glitch effect #11329</li>
        <li>Add backend for Audio Unit (AU) plugins on macOS #12112 #13938</li>
        <li>Effect Meta knob: Draw arc from default meta position #12638 #12634</li>
        <li>Show newly added effects, read/write HiddenEffects #13326 #11343</li>
      </ul>
      
      <p>Library</p>
      
      <ul>
        <li>Shortkeys Cut, Copy, Paste for track list management #12020 #13361 #13364 #13958 #13100</li>
        <li>Playlists: move tracks with Alt + Up/Down/PageUp/PageDown/Home/End #13092 #10826 #13098</li>
        <li>Search: Add special BPM filters #12072 #8191</li>
        <li>Search: Add "OR" search operator #12061 #8881</li>
        <li>Search: Add 'type' filter #13338</li>
        <li>Search: Add 'id' filter #13694</li>
        <li>Search related Tracks menu: Allow to use multiple filters at once #12213 #12211</li>
        <li>Track menu: Rephrase "Reset" to "Clear" #12955</li>
        <li>Track menu: Add support for scaling BPM by different ratios #12934 #9133</li>
        <li>Track menu: Remove from disk: stop and eject all affected decks #13214</li>
        <li>Track menu: add star rating #12700 #10652</li>
        <li>Track menu: Show Properties in Missing and Hidden view #13426</li>
        <li>Add multi-track property editor / batch tag editor #12548 #9023 #13299 #13609 #13597 #13631</li>
        <li>Track property editor: focus the editing field in the track properties that corresponds to the focused column #13841 #14036</li>
        <li>Computer feature: add sidebar action "Refresh directory tree" #12908</li>
        <li>Add feedback to directory operations (add, remove, relink) #12436 #10481</li>
        <li>Add ability to import external playlists as crates #11852</li>
        <li>Add 'Shuffle playlist' sidebar action #12498 #6988</li>
        <li>Playlists: Update of playlist labels after adding tracks #12866 #12761</li>
        <li>Tracks: Custom color for missing tracks #12895</li>
        <li>Tracks: Custom text color for played tracks (qss) #12744 #5911 #12912 #13538</li>
        <li>History: Show track count and duration in sidebar #12811 #12788</li>
        <li>Don't allow pasting tracks into locked playlists/crates or History #12926</li>
        <li>Optimize Library scrolling #13358</li>
        <li>Keep the metadata key text unchanged, use it as the origin of information #11096 #11095 #13650 #14011 #14008 #14020</li>
        <li>Center date values, right-align Track # #13674</li>
        <li>Analysis: Fix stop button when analyzing crate/playlist #13902</li>
        <li>Add a debug message, which appears when event loop processing in Mixxx application takes very long #12094 #13900 #13889 #13903
      #14012</li>
      </ul>
      
      <p>Preferences</p>
      
      <ul>
        <li>Add load point option 'First hotcue' #12869 #12740</li>
        <li>MIDI Input editor: allow selecting multiple Options #12348</li>
        <li>Apply changes only after pressing Apply in color preferences #13302</li>
        <li>Add/reorder tabstops in Library and Waveform preferences #13846</li>
        <li>Add missing spacer in interface preferences #13094</li>
        <li>Fix fetching of soundcard sample rate #11951 11949</li>
      </ul>
      
      <p>Controller Mappings</p>
      
      <ul>
        <li>Denon MC7000: Add optional jog wheel acceleration to the controller mapping #4684</li>
        <li>Denon MC7000: Unify parameter button logic and add customizable modes #13589</li>
        <li>Denon MC7000: Add sampler options to mapping settings #13950</li>
        <li>MIDI for light: Implement new Active deck heuristic #13513</li>
        <li>MIDI for light: Add settings GUI #13721</li>
        <li>Numark Scratch: Add controller settings #13404</li>
        <li>Pioneer DDJ-FLX4: Mapping improvements #12842</li>
        <li>Traktor Kontrol S4 MK3: Add setting definition for #12995</li>
        <li>Traktor Kontrol S4 MK3: Software mixer support and default pad layout customisation #13059</li>
        <li>Traktor Kontrol S4 Mk3: Rework jogwheel speed compute and motorized platter #13393</li>
        <li>Traktor Kontrol S4 Mk3: Revert QuickEffect preset offset #13997</li>
        <li>Traktor Kontrol S4 Mk3: Correct wheel timestamp wrap-around #14016</li>
      </ul>
      
      <p>Controller Backend</p>
      
      <ul>
        <li>Send sysex to all handlers #12827</li>
        <li>Speed up midi sysex receive #12843</li>
        <li>Add control for showing a deck's track menu #10825</li>
        <li>Removed old examples HID keyboard and HID trackpad #12977</li>
        <li>Reduce log noise with HID device #13010 #13125</li>
        <li>Allow controller mapping to discard polling #12558</li>
        <li>Add support for mapping user settings #11300 #13046 #13057 #13045 #13656 #13738 #13979 #13990</li>
        <li>Registering MIDI Input Handlers From Javascript #12781 #13089</li>
        <li>Controller IO table: Fix display text for Action/control delegate #13188</li>
        <li>Drop lodash dependency in ComponentJS #12779</li>
        <li>Support for bulk devices on Windows and Mac #13008</li>
        <li>Drop lodash dependency in ComponentJS #12779</li>
        <li>Fix pending reference to the old mapping after selecting 'No mapping' #13907</li>
        <li>Fix crash with GoToItem when no app windows has the focus #13657</li>
      </ul>
      
      <p>Waveforms</p>
      
      <ul>
        <li>Visualize slip mode position by splitting waveform (RGB GLSL only) #13002 #13256 #10063</li>
        <li>Show beats and time until next marker in the waveform #12994 #13311 #13953 #13314</li>
        <li>Don't elide hotcue labels #13219 #10722</li>
        <li>Allshader RGB, Filtered and Stacked Waveforms using textures for waveform data #13151 #12641</li>
        <li>Allow changing the waveform overview type without reloading the skin #13273</li>
        <li>Overview: Update immediately, when the normalize option or global gain changed #13634</li>
        <li>Overview: Clear pickup position display when opening cue menu #13693</li>
      </ul>
      
      <p>Experimental Features</p>
      
      <ul>
        <li>QML Skin: Can be tested via the --qml command line option #13152 #12139 #13152</li>
        <li>QML Skin related changes #11423 #12559 #12549 #12541 #12795 #12844 #12546 #12794 #12536 #13058 #12604 #3967 #13009 #13009
      #13011 #13506</li>
        <li>iOS support: Mixxx can be built for iOS #12672</li>
        <li>iOS support related changes #12689 #12714 #12716 #12698 #12676 #12688 #13379 #13378 #13383</li>
        <li>Emscripten/WebAssembly support, to run Mixxx hardware independent in a browser #12918</li>
        <li>Emscripten/WebAssembly related changes #12910 #12913 #12916 #12915 #12921 #12922 #12931 #12940 #12945 #12952 #12930 #12917</li>
      </ul>
      
      <p>Target support</p>
      
      <ul>
        <li>Maintain GL ES support #13485</li>
        <li>Tools: Add rpm_buildenv.sh for building on Fedora #13069</li>
        <li>Lenient taglib 2.0 guard #12793</li>
        <li>MixxxApplication: Support linking Qt statically on Linux #12284</li>
        <li>FindSndFile: Link mpg123 in static builds #13087</li>
        <li>FindPortMidi: Link ALSA in static builds on Linux #12292 #12291</li>
        <li>FindLibudev: Link hidapi and libusb with libudev in static builds on Linux #12294</li>
        <li>FindVorbis: Link ogg in static builds #12297</li>
        <li>FindSleef: Use OpenMP in static builds #12295</li>
        <li>macOS packaging: Enable app sandbox in ad-hoc-packaged (i.e. non-notarized) bundles too #12101</li>
        <li>CMakeLists: Match arbitrary arm64-osx triplets #11933</li>
        <li>Disable warning in lib/apple code #13522</li>
        <li>GitHub CI: Use retry loop for CPack to work around macOS issue #13991</li>
        <li>Github CI: Enable WARNINGS_FATAL on macOS, too #11905</li>
      </ul>
- version: "2.4.2"
  type: stable
  unix-timestamp: 1732579200
  description:
    C: >-
      <p>Controller Mappings</p>
      
      <ul>
        <li>Denon MC7000: Fix star up/down logic by only handling button down events #13588</li>
        <li>Intech TEK2: Add initial mapping #13521</li>
        <li>Korg Kaoss DJ: Update script #12683</li>
        <li>MIDI for light: Fix unsound timer handling #13117</li>
        <li>Novation Dicer: Remove flanger mapping with quickeffect toggle #13196 #13134</li>
        <li>Novation Launchpad X: Fix detection on macOS #13691 #13633</li>
        <li>Numark PartyMix: Fix EQ (script binding) display name #13255</li>
        <li>Numark Scratch: Add initial mapping #4834 #13375</li>
        <li>Pioneer DDJ-400 and DDJ-FLX4: Remove tap beat mapping to resolve conflict with toggle quantize and fix shift + play #13815
      #13813 #13857</li>
        <li>Reloop Beatmix 2/4: Fix eject button and jog LED being lit on track unload #13601 #13605</li>
        <li>Reloop Mixage MK1, MK2, Controller Edition: Add initial mapping #12296</li>
        <li>Sony SIXAXIS: Fix mapping #13319</li>
      </ul>
      
      <p>Fixes</p>
      
      <ul>
        <li>Handle not supported files when dragging to waveforms and spinnies #13208 #13271 #13275</li>
        <li>Fix Sqlite 3.45 builds by using only single quotes for SQL strings #13247 #13257</li>
        <li>LateNight: Use default colors for sampler overviews (like main decks) #13274</li>
        <li>Library: Allow to drop files to decks with unsupported or no file extensions #13209 #13204</li>
        <li>Update build environment with libdjinterop 0.21.0 #13288</li>
        <li>Move to GitHub workflow runner macos-12 #13296 #13248</li>
        <li>Recording: with empty config, save default split size immediately #13304</li>
        <li>Allow to drop files with supported MIME type regardless off the file extensions #13209 #13204</li>
        <li>Add support for Ubuntu Oracular Oriole and remove Lunar Lobster #13348</li>
        <li>Recordbox: Fix string decoding issues #13293 #13291</li>
        <li>Mixer preferences: Don't update EQs/QuickEffects while applying #13333</li>
        <li>Hardware preferences: Fix UX when applying config with missing/busy devices #13312</li>
        <li>Fix minor 64 bit CPU performance issue #13355</li>
        <li>Fix clicks at loop-out when looping into lead-in #13294</li>
        <li>Fix wrong pitch value on startup, caused by components.Pot #11814 #13463</li>
        <li>Engine Prime: Fix build-failure #13397</li>
        <li>Engine Prime: Friendlier error message if export fails #13524</li>
        <li>macOs: Fix Keyboard shortcuts by not catching num key modifier #13481 #13305</li>
        <li>Skins: fix time display to allow AM/PM #13430 #13421</li>
        <li>Fix detection last sound if track does not end with silence. #13545 #13449</li>
        <li>Remove false positive critical warning related to library columns #13165 #13164</li>
        <li>Fix reading metadata for files with wrong extensions #13218 #13205</li>
        <li>History: remove purged tracks, auto-remove empty playlists #13579 #13578</li>
        <li>Synchronize AutoDJ next deck with top track in queue #12909 #8956</li>
        <li>Playlists: Update play duration and bold state in sidebar when dragging tracks into the playlist table #13591 #13590 #13575</li>
        <li>Playlists: Keep correct track selection (# position) when sorting #13103</li>
        <li>Track file export: Various fixes #13610</li>
        <li>Controller engine: Unify/improve logging, expand error dialog's Details box #13626</li>
        <li>Fix quantization in the effect engine (metronome effect) #13636 #13733</li>
        <li>Musicbrainz: Improved messages #13672 #13673</li>
        <li>Fix ReplayGain detection in case of short tracks #13680 #13676 #13702 #13703</li>
        <li>Track menu: Avoid crash and UX issues with track nullptr #13685</li>
        <li>Disable Properties shortcut in Computer feature views #13698</li>
        <li>Overview waveform: Add tooltip info about left-click dragging #13739</li>
        <li>Make hotcue_focus_color_next / _prev COs ControlPushButton s to allow direct mappings #13764</li>
        <li>Scaled svg cache to speed up drawing in hidpi mode #13679</li>
        <li>Update to libdjinterop 0.22.1 for Enigine Prime 4.0.1 support #13790</li>
        <li>HID: Avoid repeated error messages from hid_write()/hid_read() in case of errors #13692 #13660</li>
        <li>Fix unnecessary painting with covers in library #13715</li>
        <li>Fix check for unrelated decks playing when starting Auto DJ #13762 #13734</li>
        <li>Fix read before m_bufferInt during scratching #13917 #13916</li>
        <li>Fix waveform EQ High&amp;Mid visualization #13923 #13922</li>
      </ul>
- version: "2.4.1"
  type: stable
  unix-timestamp: 1715126400
  description:
    C: >-
      <p>Controller Mappings</p>
      
      <ul>
        <li>Behringer DDM4000 &amp; BCR2000: Fix exception in JS code #12969</li>
        <li>Denon DJ MC6000MK2: Fix mapping of filter knob/button #13166</li>
        <li>Denon DJ MC7000: Fix redundant argument and migrate to hotcue_x_status #13113 #13121</li>
        <li>Hercules Inpulse 200: Configure shift-browser knob to scroll the library (quick) #12932</li>
        <li>Nintendo Wii Remote: Fix hid script regarding addOutput #12973</li>
        <li>Pioneer CDJ: Fix hid script regarding addOutput #12973</li>
        <li>Pioneer DDJ-FLX4: Add waveform zoom and other mapping improvements #12896 #12842</li>
        <li>Traktor Kontrol F1: Fixes for hid-parser and related script #12876</li>
        <li>Traktor S2 Mk1: fix warnings #13145</li>
        <li>Traktor S3: Fix mapping crash on macOS #12840</li>
        <li>Controller I/O table: sort action column by display string #13039</li>
      </ul>
      
      <p>Target Support</p>
      
      <ul>
        <li>Fix various minor build issues #12853 #12847 #12822 #12892 #13079 #12989</li>
        <li>CMakeLists: Always prefer OpenGL framework on macOS #13080</li>
        <li>Use capitalized Mixxx in Windows installer and start menu #13178</li>
      </ul>
      
      <p>Skins</p>
      
      <ul>
        <li>Deere: make sampler rows persist #12928</li>
        <li>Tango: Remove unneeded waveform Singleton #12938</li>
        <li>Tango 64: fix Main VU meter</li>
        <li>Prevent possible crash in customs skins using parallel waveforms #13043 #12580 #13136</li>
        <li>Slider tooltip: consider orientation for up/down shortcut tooltips + add support for WKnobComposed #13088</li>
        <li>Tooltips: update 'hotcue' with saved loop features #12875</li>
        <li>Animate long press latching of sync button #12990 #13212</li>
        <li>Polish fx chain controls #12805</li>
        <li>Waveforms: draw loop gradient at the correct position #13061 #13060</li>
        <li>Waveform / spinnies: don't take keyboard focus on click #13174 #13211</li>
      </ul>
      
      <p>Library</p>
      
      <ul>
        <li>Sidebar: show track count and duration of History playlists #13020 #13019 #12788 #12880 #12882</li>
        <li>Computer feature: update removable devices on Linux #12893 #12891</li>
        <li>Playlists: Prevent removing tracks from locked playlists #12927</li>
        <li>History feature: Fix removing deleted tracks after export #13016 #13000</li>
        <li>BPM display uses decimal separator of selected locale #13067 #13051</li>
        <li>Fix relink directory when migrate between Linux/macOS and Windows #12878</li>
        <li>Allow adding new directories while watched directories are missing #12937 #10481</li>
        <li>Require a minimum movement before initiating the drag&amp;drop of tracks #13135 #12902 #12979</li>
        <li>iTunes/Serato/Traktor/Rhythmbox: Print error if library file could not be opened #13012</li>
        <li>Playlists: improve table update after deleting (purging) track files #13127</li>
        <li>Fix Color column width issue #12852</li>
        <li>Tracks: select track row when clicking the preview button (only when starting preview) #12791</li>
        <li>Library track menu: show Hide action also in Playlist &amp; Crates #11901</li>
        <li>iTunes: Obtain FileAccess before accessing iTunes XML #13013</li>
      </ul>
      
      <p>Miscellaneous</p>
      
      <ul>
        <li>Remove unnecessary unpolish operation of the style, before polish the new style #12445</li>
        <li>Developer Tools: Initially sort controls by group name, ascending #12884</li>
        <li>Waveforms: Fix scratching crossing loop boundaries #13007</li>
        <li>Prohibit un-replace when deck is playing #13023 #12906</li>
        <li>Track Properties dialog: Prevent wiping metadata when applying twice quickly #12965 #12963</li>
        <li>AutoDJ: Fix button state after error message about playing deck 3/4 #12976 #12975</li>
        <li>Tagfetcher: Cache fetched covers #12301 #11084</li>
        <li>Avoid beats iterator being one off and DEBUG_ASSERT in Beats::iteratorFrom #13150 #13149</li>
        <li>Show hint if resource path in CMakeCache.txt does not exist #12929</li>
        <li>Always calculate the auto value for colorful console output #13153</li>
        <li>Fix FLAC recording on macOS and Windows #10880 #13154</li>
        <li>LV Mix EQ: Fix pops when enabling in effect rack #13055 #13073</li>
        <li>Fix hid addOutput</li>
      </ul>
- version: "2.4.0"
  type: stable
  unix-timestamp: 1708041600
  description:
    C: >-
      <p>Music Library: Tracks Table &amp; Track Menu</p>
      
      <ul>
        <li>Remember track selection when switching library features, fix initial selection etc. #4177 #4536 #12321 #12064 #11196
      #11130</li>
        <li>Add new library column that shows the last time a track was played #3140 #3457 #3494 #3596 #3740</li>
        <li>Add keyboard shortcut Ctrl+Enter to open track properties #4347</li>
        <li>Home/End keys jump to first/last row #4850</li>
        <li>Wrap selection around at the bottom/top, only if Shift is not pressed #11090 #11100 #12391</li>
        <li>Allow to hide/remove tracks from the library by pressing the Delete key #4330 #7176 #9793 #9837 #10537 #11239 #4577 #10577
      #11171 #10761</li>
        <li>Fix Recording table refresh issues #4648</li>
        <li>Show time in addition to the date in the timestamp column #4900 #10726 #11020</li>
        <li>Show only the date in Date Added / Last Played columns. Move the time of day to tooltips #3945</li>
        <li>Right-align BPM, duration &amp; bitrate values #11634 #11668 #11657</li>
        <li>Remove parenthesis from play counter display #11357</li>
        <li>Refocus library, after editing skin controls #11767</li>
        <li>Fix performance with large playlists #11851 #11724</li>
        <li>Add multi-line editor delegate for comment column #11752</li>
        <li>Keep current item visible when the view shrinks vertically #11273</li>
        <li>macOS scrollbar: Make sure last track is shown in library #11669 #9495</li>
        <li>Add action to select loaded track in library #4740</li>
        <li>Add menu for Analyze and Reanalyze #4806 #11873 #11872</li>
        <li>Add support for overriding analysis settings about variable/constant BPM on a per-track basis #10931</li>
        <li>Add menu for looking up track metadata at Discogs, SoundCloud and LastFM #4772 #4836</li>
        <li>Add "Delete Track Files" action, does "Move to Trash" with Qt &gt;= 5.15 #4560 #4831 #10763 #11580 #11577 #11583 #3212 #11842</li>
        <li>Allow to clear the comment field #4722 #10615</li>
        <li>Allow to reset loops and also via "[ChannelN], loop_remove" control object #4802 #10748 #12392 #12521</li>
        <li>Add 'Update ReplayGain' decks' to track menus #4031 #4719</li>
        <li>Restore "Remove from playlist" in History #11591 #10974</li>
        <li>Enable Lock BPM action if any selected track BPM is unlocked #12385</li>
        <li>Order BPM action by factor, show peview (for single track) #12701 #10128</li>
        <li>Provide the same features in all deck track menus #12214</li>
        <li>Track table header: Keep menu open after toggling a checkbox #12218</li>
      </ul>
      
      <p>Music Library: Sidebar &amp; Searchbar</p>
      
      <ul>
        <li>Add F2 and Del/Backspace shortcuts for renaming &amp; deleting playlists and crates #11172 #11235 #4697 #4700 #10294</li>
        <li>Improve presentation of the History library tree #2996 #4298 #10533</li>
        <li>History: Fix sidebar context menu actions #4384 #4297 #10529</li>
        <li>History: Add cleanup options #4726 #9259 #10714</li>
        <li>History: Fix update of play count after removing tracks #12258 #12046 #12256</li>
        <li>Improve UX with right-click and selection after add, rename, delete, duplicate etc. #11208 #4193 #10488 #11574 #11208 #11712</li>
        <li>Map Left Arrow Key to jump to parent node and activates it #4253</li>
        <li>Crates: only store or activate sibling crate if it's valid #11770 #11769</li>
        <li>Add recent searches to a drop down menu of the search box #3171 #3262 #4505</li>
        <li>Save search queries across restarts #4458 #10517 #10561 #4571</li>
        <li>Enable search in Browse &amp; Recording views #11014 #11012 #4382</li>
        <li>Update Clear button when search is disabled #4447</li>
        <li>Fix reset to default of search timeout in preferences #4504 #10589</li>
        <li>Ctrl+F in focused search box selects the entire search string #4515</li>
        <li>Improve keypress handling, fix glitch in popup, strip whitespaces #4658</li>
        <li>Enter jumps to track table if search query was transmitted #4844 Push completion entry to top, to make up/down behave naturally</li>
        <li>Remove ESC shortcut in favour of new [Library],focused_widget #4571 #11030 #10975</li>
        <li>Restore previous search term when switching between playlists and crates #11129 #11015 #11477 #11476</li>
        <li>Add options to disable auto-completion and history #10942 #10634</li>
        <li>Require Enter or Right key to search for auto completed strings #11207 #11289 #11287</li>
        <li>Allow to use := and quotes to find exact matches #12063 #10699</li>
      </ul>
      
      <p>Music Library: Backend &amp; Database</p>
      
      <ul>
        <li>Add new "[AutoDJ],add_random_track" to make this feature accessible from controllers #3076</li>
        <li>Don't store or update metadata of missing tracks in the Mixxx database to prevent inconsistencies with file tags #3811</li>
        <li>Update library schema to 37 for synchronizing file modified time with track source on metadata import/export #3978 #4012</li>
        <li>Track Metadata: Fix synchronization (import/export) of file tags #4628 #4631 #4847 #10782</li>
        <li>Track Metadata: Do not overwrite unchanged multi-valued fields #12613 #12587</li>
        <li>Optionally reset metadata on reimport if file tags are missing, enabled by "[Library] ResetMissingTagMetadataOnImport 1").
      #4873</li>
        <li>Logging: Suppress expected and harmless schema migration errors #4248</li>
        <li>Fix handling of undefined BPM values #4062 #4063 #4100 #4154 #4165 #4168</li>
        <li>Automatic analyze and optimize database #4199</li>
        <li>Re-import and update metadata after files have been modified when loading tracks #4218</li>
        <li>Re-enable shortcuts after editing controls #4360 #10184 #10523</li>
        <li>Allow to remove a track form the disk #3212 #4639</li>
        <li>Fix accasional resetting of played counter in database #4578 #10617</li>
        <li>Experimental: Fix writing of undefined MusicBrainz Recording ID #4694</li>
        <li>Traktor library: fix importing track key #4701</li>
        <li>Fix exporting m3u files with tracks and special characters by using the URL format #4752</li>
        <li>Library Scanner: Sort files before adding them #10919</li>
        <li>Library Scanner: Fix track relocation query #12462</li>
        <li>MenuBar: Add shortcut for rescanning library #11136</li>
        <li>Playlists: simplify import function, add whitespace before the # suffix #12246</li>
        <li>Destroy PlayerInfo after EngineRecord is stopped to fix a debug assertion #12341 #12242</li>
        <li>iTunes: Modularize importer and use iTunesLibrary on macOS for compatibility with Music.app #11353 #11256 #11446 #11444 #11503
      #11500 #11509</li>
        <li>iTunes: Fix sporadic crash during unit tests due to a not initialized reference. #11666</li>
        <li>iTunes: Permit duplicate playlist names by identifying playlists by id (rather than name) #11794</li>
        <li>iTunes: Re-enable test and add composer , playCount , lastPlayedAt and dateAdded to model #11948</li>
        <li>Fix setting the wrong default cue color #11554 #11260</li>
        <li>Ensure that tracks with an invalid BPM are re-analyzed #2776</li>
        <li>Add support for exporting crates, playlists and the library to Engine Prime and Denon standalone controllers #2753 #2932 #3102
      #3155 #3621 #3776 #3787 #3797 #3798 #4025 #4087 #4102 #4143 #4463 #11815 #12309 #12005 #11816 #11720 #11834 #12452 #11979</li>
        <li>Rekordbox: Save all loops and correct AAC timing offset for CoreAudio #2779</li>
        <li>Rekordbox: Fix missing playlists due to invalid child ID #10955</li>
        <li>Rekordbox: Fix unhandled exception when parsing corrupt PDB files #10452 #4040</li>
        <li>Improve log messages during schema migration #2979</li>
        <li>Search related tracks in collection #3181 #3213 #2796 #4207</li>
      </ul>
      
      <p>Sync</p>
      
      <ul>
        <li>Add support for setting an explicit leader for sync lock #2768 #3099 #3695 #3734 #3698 #3864 #3867 #3921 #4119 #4135
      #4149 #4276 #3944 #11828 #11831 #11829 #12431 #11788 #12234 #12499</li>
        <li>Fix pitch issue with dynamic tracks and sync while cloning tracks #12515</li>
        <li>Fix issue with half/double BPM calculation when using sync #3899 #3706</li>
        <li>Sync Lock: Don't seek phase when disabling sync #4169</li>
        <li>Sync Lock: Fix issues with single-playing syncables #4155 #4389</li>
        <li>Re-sync to leader after scratching #4005</li>
        <li>Fix audio artifacts when fading from or to zero #4363</li>
        <li>EngineBuffer: Fix assert when new track is loaded during playback with sync #4682</li>
      </ul>
      
      <p>Audio Codecs</p>
      
      <ul>
        <li>Add support for m4v files #4088</li>
        <li>Fix recovering from FAAD2 decoding issues #2850</li>
        <li>MP3: Log recoverable errors as info instead of warning #4365</li>
        <li>MP3: Garbage detection fix #12464</li>
        <li>MP3: Improve decoding precision on Windows #11911 #11888</li>
        <li>AAC encoder: Fix a memory leak #4386 #4408</li>
        <li>Improve robustness of file type detection by considering the actual MIME type of the content. #7970 #4356 #4357</li>
        <li>Fix file type detection when file has wrong file extension by determining the MIME type from content #4602 #4600 #4615 #7970
      #10624 #4683 #10669</li>
        <li>Fix type detection of AIFF files #4364</li>
        <li>Fix synchronization time stamps of ModPlug files #4826 #10758</li>
        <li>ID3v2 parsing: Improve log warnings #4610</li>
        <li>ID3v2 parsing: Fix inconsistent import of comment field #11249</li>
        <li>Enable Modpug and Wavpack Support on macOS #11182 #11119</li>
        <li>Fix missing file name in file metadata error message #11965 #11964</li>
        <li>Verify the "first sound" of as an analysis sanity check #4773 #11887 #11946 #11940</li>
        <li>Fix zeros in the first m4a chunk on Linux #11879</li>
        <li>Fix overlapping buffers when decoding m4a files using ffmpeg #11760 #11545</li>
        <li>Fix possible crash with opus files with embedded cover arts and require TagLib 1.11 or newer #4251 #4252 #10500</li>
      </ul>
      
      <p>Audio Engine</p>
      
      <ul>
        <li>Add support for Saved loops #2194 #3267 #3202 #4265 #7574 #11006 #11003 #12637 #12632 #12623 #12618</li>
        <li>Fix an issue when pressing multiple cue buttons at the same time #3382</li>
        <li>Fix synchronization of main cue point/position #4137 #10478 #4153</li>
        <li>Adjust ReplayGain: Allow user to update the replaygain value based on a deck pregain value #4031</li>
        <li>Add halve/double controls for beatjump size #4269</li>
        <li>Implement Un-eject by pressing eject again #4668 #11246</li>
        <li>Implement Un-replace by double-clicking eject #11246</li>
        <li>Allow to cancel active loops via beatloop_activate #4328 #9950</li>
        <li>Slip Mode: Preserve active (regular) loop when leaving Slip Mode #11435 #6993</li>
        <li>Fix possible segfault when ejecting track #4362 #10497</li>
        <li>Fix possible crash when ejecting track from a controller #11884 #11819</li>
        <li>Fix an assertion when loop is before track start #4383 #10556</li>
        <li>Fix and improve snapping to beats in various situations #4366 #10541</li>
        <li>Don't wipe inapplicable sound config immediately #4544</li>
        <li>Rubberband: Support Version 3 "finer" (near-hi-fi quality) setting, on Windows and MacOs and when available on Linux #4853
      #4855 #11047</li>
        <li>Rubberband: Add missing padding, preventing it from eating the initial transient #11120</li>
        <li>Rubberband: Improve mono-compatibility for R3 "finer" #11418</li>
        <li>Fix a possible crash when ejecting a track #11334 #11257</li>
        <li>Add a range limits for beatjump_size of 512 #11248 #11203</li>
        <li>Auto DJ: Fix sharp cut transition after cueing a track without a defined intro #11629 #11621</li>
        <li>Auto DJ: Don't use removed Intro end and outro start makers, use transition time instead #11830</li>
        <li>Auto DJ: Fix GUI freeze when updating duration for many selected tracks #12530 #12520 #12537</li>
        <li>KeyControl: fix keylock/unlock bugs, reset pitch_adjust 4710</li>
        <li>Looping: fix asserts for loop move #11735</li>
        <li>Looping: reset loop_end_pos on eject #12224 #12223</li>
        <li>Fix Loop_out not seeking back #12739 #12742</li>
        <li>ReadAheadManager: fix loop wraparound reader condition #11717</li>
        <li>Slip mode: consider loop for background position only if it was enabled before slip #11848 #11844</li>
        <li>Make decks' xfader assignment persistent #12074 #10122</li>
        <li>Fix gain issue with cloned tracks #12435 #10550</li>
      </ul>
      
      <p>Controller Mappings</p>
      
      <ul>
        <li>new: Hercules DJControl MIX controller mapping #11279</li>
        <li>new: Pioneer DDJ-FLX4 controller mapping based on DDJ-400 #11245</li>
        <li>new: Traktor Kontrol S4 Mk3 controller mapping #11284</li>
        <li>new: Traktor Kontrol Z1 HID controller mapping #12366 #12426</li>
        <li>new: Yaeltex MiniMixxx controller mapping #4350</li>
        <li>Behringer DDM4000 mixer: Update controller mapping #4262 #4799</li>
        <li>Hercules DJ Console RMX: Replace not defined CO name pitch_reset by pitch_set_default #12441</li>
        <li>Korg nanoKONTROL2: Don't try to configure more than 4 main decks #12322 #12317</li>
        <li>Korg nanoKONTROL2: Removed along with Mixco scripts #2682</li>
        <li>MAudio Xponent: Removed along with Mixco scripts #2682</li>
        <li>MIDI4lights: Give beginTimer callbacks the anonymous function expression form #12048</li>
        <li>Novation Twitch: Removed along with Mixco scripts #2682</li>
        <li>Novation Launchpad: Update controller scripts #2600 #11914</li>
        <li>Numark DJ2GO2 Touch: Fix sampler, hotcue, beatloop buttons #4287 #11595</li>
        <li>Numark MixTrack Pro 3: Fix beginTimer callback syntax #12401 #12369</li>
        <li>Roland DJ-505: Make blinking lights blink in sync and other improvements #4159 #4517</li>
        <li>Traktor Kontrol S2 MK1: Add calibration and refactor #11237</li>
        <li>Traktor Kontrol S2 MK2 fix loaded chain preset CO #11823 #10667</li>
        <li>Traktor Kontrol S2 MK3: Use FX select buttons to set quick effect presets #11702</li>
        <li>Traktor Kontrol S3: script improvements, vanilla-like FX behavior, control initialization, better scratching, and more #11199
      #10645 #12409 #12510</li>
        <li>Various mappings: Fix waveform_zoom ranges #12393</li>
        <li>Various mappings: Ensure required samplers are created #12769</li>
      </ul>
      
      <p>Controller Backend</p>
      
      <ul>
        <li>Never raise a fatal error if a controller mapping tries access a non-existent control object #2947</li>
        <li>Add support to access HID FeatureReports #11326 #10828 #11664</li>
        <li>Add function to request HID InputReports, to determine controller state at startup #3317</li>
        <li>Exclude HID device: ELAN touch screen #11324 #11323</li>
        <li>Show otherwise hidden HID devices in developer mode #11317</li>
        <li>Use hidapi's hidraw backend instead of libusb on Linux #4054</li>
        <li>Fix broken HID controller mappings Traktor Kontrol S2 MK3 and others #11470 #11461</li>
        <li>HID mappings: Modernize and document common-hid-packet-parser.js #4718 #4894</li>
        <li>HID mappings: Small fixes for common-hid-packet-parser.js #11925</li>
        <li>HID mappings: Add [Main] to the list of valid groups #12102 #12406</li>
        <li>Consistently use "mapping" instead of "preset" to refer to controller mappings #3472</li>
        <li>Introduce new control object [Library],show_track_menu to open/close the track menu #4465</li>
        <li>Introduce new control object [Library],sort_focused_column #4749 #4763 #10719</li>
        <li>Introduce new control objects [Master],indicator_250millis and [Master],indicator_500millis #4157</li>
        <li>Introduce new control object [Library],clear_search #4331</li>
        <li>Introduce new control object [Library],focused_widget to focus library directly #4369 #4490</li>
        <li>Introduce new control object LoadTrackFromDeck and LoadTrackFromSampler #11244</li>
        <li>Don't automatically enable controller if it was disabled before #4244 #10503</li>
        <li>Enable Qt logging categories for controller logging #4523</li>
        <li>Fix segfault during Mixxx shutdown due to a stale controller connection #4476 #10553</li>
        <li>Components JS: Fix syncbutton #4329</li>
        <li>Components JS: Add script.posMod for euclidean modulo #11415</li>
        <li>Components JS: make JogWheelBasic correctly switch which deck it controls #11913 #11867</li>
        <li>Add Trace for the mapping connections, to allow JS profiling #4766</li>
        <li>Controller preferences: Allow creating a new mapping with 'No Mapping' selected #4905 #10540 #10539</li>
        <li>Add TypeScript declarations for engine and controller scripting API to improve IDE code completion during mapping developent
      #4759</li>
        <li>Retire Mixco Scripts #2682</li>
        <li>Relax strictness of ControllerScriptInterfaceLegacy methods. #11474 #11473</li>
        <li>Do not show ControlObject aliases in developer tools window #12265</li>
        <li>Do not use deprecated COs in C++ code/Keyboard Mapping/Skins #11990</li>
        <li>Fix creation of Sampler end_of_track ControlObjects #12305 #12304</li>
        <li>Add a test SoftTakeoverTest.CatchOutOfBounds #12114 #12011</li>
        <li>Make WHotcueButton learnable with the MIDI Wizard #12252</li>
        <li>Control picker menu: add waveform_zoom_set_default #12247</li>
        <li>CO Renaming #12022 #12021 #11998 #11996 #11980 #12007</li>
        <li>Remove deprecated ControlObjects from Skins #12030</li>
        <li>Log warning if deprecated control is used #11972</li>
        <li>ControlObject alias improvements #11973</li>
        <li>Keyboard mapping: Repeat certain control actions if key is held #12474</li>
        <li>Keyboard mapping: Return triggers double-click, move Preview functions to P / Shift+P #12639</li>
        <li>Keyboard mapping: Various fixes #12730</li>
        <li>Update keyboard sheet #12578</li>
        <li>Logging: Add support for QT_MESSAGE_PATTERN environment variable #3204 #3518</li>
        <li>Avoid issue with stars_up/_down ControlObjects #12591</li>
        <li>hotcue_X_color control: Fix color not stored in cue #12733</li>
      </ul>
      
      <p>Skins</p>
      
      <ul>
        <li>Add harmonic keywheel window #1695 #3622 #3624</li>
        <li>Allow skin scaling from preferences #3960 #11588 #11586</li>
        <li>Fix icon rendering on HiDPI/Retina screens #12407 #12361</li>
        <li>Increase pixmapCache size limit and made it dependent on devicePixelRatio (for HiDPI/Retina displays) #12416</li>
        <li>Make beat indicator control behaviour more natural #3608</li>
        <li>Fix crash if no skin is available #3918 #3939</li>
        <li>Fix crash when starting without a valid skin directory #4575 #10461</li>
        <li>Fix leaked controls #4213 #10293</li>
        <li>Fix switching from Shade to other skins #4421 #10558</li>
        <li>Use double click to reset knobs and sliders #4509 #9947</li>
        <li>Use info not warning for skin COs #4525</li>
        <li>Spinny: Allow to toggle cover art at runtime #4565 #10015</li>
        <li>Passthrough: improve UI / UX #4794</li>
        <li>Knob: Hide cursor on wheel event for .8s #11077</li>
        <li>Move skin control hack to c++ (spinny/cover controls, mic/ducking controls) #11183</li>
        <li>LateNight: Move logo to the right #4677</li>
        <li>LateNight: Use correct tooltip for key control toggle #4696</li>
        <li>LateNight: Add toggles to show loop and beatjump controls #4713</li>
        <li>LateNight: Remove blinking play indicator from mini samplers #4807</li>
        <li>LateNight: Add buffer underflow indicator #4906 #10978</li>
        <li>LateNight: Fix xfader icons in samplers and aux units #12477</li>
        <li>LateNight: use default RGB waveform colors #12712</li>
        <li>Add LateNight (64 Samplers) #11715</li>
        <li>Deere: fix skin/library layout (library missing in default view with Qt6) #11912</li>
        <li>Deere: use decks' waveform colors for sliders (Vol + pitch) #12129 #10240</li>
        <li>Shade: Remove initial setting of now accessible effect controls #4398 #10557</li>
        <li>Shade: Audio Latency meter fix #11601</li>
        <li>Tango: allow to toggle crossfader independently from mixer #12703 #12654</li>
        <li>Fix outdated tooltips #11387 #11384 #11860</li>
        <li>Add settings directory link to Help menu #11670 #11667</li>
        <li>Fix sidebar item styling #11975 #11957</li>
        <li>Fix 500ms blocking of the whole event loop, when holding mouse down on title bar on Windows #12359 #12358 #12433 #12458</li>
        <li>Change SKIN_WARNING to show the skin file and line first, then c++ context #12253</li>
        <li>Fix style of selected QComboBox items on Windows #12339 #12323</li>
        <li>Fix reading the Spinny cover on Windows #12103 #11131</li>
        <li>Fix inconsistent/wrong musical keys in the UI #12051 #12044</li>
        <li>Add skins: path alias #12463</li>
        <li>Remove Text , use TrackProperty or Label #12004</li>
        <li>Beat spinBox/AutoDJ spinbox: Enter &amp; Esc also move focus to library #4617 #4845</li>
        <li>Add effect chain menu button to Deere, polish in Tango #12735</li>
        <li>Skins: reload default.qss when (re)loading a skin #12219</li>
      </ul>
      
      <p>Waveforms and GL Widgets</p>
      
      <ul>
        <li>Waveform overhaul based on QOpenGlWindow and introduce full GLSL shader based waveforms, vumeters and spinnies. This
      fixes a couple of performance issues mainly on macOS. #10989 #10416 #11460 #11556 #11450 #10416 #11734 #12466 #12678 #12731</li>
        <li>Default to 60 Hz waveform refresh rate #11918</li>
        <li>Introduce a VSsync mode driven by a phase locked loop #12469</li>
        <li>Make VSync mode 0 refer to the default mode and make ST_PLL the default on macOS, ST_TIMER otherwise #12489</li>
        <li>Use WaveformWidgetType::AllShaderRGBWaveform as autoChooseWidgetType #11822</li>
        <li>Add new "RGB Stacked" waveform #3153</li>
        <li>Fix micro jitter from clamping position offset to vsync interval #12470</li>
        <li>Avoid flickering when resizing #12487</li>
        <li>Invert scroll wheel waveform zoom direction to mach other applications #4195</li>
        <li>Waveform scrolling: Use set interval setting to fix performance degradation for AMD graphics adapters #11681 #11617</li>
        <li>Fix waveform zooming #11650 #11626</li>
        <li>Fix OpenGL version detection #11673</li>
        <li>Fix crash when no GL context is available #11963 #11929</li>
        <li>Fix stopped waveform rendering in case of vinyl control #11977 #10764</li>
        <li>Fix visual play position related to looping #11840 #11836 #12538 #12506 #12513</li>
        <li>Fix for visual position while scratching outside of an activated loop #12281 #12274</li>
        <li>Spinny: Fix drawing of non-square cover arts #11971 #11967</li>
        <li>Spinny/VU-Meter: Fix drawing #12010 #11930</li>
        <li>VU-Meter: Don't use OpenGL by default #11722</li>
        <li>Improve GLSL pre-roll triangles #12100 #12015</li>
        <li>Make scaling of GLSL RGB and RGB L/R waveform amplitudes consistent with simple waveform #12205 #12356</li>
        <li>Improve rendering of waveform marks #12203 #12237</li>
        <li>avoid overlapping marks #12273</li>
        <li>gradually "compact" the markers if the waveform height is reduced #12501</li>
        <li>Fix clamping of the index for drawing the waveform left of zero position #12411</li>
        <li>Fix possible crash when closing Mixxx #12314 #11737</li>
        <li>Fix EGL support #11982 #11641 #11935 #11985 #11982 #11995 #11994 #12607</li>
        <li>Preferences: recall correct waveform type when selecting an overview type #12231 #12226</li>
      </ul>
      
      <p>Cover Art</p>
      
      <ul>
        <li>Prevent wrong cover art display due to hash conflicts #2524 #4904</li>
        <li>Add background color for quick cover art preview #2524</li>
        <li>Fix coverart tooltip if cover is not cached #12087</li>
        <li>Add cover art fetcher to the Musicbrainz dialog #10908 #4871 #10795 #10796 #10902 #4851 #11938 #11086 #12041 #12300 #12543
      #12532</li>
        <li>CoverArtCache refactoring + Fix scrolling lag after updating Mixxx #12009</li>
      </ul>
      
      <p>Effects</p>
      
      <ul>
        <li>Effect refactoring: Effect chain saving/loading, parameter hiding/rearrangement, effect preferences overhaul #4467 #4431
      #4426 #4457 #4456 #4459 #4462 #4466 #4468 #4472 #4470 #4471 #4483 #4482 #4484 #4486 #4502 #4501 #4518 #4532 #4461 #4548 #4503 #4686
      #4691 #4704 #4748 #4833 #10762 #4884 #10802 #10801 #4899 #8817 #10868 #11055 #11135 #11185 #11242 #10837 #10834 #11424 #11376 #11456
      #11454 #11695 #12633 #12561 #10859 #10777 #11886 #12282 #12277 #11705 #4469 #11902 #10605 #4702 #10579 #4501 #4502 #4503 #4590 #4593
      #11062</li>
        <li>Add Noise effect #2921</li>
        <li>Add Pitch Shift effect #4775 #7389 #4810 #4901 #10858 #12481</li>
        <li>Add Distortion effect #10932</li>
        <li>Effect parameter knobs: Briefly show parameter value in parameter name widget #11032 #9022 #11034</li>
        <li>Effect parameter knobs: Implement ValueScaler::Integral, snap value to int #11061</li>
        <li>Show effect parameter units in parameter name label #11041 #11194</li>
        <li>Fix gain compensation for the Moog filter #11177</li>
        <li>Fix memory leak in AutoPan #11346</li>
        <li>EngineFilterDelay: clamp wrong delay values #4869</li>
        <li>Fix crash when changing effect unit routing #4707 #9331</li>
        <li>Clear effect buffer after ejecting a track #10692</li>
        <li>Center Super knob when loading empty (QuickEffect) chain preset #12320</li>
        <li>Don't reset "super" and "mix" knob on startup #11781 #11773</li>
        <li>Add a missing early return #11809 #111808</li>
        <li>Update EffectSlot meta default value according to loaded effect #12480 #12479</li>
      </ul>
      
      <p>Target Support</p>
      
      <ul>
        <li>Added support for macOS ARM builds on M1/M2 Apple silicon #11398</li>
        <li>Set app_id to fix Mixxx window icon on Wayland #12635</li>
        <li>Require C++20 but keep Ubuntu Focal support #4889 #4895 #11204 #4832 #4803 #11551 #11573</li>
        <li>Drop Ubuntu Bionic support, require Qt 5.12 #3687 #3735 #3736 #3985</li>
        <li>Drop Ubuntu Groovy and Impish support because of EOL #4283 #4849 #12353</li>
        <li>Support Ubuntu Noble and Jammy #4780 #4857 #12353</li>
        <li>Add NixOS support #2820 #2828 #2836 #2827 #2827 #2828 #3113 #3089 #3545</li>
        <li>Windows packaging: Use Azure for signing exe, msi and all dlls with timestamp and sha256 #12465 #4824 #4825</li>
        <li>macOS packaging: Fix signing and migrate script to notarytool #12123 #12089 #12095</li>
        <li>macOS packaging: Enable app sandbox and fix related issues #12138 #12457 #12137 #11552 #4018 #10373</li>
        <li>macOS: Use rounded Mixxx Icon to follow Apples style guide #4545 #10958</li>
        <li>macOS packaging: Capitalize bundle and executable name (Mixxx.app) #12656</li>
        <li>OpenBSD: Allow building Mixxx #11083</li>
        <li>Improve Linux launcher #11826 #11820 #11805 #12424</li>
        <li>Experimental iOS support #12665 #12666 #12662 #12663 #12661 #12650</li>
        <li>Fail early in case Taglib 2.0 is found #12709</li>
      </ul>
      
      <p>Track properties</p>
      
      <ul>
        <li>Fix a SIGSEGV after a debug assertion #4316</li>
        <li>Apply pending changes also when saving via hotkey #4562 #10612</li>
        <li>Fix crash when trying to scale 0.0 BPM #4587 #1955853</li>
        <li>Add track color selector #11436 #10324</li>
        <li>Don't clear unsaved properties when updating star rating #11565 #11540</li>
        <li>Fix glitch in Star rating #12582 #12576</li>
        <li>Focus Double-clicked property field for edit #11764 #11804 #11802</li>
        <li>Display the samplerate #12418</li>
      </ul>
      
      <p>Preferences</p>
      
      <ul>
        <li>Always show tooltips #4198 #9716</li>
        <li>Add option to keep deck playing on track load #10944 #10548</li>
        <li>Always enable Alt shortcut keys #11145 #10413</li>
        <li>Sound Hardware: auto select free device channels #11859 #10163</li>
        <li>Various layout and UX fixes #12429 #12399 #11663 #11926 #12057</li>
        <li>macOS: set preferences dialog title to the selected page title #11696</li>
        <li>macOS: fix the preferences menu and opening the settings directory #11679</li>
        <li>macOS: fix slider styling in preferences dialog #11647</li>
        <li>Vinyl control: Improve quality indicator #3279</li>
        <li>Mixer: apply &amp; save settings only in slotApply(), fix bugs, improve UX #11527</li>
        <li>Mixer: fix reset of EQ auto-reset checkbox #11818 #11817</li>
        <li>Interface: avoid unneeded skin reload, clean up #11853</li>
        <li>Library: Add link to settings files info in the manual #4367</li>
        <li>Controllers: add search bars to mapping tables #11165</li>
        <li>Add 13 new translation languages #4785 #9702</li>
        <li>Join Franch translations to "fr" and remove all untranslated English strings. #12699</li>
        <li>Apply changes from all pages when pressing Apply (like when pressing Okay) #12194</li>
      </ul>
      
      <p>Known issues</p>
      
      <ul>
        <li>Volume / Loudness spikes on Windows with M4A/AAC files. Last known working version is Windows 10 build 17763. Affected
      versions are Windows 10 build 19041 and Windows 11 build 22000. #12289 #11094</li>
        <li>macOS: Library entries are now sorted using the language depending Unicode Collation Algorithm (UCA). #12517</li>
        <li>macOS: Visual glitches with the main EQ sliders #12517</li>
        <li>Linux: possible crash when enabling a MIDI controller #12001 Introduce with Qt 5.15.5, fixed in Qt 5.15.17 and Qt 6.6.3</li>
        <li>Extra Samplers are created during startup, when found in a saved Sampler Bank #12657 #12809</li>
      </ul>