Files
SlideWire/CHANGELOG.md
T
NilsBriggenandClaude Opus 5.5 21f6dea6a1 Release machinery: metainfo, man page, completions, CI, packaging
- AppStream metainfo (validates), man page, bash/zsh/fish completions.
- scripts/install.sh installs everything into a DESTDIR; the release
  archive (scripts/release-tarball.sh) and both PKGBUILDs use it.
- packaging/aur-release: a slidewire package built from the tag.
- CI moves to .gitea/workflows: works without sudo, installs Rust with
  rustup, checks fmt, clippy, tests, extracted translations, the desktop
  file, metainfo and cargo-deny; tags build and attach the archive.
- deny.toml: licences compatible with GPL-3.0-or-later, crates.io only.
- Cargo metadata, MSRV 1.95, thin LTO and stripped release builds.
- CHANGELOG.md for 1.0.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:11:40 +02:00

3.7 KiB

Changelog

All notable changes to Slidewire. The format follows Keep a Changelog, and versions follow Semantic Versioning.

1.0.0 - 2026-10-11

The first release.

Mixing

  • One channel strip per hardware channel, each with a knob, a fader, a scribble-strip display, glowing S/M/R buttons, an LED meter, and the volume in % and dB.
  • A strip controls any mix of:
    • the focused app
    • apps matched by name, wildcard or regex
    • recording streams
    • "all other apps"
    • system sounds
    • any output or input
    • the default device
  • Banks give 8 faders 16, 24 or more things to control. Scenes save and recall every strip's volume and mute.
  • Soft takeover: a fader only takes over once it reaches the current volume.
  • Strips have their own name, colour, icon, range (such as a mic that never goes below 40%) and curve.
  • Ducking: a strip can turn the other apps down while it plays.
  • Buses: virtual outputs that mix several apps into one fader, each playing on a real output.
  • "Always play here" remembers which device an app plays on (or records from).
  • A master strip for the default output.

Buttons

  • Buttons outside the strips can:
    • send media keys, to whichever player is playing or to one you name
    • toggle mutes, and set or cycle the default device
    • run a command or press keys
    • switch profile, bank or scene
    • mute all inputs, or act as push-to-talk or push-to-mute
    • hear yourself (a monitor loopback)
    • load an EasyEffects preset
    • control OBS Studio: switch scene, mute a source, record or stream
  • Focus rules switch to a bank or scene while an app is in front, and back when you leave it.

Controllers

  • A ready-made Korg nanoKONTROL2 profile with live LEDs, and a drawing of it that lights up as you touch the hardware.
  • Imports MIDI Mixer for Windows profiles (spec.json), so its presets for other controllers work.
  • Learn mode for building a profile, and for re-learning any control from the mixer or the Buttons page.
  • Supported input:
    • 7-bit CC and notes
    • 14-bit pitch-bend (motor) faders
    • endless encoders
  • Supported feedback:
    • LED rings
    • button LEDs
    • motor faders
    • Mackie-style meters
  • A connection check (slidewire --doctor) explains why a controller doesn't show up. A raw-MIDI fallback keeps devices working that the ALSA sequencer doesn't list.

Desktop

  • Dark and light themes, accent colours (including the desktop's), UI size, and reduced motion.
  • A tray icon with:
    • a mute badge
    • volume on the scroll wheel
    • scenes, banks and mic mute in its menu
  • Focus tracking and the volume pop-up on KDE Plasma, Hyprland, sway and others. File dialogs go through the XDG portal.
  • Keyboard shortcuts, undo and redo, toasts with Undo, and a first-run welcome.
  • Screen readers get names and values for every control; faders and knobs work from the keyboard.
  • Text can be translated (rust-i18n). English is the only language so far.
  • Command line control of the running app: slidewire strips|set|mute|bank|scene.
  • A systemd user unit for starting with the session. --install-icon and --uninstall cover builds without a package.

Reliability

  • Only one instance runs; a second launch shows the first.
  • Quitting (including SIGTERM at logout):
    • restores ducked volumes
    • turns the LEDs off
    • saves pending edits
  • Settings and profiles are written atomically, readable only by you, and recovered from their backup if damaged.
  • Imported profiles that run commands ask before keeping them.
  • A crash is written to ~/.local/state/slidewire/crash.log, and systemd restarts the service.