← Back

Changelog

Every Splitwave release, newest first. Pulled straight from GitHub.

v1.3.0-rc.1

GitHub

Added

  • Added remotely managed announcements with banner and modal presentation, targeting by app version, release channel, platform, architecture, and expiry date.

Fixed

  • Fixed in-app updater throwing invalid resource ID when installing updates by registering update handles into webview resource tables.
  • Fixed version display falling back to "v?" in updater banner and about modal by making cached app info reactive.
  • Prevented closed plugin editor windows from reopening during pipeline reconcile when connecting or disconnecting edges.
  • Fixed Waveform monitors showing phantom channels when disconnected and kept their node size, resize controls, and channel layout synchronized.
  • Kept the live buffer-limit notice exclusive to the waveform embedded in File Recording.
  • Disabled browser context menu and web inspector on right-click across all platforms.

Full Changelog: https://github.com/Horuse/Splitwave/compare/v1.2.0...v1.3.0-rc.1

v1.2.0

GitHub
⚠️ Notice for Splitwave 1.1.0 users:
Due to an in-app updater bug in version 1.1.0 (*"The resource id is invalid"*), automatic in-app install is not supported for this tranяsition. Please download and install Splitwave 1.2.0 manually from the https://splitwave.app/download or https://github.com/Horuse/Splitwave/releases/v1.2.0.

Added

  • Configurable pipeline sample rate - select the pipeline processing sample rate in Settings (presets from 44.1 kHz to 192 kHz, or custom step) and configure sample rates per virtual device. When device and pipeline rates match, audio passes through bit-transparently without resampling, with a subtle indicator in the header by @Horuse in (#39).
  • Overhauled Waveform scope - redesigned high-performance canvas oscilloscope with deterministic time-normalized zoom, smooth live recording tail, multi-lane view, buffer boundary marker, and disk-backed peak navigation for WAV and AIFF files by @Horuse in (#31).
  • File recording append mode & rate controls - WAV and AIFF recordings can now append to existing files or prompt before overwrite. Recording formats auto-fit supported sample rates and bit depths, with customizable sample rate selection by @Horuse in (#31).
  • Managed VB-CABLE virtual microphone on Windows - install, verify, and configure the virtual microphone directly from Splitwave without manual driver management by @DeadMorose777 in (#26).
  • Device auto-reconnect - disconnecting an active audio interface or Bluetooth headset no longer fails the pipeline; streams pause cleanly and resume automatically once the device is plugged back by @Horuse in (#38).
  • Safe mode - if the engine encounters an unexpected crash, Splitwave restarts in safe mode with an alert banner and pauses pipeline auto-activation so you can safely inspect and edit the graph.
  • Beta updates channel - opt into pre-release and beta builds directly from Settings, with a pre-release indicator badge in the header.
  • Opus audio file decoding - Audio File node supports decoding Opus files via Symphonia libopus by @Horuse in (#31).

Changed

  • Network audio nodes (Net Sender and Net Receiver) use a leaner v2 wire protocol with dynamic format detection and configurable sample rates by @Horuse in (#39).
  • Audio node specifications use unified styling and a reusable numeric stepper across controls by @Horuse in (#31, #39).
  • Real-time speaker pacing and prefill budgets are bounded across all platforms to prevent drift and latency creep by @Horuse in (#41).

Fixed

  • Linux PipeWire format negotiation queries native device parameters and tracks negotiated rates accurately, resolving virtual monitor capture issues and reducing idle meter CPU overhead by @Horuse in (#41).
  • Plugin hosting: resolved VST3 and Audio Unit editor lifecycle deadlocks on reopen, enforced proper UI thread affinity, and enabled flexible window resizing by @Horuse in (#37).
  • Audio File playback: fixed unexpected EOF errors on truncated WAV files, fixed MP3 decoding on files with broken Xing headers, and stabilized loop synchronization by @Horuse in (#31).
  • Leaked event listeners in node flow were removed on unmount, preventing stale nodes from waking up after graph edits by @Horuse in (#31).

Full Changelog: https://github.com/Horuse/Splitwave/compare/v1.1.0...v1.2.0

v1.1.0

GitHub

Added

  • Persistent pipeline activation - the pipeline that was running when the app closed is remembered and starts again on launch. App Audio and Audio File sources that are not available yet are left out and reconnect automatically once they appear (#21).
  • Device volume in dB - the hardware volume sliders on input and output nodes show their attenuation in decibels and follow changes made outside the app through native OS listeners on every platform (#20).
  • Native audio on Linux - device volume is driven through libpulse and virtual devices through the PipeWire library instead of shelling out to wpctl, pactl and pw-cli (#23).
  • End-to-end latency badge in the header - combines the input backlog, the graph's delay compensation and the adaptive output buffer into one live readout.
  • System theme - the header theme toggle now cycles light, dark and system.

Changed

  • Recording is paced by the wall clock, so file sources that decode faster than real time no longer over-run the encoder.
  • Speaker ring fill adapts to the device's own buffer size, running at that latency instead of underrunning on large-buffer (PipeWire) setups.

Fixed

  • Update checks work in sandboxed AppImage builds on Linux (bundled CA roots), and a missing build for the current OS/arch shows a friendly note instead of an error.
  • Activating a pipeline from the list prompts for a missing recording file instead of failing.
  • Pipeline name input sizes itself to its content and is capped at 64 characters.
  • Virtual device page marks unsaved edits as dirty until applied.
  • Log and snapshot lists no longer produce duplicate list keys (#18).

Full Changelog: https://github.com/Horuse/Splitwave/compare/v1.0.0...v1.1.0

v1.0.0

GitHub

Added

  • Log viewer - Cmd/Ctrl+Shift+L opens an in-app log window in every build, showing engine and interface logs together with level filtering, search and one-click copy.
  • Virtual device apply without root - device changes are picked up through a watched shared config instead of requiring elevated privileges.
  • Plugin hosting - load your own plugins as effect nodes: CLAP and VST3 on every platform, Audio Unit on macOS. The plugin's own editor opens in a native window, its parameters are editable in the node itself, and its state is saved with the pipeline. Linux editors need an X11 session (XWayland included).
  • Separate channel routing (#12) - each channel of a device gets its own handle, so you can wire, process and mix individual channels instead of fixed stereo pairs. Existing pipelines are migrated automatically.
  • WebRTC, Net Sender and Net Receiver nodes (#10) - stream audio between machines and into WebRTC sessions.
  • Mute hotkey - bind any key or combination to a Mute node and toggle it system-wide, even when Splitwave is in the background. Optionally a spoken cue confirms the switch on an output device of your choice, at its own volume.
  • Spectrum analyzer node with per-channel FFT.
  • De-esser node with presets, and a Declick node for removing clicks and crackle.
  • Effect presets - save any effect's settings and reuse them anywhere, with factory presets included.
  • Pipeline templates - start from a ready-made graph instead of an empty canvas.
  • Settings window - theme, canvas behaviour, history depth, update checks and preset management in one place.
  • Analyzer node now reports signal metrics and delivery profiles.
  • Crashes are saved and shown on the next launch instead of vanishing with the window.
  • Node icons and a refreshed modal design.

Changed

  • Plugins receive the node's full channel width instead of being forced into stereo.
  • Effect nodes got a visual pass.
  • Device and application dropdowns rescan when opened, so a device plugged in

while the app was running shows up without pressing Rescan.

Fixed

  • Cables that point at a channel a device does not have are now flagged, and edges left dangling blink with a warning on the node.
  • Fan-out nodes are computed once and shared, monitoring included, instead of being processed per branch.
  • Gain-reduction readouts no longer freeze, and the monitor backlog is bounded.
  • Spectrum taps keep updating in monitor mode.
  • Virtual devices can be applied while the engine is idle.
  • Node previews render without a flow canvas open.
  • macOS: the private CATap capture aggregate no longer shows up in device menus.

Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.5.0...v1.0.0

v0.5.0

GitHub

Features

  • Numeric readouts on sliders are now editable
  • EQ faders snap in 0.1 dB steps for finer control.

Fixes

  • Virtual audio device no longer produces garbled/distorted audio when used as a microphone, including when multiple apps capture it at once. Caused by a stream format mismatch; now resolved.

Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.4.0...v0.5.0

v0.4.0

GitHub

Features

  • Noise Suppressor now exposes advanced controls: a DeepFilterNet post-filter toggle and adjustable processing thresholds for finer denoise tuning
  • New app icons and refreshed branding

Fixes

  • Audio file playback no longer drops audio under bursty load - file sources keep their backlog instead of being trimmed
  • "Reveal in folder" now works correctly for recordings, and transport buttons have tooltips
  • Level meter readout now settles at the dB floor on silence instead of drifting to -∞
  • "Check for Updates" now reports the actual failure cause instead of a bare "builder error", with a one-click button to copy the error

Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.3.0...v0.4.0

v0.3.0

GitHub

What's Changed

  • Add full Linux support (#2)
  • Add Windows support (#4)
Linux and Windows support is experimental. Expect rough edges and bugs - please report any issues you encounter.

Features

  • New Noise Suppressor node for speech denoising powered by DeepFilterNet3

Fixes

  • Errors now show as toast notifications instead of in the header
  • Lower and more stable microphone latency
  • Correct output device selection for Bluetooth headsets with identical names

Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.2.0...v0.3.0

v0.2.0

GitHub

New Features

  • Multi-format audio file decoding - the Audio File node now plays back multiple formats, not just WAV.
  • Audio File transport controls - added pause, stop, and skip.
  • Input volume control - volume slider for App Audio, System Audio, and Audio File.
  • Separate Monitor category - standalone meter nodes that work without an output connection.

Fixes

  • Speaker: more reliable device selection - uses HalOutput by always enumerating devices.
  • Speaker: output stream auto-recovery - the stream recovers when the system default device switches.
  • Updater: correct modal behavior - the up-to-date modal now shows only on a manual menu check.
  • Virtual device: devices.plist is set to 644 permissions so _coreaudiod can read it.

Documentation

  • README: noted that screen recording permission must be re-granted after an update.

v0.1.0

GitHub

Inputs

  • Microphone
  • System audio capture
  • Per-app audio capture
  • Audio file playback with loop and auto-stop

Outputs

  • Speaker
  • File recording: WAV, FLAC, AIFF, Opus, MP3, AAC

Effects

  • Gain, Mute, Channel Balance
  • EQ (10-band graphic)
  • Compressor, Limiter, Noise Gate
  • Saturator, Delay, Reverb
  • Level Meter, LUFS Meter, Waveform

Routing

  • Node graph: connect any input to any output through any chain of effects
  • Hot reconcile: edit the graph while the pipeline is running without interrupting streams

Other

  • Undo/redo, node copy/paste
  • Pipeline snapshot history
  • Auto-update
  • Virtual audio driver

Full Changelog: https://github.com/Horuse/Splitwave/commits/v0.1.0

Older versions and checksums live on GitHub releases.