⇦ | mixxx [main]
Last updated on: 2025-01-23 08:14 [UTC]

Metadata for mixxx in main

org.mixxx.Mixxx - 2.5.0+dfsg-3 ⚙ amd64 ⚙ arm64 ⚙ armel ⚙ armhf ⚙ i386 ⚙ mips64el ⚙ 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/c2e3cb4fecc8ef06e944e8cddde4f416/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/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-1_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-1_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-1_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-1_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-1_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the LateNight Classic skin
  thumbnails:
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-2_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-2_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-2_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-2_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-2_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Deere skin
  thumbnails:
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-3_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-3_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-3_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-3_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-3_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Shade Classic skin
  thumbnails:
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-4_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-4_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-4_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-4_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-4_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Shade Dark skin
  thumbnails:
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-5_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-5_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-5_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-5_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-5_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Shade Summer Sunset skin
  thumbnails:
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-6_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-6_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-6_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-6_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-6_orig.png
    width: 3840
    height: 2160
- caption:
    C: Mixxx with the Tango skin
  thumbnails:
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-7_1248x702@1.png
    width: 1248
    height: 702
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-7_752x423@1.png
    width: 752
    height: 423
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-7_624x351@1.png
    width: 624
    height: 351
  - url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/screenshots/image-7_224x126@1.png
    width: 224
    height: 126
  source-image:
    url: org/mixxx/Mixxx/c2e3cb4fecc8ef06e944e8cddde4f416/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>