Tags

Tags give the ability to mark specific points in history as being important
  • v2.0.0-alpha.6

    protected
    c653abd1 · Release v2.0.0-alpha.6 ·
    Release v2.0.0-alpha.6
    
    Added:
    - File import (#5197, #5325): MIDI files import as tracks with one
      clip per MIDI track on its own lane and into clip launcher
      slots, undoable as a single step; audio and MIDI files can be
      dropped onto the timeline at the snapped position (multi-file
      drops stack clips in consecutive lanes, drops below the
      tracklist create one track per file) or imported through an
      "Import File…" picker in the File menu and the tracklist header
    - The playhead and its glow turn red while recording, and the
      record button and a status bar indicator blink while recording
      is active
    - A --verify-installation command line option that checks the
      installation layout and exits
    
    Changed:
    - The mixer strip and track headers regroup their state controls
      at a compact size: solo, mute, record and listen sit together,
      the mono, phase and monitor controls appear only when one of
      them is active, and automation lane controls follow the same
      sizing
    - Recording (record buttons, playhead) and destructive or failure
      states (delete rubber band, cut tool, meter over-levels) use
      separate record and error colors that meet contrast requirements
      in both themes
    - File dialogs are native on GNU/Linux through the XDG desktop
      portal and support multiple selection
    
    Fixed:
    - Undo and redo leaving clips invisible when their lane was
      trimmed away after becoming empty: lanes are restored at their
      position, and lanes emptied by clip removals collapse back to a
      single trailing empty lane (#5325)
    - LV2 plugins leaking resources they schedule for release through
      the worker extension when destroyed
    - LV2 plugins failing to scan in packaged macOS and Windows builds
      because the LV2 spec files were missing from the app bundle and
      installer; startup now verifies the installation and reports
      fatal errors in a dialog
    
    Removed:
    - The legacy sample processor (unused)
    
  • v2.0.0-alpha.5

    protected
    e7e95eb2 · Release v2.0.0-alpha.5 ·
    Release v2.0.0-alpha.5
    
    Added:
    - Native LV2 plugin hosting replacing the JUCE wrapper: metadata-only
      discovery via lilv that never loads plugin binaries during
      scanning, host transport and MIDI delivered as atom sequences,
      worker extension hosting, pset presets, default states and
      patch:writable parameters exposed as automatable parameters, and
      self-contained state blobs that embed files created through
      state:makePath
    - Native LV2 plugin UIs (X11) hosted in real windows on GNU/Linux,
      embedded under Wayland via XWayland, following the UI's own size
      and resize requests
    - CLAP preset discovery and loading driven by each plugin's own
      preset-discovery providers
    - Undoable clipboard operations (copy, cut, paste, duplicate) for
      arranger objects, tracks and plugins (#5172): shortcuts, menu
      items and Delete follow the focused view, pasted tracks keep
      their folder nesting and output routing, editor arrangers paste
      into the edited clip at the playhead, and payloads sync with the
      OS clipboard so selections can be pasted across projects and
      instances
    - Notification center replacing modal alerts (#5324): toasts that
      coalesce repeated occurrences and can carry an action supplied by
      the producer, a bell badging unacknowledged warnings and errors,
      and a history popover with relative timestamps
    - Status bar showing the audio engine's sample rate, buffer size
      and the project's track count
    - Undoable lane deletion from the lane context menu; laned tracks
      keep a trailing empty lane for placing new clips (#5172)
    - Plugin browser favorites, persisted per plugin, with a favorites
      filter and a plugin info dialog; browser rows show vendor
      subtitles with show-in-file-manager and import actions
    - Third-party licenses page in the About dialog listing every
      shipped component with its copyright and license texts
    - Menu items showing their shortcut right-aligned
    
    Changed:
    - The UI follows a new design system specification: dialogs render
      as native windows with emphasized default buttons activated by
      Return from anywhere, menus and combo popups share spacing and
      typography rules with animated color transitions, selected
      arranger objects draw a text-colored outline, and recording and
      error states use distinct shades of red
    - The Greeter's recent projects list uses two-line rows with
      show-in-file-manager and remove-from-list actions
    - Update translations (Swedish, Czech, Spanish, French, Russian,
      Ukrainian and more)
    
    Fixed:
    - Parameter edits made in plugin UIs (VST3, CLAP) are
      attributed as user edits: they mark the selected preset dirty and
      coalesce into one undo step instead of flooding the undo history
    - VST3 parameters reported by the plugin during processing not
      reaching the host parameter model, separate edit controllers not
      being notified of applied values, and dual-component plugins
      appearing twice in scans
    - Crashes in dlopened pango-based plugin UIs (e.g. avldrums) caused
      by internally bundled harfbuzz/freetype copies shadowing the
      system libraries
    - Scans of bundles containing no plugins (e.g. preset-only
      bundles) timing out and blacklisting the scanned path
    - The Greeter re-showing the last alert when a project closes, and
      its page stack growing on repeated load failures (#5324)
    - The audio engine accepting deactivation during an offline render,
      leaving the render thread processing without a device callback
    - Periodic plugin parameter flushes slowing down over a session as
      the undo history accumulated removed plugins
    
    Removed:
    - JUCE LV2 hosting and the vendored LV2 headers, replaced by the
      native lilv-based hosting
    
  • v2.0.0-alpha.4

    protected
    a0c094fd · Release v2.0.0-alpha.4 ·
    Release v2.0.0-alpha.4
    
    Added:
    - Native LV2 plugin hosting replacing the JUCE wrapper: metadata-only
      discovery via lilv that never loads plugin binaries during
      scanning, host transport and MIDI delivered as atom sequences,
      worker extension hosting, pset presets, default states and
      patch:writable parameters exposed as automatable parameters, and
      self-contained state blobs that embed files created through
      state:makePath
    - Native LV2 plugin UIs (X11) hosted in real windows on GNU/Linux,
      embedded under Wayland via XWayland, following the UI's own size
      and resize requests
    - CLAP preset discovery and loading driven by each plugin's own
      preset-discovery providers
    - Undoable clipboard operations (copy, cut, paste, duplicate) for
      arranger objects, tracks and plugins (#5172): shortcuts, menu
      items and Delete follow the focused view, pasted tracks keep
      their folder nesting and output routing, editor arrangers paste
      into the edited clip at the playhead, and payloads sync with the
      OS clipboard so selections can be pasted across projects and
      instances
    - Notification center replacing modal alerts (#5324): toasts that
      coalesce repeated occurrences and can carry an action supplied by
      the producer, a bell badging unacknowledged warnings and errors,
      and a history popover with relative timestamps
    - Status bar showing the audio engine's sample rate, buffer size
      and the project's track count
    - Undoable lane deletion from the lane context menu; laned tracks
      keep a trailing empty lane for placing new clips (#5172)
    - Plugin browser favorites, persisted per plugin, with a favorites
      filter and a plugin info dialog; browser rows show vendor
      subtitles with show-in-file-manager and import actions
    - Third-party licenses page in the About dialog listing every
      shipped component with its copyright and license texts
    - Menu items showing their shortcut right-aligned
    
    Changed:
    - The UI follows a new design system specification: dialogs render
      as native windows with emphasized default buttons activated by
      Return from anywhere, menus and combo popups share spacing and
      typography rules with animated color transitions, selected
      arranger objects draw a text-colored outline, and recording and
      error states use distinct shades of red
    - The Greeter's recent projects list uses two-line rows with
      show-in-file-manager and remove-from-list actions
    - Update translations (Swedish, Czech, Spanish, French, Russian,
      Ukrainian and more)
    
    Fixed:
    - Parameter edits made in plugin UIs (VST3, CLAP) are
      attributed as user edits: they mark the selected preset dirty and
      coalesce into one undo step instead of flooding the undo history
    - VST3 parameters reported by the plugin during processing not
      reaching the host parameter model, separate edit controllers not
      being notified of applied values, and dual-component plugins
      appearing twice in scans
    - Crashes in dlopened pango-based plugin UIs (e.g. avldrums) caused
      by internally bundled harfbuzz/freetype copies shadowing the
      system libraries
    - Scans of bundles containing no plugins (e.g. preset-only
      bundles) timing out and blacklisting the scanned path
    - The Greeter re-showing the last alert when a project closes, and
      its page stack growing on repeated load failures (#5324)
    - The audio engine accepting deactivation during an offline render,
      leaving the render thread processing without a device callback
    - Periodic plugin parameter flushes slowing down over a session as
      the undo history accumulated removed plugins
    
    Removed:
    - JUCE LV2 hosting and the vendored LV2 headers, replaced by the
      native lilv-based hosting
    
  • v2.0.0-alpha.3

    protected
    a6ac5800 · Release v2.0.0-alpha.3 ·
    Release v2.0.0-alpha.3
    
    Added:
    - Native VST3 plugin hosting replacing the JUCE wrapper, with
      resizable embedded editor windows featuring a header strip, bypass
      and A/B state comparison
    - Durable preset selection with VST3 program tracking, a prev/next
      preset selector in plugin windows, and a searchable preset browser
      with group filtering and keyboard auditioning
    - Parameter groups (e.g. VST3 units) shown as sections in the
      generic plugin parameter editor
    - Diagnostics row in plugin windows showing DSP load and latency
      (#4526)
    - Host transport (play state, tempo, time signature and musical
      position) delivered to VST3 and CLAP plugins, so tempo-synced
      plugins follow the project
    - Parallel polyphonic voice rendering for bundled synths on a
      realtime-safe worker pool, and hosting of the CLAP thread-pool
      extension for plugins that parallelize their processing
    - Drag and wheel scrubbing on the transport bar BPM, time signature
      and position readouts (Shift/Ctrl for fine steps)
    - Pinned-cursor dragging with Shift fine mode for knobs, faders and
      balance controls, so values can be edited indefinitely without the
      cursor hitting screen edges
    - Type and format filters with persisted search in the plugin browser
    - Per-stage progress reporting for project load and save, and a
      modal dialog that blocks concurrent project loads
    - System information and a Copy System Info button in the About
      dialog
    - Windows on ARM installers built as ARM64EC, running natively while
      loading x64 plugins in-process
    
    Changed:
    - Multi-channel audio routing reworked around speaker arrangements:
      audio folds between layouts per ITU-R BS.775 instead of silencing
      unmatched buses, port connections carry explicit channel routings,
      and plugin bus changes at runtime detach and revive ports without
      losing connections
    - Sidechain buses are excluded from automatic track chain wiring and
      connect through explicit user connections
    - The playhead keeps its musical position across tempo changes, and
      engine-internal pauses (e.g. for undo) no longer trigger
      return-to-cue moves
    
    Fixed:
    - Plugin parameters being zeroed on the first processing cycle,
      resetting patches of plugins like Surge XT
    - Crash when removing a MIDI device while its processor is part of
      the processing graph (#5284)
    - Backups cloning their pool files over the main project's pool
      files (reversed copy direction in the reflink path)
    - Crash on port connections referencing nonexistent endpoints; such
      connections are now dropped with a warning at load
    - Data races between the main and audio threads on transport state
      and playhead processing state (ThreadSanitizer)
    - Deadlocks when graph recalculation or engine pausing was requested
      while already in progress
    - Count-in metronome clicks continuing to play after pausing during
      the count-in
    - Faders and balance controls resetting to hardcoded values instead
      of the parameter default, and the fader hover label showing
      -2.1 dB at unity gain (#5307)
    - Faders ramping to new volumes faster than real time during
      playback
    - Generic plugin editor windows opening without a title bar on
      Windows
    - Unstyled platform scrollbars and fallback controls on Windows
      (#5312)
    - Arrangers setting drag cursors when the pointer is elsewhere in
      the window
    - Missing icon error in the track inspector's MIDI input expander
    - DSP load indicator rendering an empty meter as a solid block
    
    Removed:
    - Carla plugin hosting support (already disabled)
    
  • v2.0.0-alpha.2

    protected
    b8463411 · Release v2.0.0-alpha.2 ·
    Release v2.0.0-alpha.2
    
    Added:
    - Chord pad panel with preset/scale support, polyphonic audition and
      undoable editing (#5169)
    - Chord editor for placing and editing chord objects in progressions
      (#5169)
    - Chord suggestion engine that recommends next chords based on the
      current chord and scale
    - Chord symbols displayed inside chord clips on the timeline
    - Chord track recording, including from chord pad notes (#5281)
    - Musical mode: time-stretch audio clips to follow the project tempo
      (offline Rubberband), toggleable globally and per clip (#4368)
    - Source BPM detection from audio file metadata, with automatic tempo
      estimation when metadata is missing (#4746)
    - Pencil tool for creating objects; hold Ctrl and drag to paint
      consecutive objects (#5178)
    - Eraser tool for deleting objects by clicking or dragging a rectangle
      (also via right-drag) (#5180)
    - Cut tool for splitting objects at the clicked position (Alt+click)
      (#5179)
    - Ramp tool for drawing linear velocity ramps across MIDI notes (#5181)
    - Audition tool for playing from the clicked position while held
      (#5182)
    - Editable base tempo and base time signature anchored at the start of
      the timeline
    - BPM cell in the transport bar showing the tempo at the playhead,
      editable via an undoable dialog
    - Tempo automation curve drawn behind tempo objects
    - Draggable clip-start, loop-start and loop-end markers on the clip
      editor ruler
    - Undo/Redo actions in the Edit menu showing the next action name
    - Panel toggle buttons in the toolbar and View menu
    - Generic parameter editor window for plugins without a native UI
    - Open .zpj project files from file managers or the command line
      (#5275)
    - MIDI note activity highlighting on piano roll keys
    - Undoable velocity editing with per-note clamping and live value labels
    - Alternating bar shading in the arranger background
    - Language menu with per-language completion percentages and a "More
      Languages" submenu
    - Optional Tracy profiler integration
    
    Changed:
    - Rename "regions" to "clips" throughout the UI and project format
      (#4368)
    - Reimplement bundled Faust plugins as internal plugins instead of
      generated VST3/CLAP bundles
    - Switch most dependency management from CPM to Conan
    - Rebuild the live waveform, spectrum analyzer and meter displays on a
      new real-time-safe port observation system
    - Rework automation rendering with a C++ canvas painter and
      segment-based curve evaluation on the audio thread
    - Arranger drags and resizes now preview in place and commit as a
      single undo step on release
    - Default to dark mode on startup
    - Update translations (Spanish, Ukrainian, Chinese Simplified, German,
      Russian, French, Japanese and more)
    
    Fixed:
    - Faders, knobs and balance controls getting stuck when a parent
      scroll view takes over the drag (#5308)
    - Crash from wrapped 32-bit MIDI timestamps after ~50 days of system
      uptime (Linux ALSA)
    - Track name field keeping stale text and staying in edit mode when
      switching tracks (#5220)
    - Deleting or cloning tempo and time signature objects failing
    - Incorrect note-offs with overlapping same-pitch MIDI notes (#5279)
    - Distorted automation curves when tempo changes occur within a clip
    - Track selection pointing at the wrong track when tracks are hidden
    - Selections of non-moved tracks being lost when moving tracks
    - Stale entries for deleted plugin files shown in the plugin browser
    - Failed plugin instantiation leaving broken tracks; an error dialog is
      now shown instead
    - Load/save dialogs not defaulting to the configured new-project
      directory (#5211)
    - Dock panels resizing smaller than their content, and the bottom dock
      being cut off on first load
    - Peak meter and fader value labels shifting the layout as values
      change
    
    Removed:
    - Legacy GTK-era code (widgets, actions, event manager, gschema
      generator)
    - Legacy real-time audio stretcher (superseded by the offline
      time-stretch engine)
    
  • v2.0.0-alpha.1

    protected
    9d8985ec · Release v2.0.0-alpha.1 ·
    Release v2.0.0-alpha.1
    
    First official v2 alpha release. Zrythm v2 is a complete rewrite using Qt/QML
    and JUCE, replacing the previous GTK-based UI.
    
    Added:
    - Qt/QML-based UI with hardware acceleration (Qt Quick)
    - Plugin support via JUCE: VST3, LV2, LADSPA, AudioUnit
    - Native plugin support: CLAP
    - Tempo map with editable tempo and time signature objects
    - ASIO support on Windows
    - CPack packaging: AppImage (GNU/Linux), DragNDrop (macOS), InnoSetup (Windows)
    - CI pipeline with Clang sanitizers, Valgrind, QML lint, ClangFormat checks
    - Unit tests, integration tests, and benchmarks
    - Use CPM for dependency management with version pinning
    
    Changed:
    - Migrated from GTK to Qt6/QML
    - Migrated from Meson to CMake
    - Migrated from C to C++23
    - Bundled Faust plugins migrated from LV2 to JUCE/VST3
    
    Removed:
    - GTK, Carla, guile dependencies
    - Meson build system
    
  • v2.0.0-alpha.0

    protected
    Initial v2 development release - highly experimental, unstable, missing critical features
    
  • v1.0.0

    protected
    8b3de788 · release v1.0.0 ·
    v1.0.0
    
    [1.0.0] - 2024-11-21
    Changed
    - Desktop file: use Zrythm instead of Zrythm RC
    
  • v1.0.0-rc.2

    protected
    6ce35f2d · release RC2 ·
    v1.0.0-rc.2
    
  • v1.0.0-rc.1

    protected
    v1.0.0-rc.1
    
    Added
    - New Windows UWP (RtMidi) MIDI backend
    
    Changed
    - Hide "Custom" tab from scale selector
    - Include a scale in the default project (A minor)
    - Display region link group IDs inside regions instead of link symbol
    - Use new Carla discovery API for scanning plugins
    - Use pulse mode in greeter progress bar
    - Regenerate bundled faust plugins
    - Change Zrythm theme priority to APPLICATION instead of USER
    
    Fixed
    - Fix segfault when max tracks limit is reached on trial version
    - Fix various issues related to linked regions
    - Fix multiple plugins in same CLAP binary not being scanned
    
    Removed
    - Removed section labels in some context menus
    - Remove libguile dependency
    - Remove lilv dependency (at runtime)
    - Remove reproc dependency
    
  • v1.0.0-rc.0

    protected
    36e2f2b7 · release v1.0.0-rc.0 ·
    v1.0.0-rc.0
    
    Added
    - Add navigation buttons to the initial greeter window
    
    Changed
    - Update the whole user manual
    - Update Japanese, Dutch, Russian,  translations
    - INSTALL: update dependencies list
    - Use horizontal icons for some elements in track/channel context menus
    - Remove EXIF data from images used in the user manual and add a CI check
    
    Fixed
    - Fix crash when changing fade positions in the audio editor
    
  • v1.0.0-beta.6.7.32

    protected
    v1.0.0-beta.6.7.32
    
    Added
    - Add context menu to import files (#4751)
    
    Changed
    - Don't rescan hardware ports periodically (instead do it when the engine gets paused on user actions)
    - Port chord selector dialog to AdwDialog and hide tabs with unimplemented functionality (#5071)
    - Update Portuguese (Brazil), Turkish, Spanish translations
    - Update various sections in the user manual
    - Hide Scenes tab in the main panel
    
    Fixed
    - Added a temporary workaround to VST3 plugins not accepting all notes off (#5062)
    - Fix not being able to select RtAudio device ports in preferences (#5033)
    - Fix `is_midi` flag not being copied when cloning hardware ports (may fix issue with MIDI controllers not working)
    - Re-enable search in the preferences
    - Fix being unable to delete MIDI CC bindings
    
  • v1.0.0-beta.6.7.1

    protected
    v1.0.0-beta.6.7.1
    
    Added
    - Implement ctrl-drag to move the loop range in the timeline (#4815)
    - Print libadwaita/libpanel versions in debug info
    
    Changed
    - Remove unneeded `volatile` keywords from some variables
    - Monitor section tab: use speaker icon from GNOME icon library
    - Stretch objects with Ctrl modifier instead of having a separate stretch mode (#5036)
    - Change modulator icon to a knob (#5073)
    - Don't allow resizing if the hovered object is too narrow (#5070)
    - Update Russian, Interlingua, Catalan, Afrikaans, Finnish, Turkish, Polish, Chinese (Simplified), Japanese translations
    
  • v1.0.0-beta.6.7

    protected
    e42ac997 · update po ·
    v1.0.0-beta.6.7
    
  • v1.0.0-beta.6.6.1

    protected
    v1.0.0-beta.6.6.1
    
    Changed
    - Change how object resizing works: revert original object(s) on undo (fixes undoing audio stretching not reverting the original audio, #4955)
    - Bump required libadwaita/gtk versions to latest stable releases
    - Revert to previous fader style (#5054)
    
    Fixed
    - Fix track inputs switching to wrong input in the inspector after selecting a different track
    - Fix some issues reported by ASAN
    - Fix memory leak when loading project files
    - Fix home VST2 path being used when scanning DSSI plugins (#5058)
    
    Removed
    - Hide MIDI modifier chooser (out of scope for v1, #5053)
    
  • v1.0.0-beta.6.6

    protected
    496ca7d4 · bump libadwaita version ·
    v1.0.0-beta.6.6
    
  • v1.0.0-beta.6.5.1

    protected
    v1.0.0-beta.6.5.1
    
    Added
    - Build: Add flatpak manifest for building in GNOME Builder
    - Source: Add editor config file
    - Add more relevant categories in desktop file
    - Auto-scroll when dragging towards edges of the ruler (#5043)
    - Show fade in/out line indicator in audio regions in timeline on hover
    
    Changed
    - Replace most cursors used in arrangers (#5029)
    - Update Interlingua, Catalan translations
    - Build: set gettext package name and version
    
    Fixed
    - Fix diminuendo (crescendo MIDI function with downward slope) (#4999)
    - Fix wrong icon name in desktop file
    - Fix automation points for non-float parameters being drawn at wrong positions (#4177)
    - Fix missing `document-edit` icon
    - Fix incorrectly allowing audio region fade in/out to crossfade (#4975)
    
    Removed
    - Remove styling of panel resize separators (#5046)
    
  • v1.0.0-beta.6.4.1

    protected
    v1.0.0-beta.6.4.1
    
    Changed
    - Redesign plugin info label
    - Build: port UI files to blueprint format and generate UI files via blueprint-compiler
    - Redesign channel views in the mixer
    - Update some icons
    - Redesign faders
    - Link transport control buttons together
    - Drop borders from meters and change color gradient
    - Unit tests: require less RAM
    - Port various dialogs to AdwDialog
    - Bump libadwaita requirement to >= 1.5
    - Use raised top bar style for main window (#5023)
    - CSS theme: Specify named colors `@window_bg_color` and `@dialog_bg_color` instead of coloring specific widget backgrounds
    - Debugging: don't set signal handlers when running from valgrind
    - Update Chinese (Simplified), Japanese, Hindi, Catalan translations
    - Install Zrythm icon as org.zrythm.Zrythm.svg instead of zrythm.svg
    - User manual: document `--audio-backend` and `--midi-backend` CLI options
    
    Fixed
    - Fix error when sending a bug report for a project with many actions on the undo stack (#5016)
    - Fix spectrum analyzer not rendering correctly with ngl renderer (#5008)
    - Fix cancel button when exporting stems only cancelling export for the current stem
    - Fix device selection dropdown crashing in preferences when opened from the greeter
    
  • v1.0.0-beta.6.4

    protected
    v1.0.0-beta.6.4