Repository navigation
Releases: zrythm/zrythm
Releases · zrythm/zrythm
Release list
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
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
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
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
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
v1.0.0
v1.0.0-rc.2
v1.0.0-rc.2
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
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
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