Repository navigation
WaveFlow Server 2.2.1
A maintenance release. The server now builds on the 2.0.0 release of the core it shares with the desktop app, and the Rust and web dependencies have been brought up to date. Two things change in how a scan reads covers. Nothing changes in the API or the database.
Fixed
-
The cover stored in a file is its front cover. When a file's tag holds several pictures, the scan used to take the first one. A back cover or a booklet page stored ahead of the front cover then became the track's cover, and the album's. The scan now takes the picture marked as the front cover, and falls back to the first picture only when there is none.
This applies to files the scan reads from now on: new files, and files that changed. A track already in your library keeps its cover until its file changes. To have every file read again, and every cover chosen again, run
waveflow-server database rescan-fullonce: in the container withdocker exec waveflow waveflow-server database rescan-full, so that it reaches the database under/data. The next scan of each library then reads every file, as the operations guide explains. -
A cover cut short is no longer kept. Covers are now written to a temporary file and only then given their final name. Before, a crash or a full disk during the write could leave a truncated image under that name, and later scans reused it as it was.
Unchanged on purpose
The core now reads WavPack (.wv) and Monkey's Audio (.ape) files, but this server still leaves them out, both from scans and from uploads. The FFmpeg that the images and the standalone archives ship cannot decode either format, so such a track would appear in your library and then fail to play. They will be added together with that support.
Install
docker run -d --name waveflow \
-p 4533:4533 \
-v waveflow-data:/data \
-v /path/to/music:/music:ro \
ghcr.io/instazdll/waveflow-server:2.2.1The image runs on linux/amd64 and linux/arm64, and is the same, digest for digest, on Docker Hub as instazdll/waveflow-server:2.2.1. latest now follows this release. The standalone archives for Windows, macOS and Linux are attached below, with SHA256SUMS over all of them. The same files are linked from this release's notes on download.waveflow.app, which hold whether or not GitHub answers.
Upgrading from 2.2.0
Pull 2.2.1 and start it on the same data volume. With an archive, use the new folder in place of the old one, carrying over what you changed in laptop.env. The database schema has not changed, so there is nothing to migrate, and 2.2.0 still opens the same volume should you need to go back.
A server on 2.2.0 with the update check turned on announces this release on its own.
Coming from 2.1.2 or earlier, read the 2.2.0 notes first: that upgrade adds a table, and going back from it takes a restore.
Full changelog: CHANGELOG.md · v2.2.0...v2.2.1
Download
The server for one computer, without Docker: extract the archive and start waveflow-server inside it. Each archive holds the server, its own FFmpeg and a README.txt to read first.
| System | Archive |
|---|---|
| Windows (x86_64) | waveflow-server-2.2.1-windows-x86_64.zip |
| macOS (Apple silicon) | waveflow-server-2.2.1-macos-arm64.zip |
| macOS (Intel) | waveflow-server-2.2.1-macos-x86_64.zip |
| Linux (x86_64) | waveflow-server-2.2.1-linux-x86_64.tar.gz |
| Linux (arm64) | waveflow-server-2.2.1-linux-arm64.tar.gz |
The Windows executables carry a self-signed certificate and the macOS ones an ad-hoc signature, which neither system trusts, so both warn on the first launch: README.txt says what to click past. SHA256SUMS holds the checksums of them all, and ffmpeg-8.1.3-sources.tar.gz the source of the FFmpeg they carry.
Container image
docker pull ghcr.io/instazdll/waveflow-server:2.2.1The same image, digest for digest, is on Docker Hub:
docker pull instazdll/waveflow-server:2.2.1Also published as latest in both, for linux/amd64 and linux/arm64 (a Raspberry Pi 4 or 5 on a 64-bit system).