-
OutFlux 0.3.8
Stablereleased this
2026-10-26 10:08:23 +00:00 | 0 commits to main since this releaseHeadless Linux seeding client, plus two GUI fixes: the Settings rank
editor was dead in in-memory mode and long debug-log errors drew over
the rows below them.Added
bare src/cli/seeder.js(src/cli/seeder.js): a long-lived headless Linux
seeding client. Walks the catalog, dispatches the real seed verb per
hash (refusals reported per-hash, never fatal), then serves and stays
up until SIGINT/SIGTERM. D3 untouched: seed remains the sole announce
path and its held-check gate is what refuses a hash the deps do not
hold; the client only enumerates and reports.
Fixed
- The GUI sidecar opens a per-user persistent data dir by default
(OUTFLUX_STORAGE overrides, matching the CLI), so the Settings rank
editor is no longer dead in in-memory mode. A second GUI instance
gets the daemon's named fd-lock refusal instead of silently losing
its weights. - Settings log rows size from their wrapped text (the preferred-height
binding collapsed long errors to one line and overdrawn the rows
below); min-height keeps the one-line rhythm.
Measured: cargo test 81/81; npm test 868/868 (4049 asserts); lint clean.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
OutFlux 0.3.7
Stablereleased this
2026-10-24 13:34:13 +00:00 | 4 commits to main since this releaseThe release artifacts could not be used together: the core zips shipped
without the GUI, and the separately-attached GUI exe could not find a
core when run anywhere else — the GUI opened, its sidecar never spawned,
and the app hung silently for 20 seconds.Fixed
- The linux-x64 and win32-x64 bundles now ship the GUI binary INSIDE the
zip (outflux-gui beside bare.exe). Unzip, run outflux-gui(.exe) — the
sidecar resolves the core from its own folder and boots. The release
layout gate hard-requires the GUI binary in those bundles now.
(Measured: standalone GUI exe = window with zero child processes, no
storage, 20s hang; the same exe inside the bundle boots instantly.) - The GUI fails fast with a named error when the daemon process dies
before its control listener comes up ("sidecar exited before its
control listener came up — see outflux-core.log in the resolved root")
instead of burning the full 20s timeout on a corpse. - The standalone-GUI release job is gone; every downloadable bundle is
complete. darwin-arm64 stays core-only (no macOS GUI build yet).
Measured: cargo test 81/81; workflow YAML validated. The packaging path
is exercised end-to-end by this release run itself.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The linux-x64 and win32-x64 bundles now ship the GUI binary INSIDE the
-
OutFlux 0.3.6
Stablereleased this
2026-10-24 11:07:18 +00:00 | 7 commits to main since this releaseThe GUI's transport controls were dead ends on Windows: ffplay could not
be paused or seeked, and the seeded indicator could never light up.Fixed
- mpv's JSON IPC on Windows now uses a NAMED PIPE (
\\.\pipe\outflux-mpv-*)
instead of a filesystem socket path — the listener never appeared under a
tmpdir path, so mpv could not be controlled at all on Windows. With mpv on
PATH the playbar is fully live: pause/resume, seek, and a position bar
that actually moves (playback-time property ticks stream through the
daemon). ffplay remains the honest start/stop-only fallback. - The library's seeded dot was hardcoded false in the GUI: the daemon's
/catalog carries no seeded field, so the GUI now merges GET /seeded (the
daemon's own "is THIS node announcing" answer) into the catalog and
per-track status. Seed/Unseed clicks reflect within one poll; a failed
/seeded degrades to false, never invented state. - Sidebar navigation entries now expose accessible-role/label, so screen
readers and the element-tree tests can address every view by name. - The runtime-resolution test compared mixed path separators; now
separator-normalized. The playback test's fake-player fixture is
spawnable on Windows (was a .sh script, EFTYPE under bare-subprocess).
Measured: JS suite 865/865 tests / 4048/4048 asserts, lint clean;
GUI cargo test 81/81, clippy -D warnings clean; real-mpv e2e 9/9
(OUTFLUX_REAL_PLAYER=1) — pre-fix it died with "mpv ipc: socket never
appeared".Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- mpv's JSON IPC on Windows now uses a NAMED PIPE (
-
OutFlux 0.3.5
Stablereleased this
2026-10-24 02:50:43 +00:00 | 11 commits to main since this releaseThe GUI could not find its own core bundle when launched by double-click
on Windows — the exact case every packaged release ships for.Fixed
- The sidecar spawn failed with "failed to spawn sidecar: no such file or
directory (os error 2)" on double-clicked Windows exes. The GUI resolved
the core bundle root from the current working directory's ancestors, but
Windows sets that to C:\Windows\System32 (or the user's home), not the
exe's folder. Resolution now checks the executable's own directory
FIRST (the bundle root — package.json + src/ beside the exe), then the
cwd ancestors for dev checkouts. Found from a user's Windows report;
three new tests pin the resolution order. - Sidecar spawn failures now name the resolved root and every runtime
candidate tried, so "os error 2" is never undiagnosable from a release.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The sidecar spawn failed with "failed to spawn sidecar: no such file or
-
OutFlux 0.3.4
Stablereleased this
2026-10-23 12:45:26 +00:00 | 16 commits to main since this releaseEvery status line the shell shows now also lands in a debug log, so a
truncated status bar is never the only record.Added
- Settings view has a debug log: all status lines (info and failures) are
timestamped and kept (up to 200 rows), errors highlighted red. An
"errors only" filter and a Clear button make scanning quick.
Fixed
- Log rows grow to fit wrapped text instead of eliding, so long daemon
reasons (e.g. "index subscriptions — error: …") are always readable.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Settings view has a debug log: all status lines (info and failures) are
-
OutFlux 0.3.3
Stablereleased this
2026-10-18 15:04:39 +00:00 | 19 commits to main since this releaseFirst GUI-only smoke test found a real playback bug — every play after the
first crashed the daemon's /play route.Fixed
- The local-player sink object now implements the sink contract's stop()
itself (kill the live handle and clear it). It only ever implemented
start/handle, so the second /play in a daemon's lifetime always failed
withTypeError: sink.stop is not a function(500 INTERNAL) — the crash
path fired whenever a track ended naturally, the player binary exited
(e.g. no audio device), or the user switched tracks. Found by the live
GUI smoke test against the real daemon; regression test drives the sink
through start → start with a fake player binary (red without the fix).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The local-player sink object now implements the sink contract's stop()
-
OutFlux 0.3.2
Stablereleased this
2026-10-17 08:33:08 +00:00 | 22 commits to main since this releaseBug-hunt fixes, batch 2 (daemon resilience + route correctness).
Fixed
- Both HTTP servers keep a permanent post-startup 'error' listener — a
later server-level error no longer crashes the daemon as uncaught. - Daemon startup releases partially-built state (listeners, deps/storage
fd-lock) when any setup step after buildDeps fails, instead of leaking
it and making the next start fail cryptically. - /import claims its single-slot guard synchronously (TOCTOU: two
concurrent POSTs could both pass the old check and scan together);
validation refusals release the claim. - /next and /prev route sink failures through playerAction
(SINK_UNAVAILABLE -> 503, UNSUPPORTED -> 422) instead of 500 INTERNAL
with a stack trace. - readBody caps buffered request bodies at 1 MiB.
- Malformed percent-encoding in path params answers 400 BAD_REQUEST
instead of throwing URIError into a 500.
Note: core platform zips were removed after upload — assets are GUI binaries only (linux-x64, win32-x64), including the tokio-reactor startup fix (
dae6763) and the batch-2 daemon fixes (f7c199b). macOS builds are not included.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Both HTTP servers keep a permanent post-startup 'error' listener — a
-
OutFlux 0.3.1
Stablereleased this
2026-10-17 07:30:28 +00:00 | 25 commits to main since this releaseThe GUI no longer hides the core when it fails to start.
Fixed
- GUI (Windows release): the sidecar only looked for the Bare runtime at
node_modules/bare-runtime-win32-x64/bin/bare.exe, but the release core
bundle placesbare.exeat the bundle root — the lookup missed, the
sidecar fell back tonode(absent on Windows) and the core never
started. The runtime is now found at the bundle root too.
Added
- The GUI's core sidecar now appends everything the daemon prints
(stdout + stderr, plus a spawn banner) tooutflux-core.login the
core's folder, so a core that fails to boot is diagnosable from a
release instead of dying silently.
Note: core platform zips were removed from this release after upload — assets are GUI binaries only (linux-x64, win32-x64). macOS builds are not included.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- GUI (Windows release): the sidecar only looked for the Bare runtime at
-
OutFlux 0.3.0
Stablereleased this
2026-10-17 06:53:22 +00:00 | 28 commits to main since this releaseThe OutFlux GUI (Slint) as ready-to-run binaries.
Added
- outflux-0.3.0-gui-linux-x64 - native Linux x64 GUI binary
- outflux-0.3.0-gui-win32-x64.exe - Windows x64 GUI binary
Run the binary directly. macOS builds are not included in this release.
The peer-to-peer core (CLI, TUI) ships in the source tree; see the repo README for building it.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
OutFlux 0.2.1
Stablereleased this
2026-10-14 18:39:06 +00:00 | 89 commits to main since this releaseRelease automation now ships platform artifacts: every push to main that
bumps the version tags itself, publishes the Forgejo release, builds a
linux-x64 bundle (JS core + Bare runtime binary, other platforms'
prebuilds pruned) and attaches it as a zip.Added
outflux-<version>-linux-x64.ziprelease artifact, built and
attached automatically by the release workflow on the real runner.scripts/prune-prebuilds.js: prunes non-target prebuilds and
bare-runtime sibling binaries from a staged bundle.
Notes
scripts/release-publish.jshardened after live-API testing: origin
parsing (host-backtracking bug), multipart attachment upload, attach
on the release-already-exists path, TOKEN/GITHUB_TOKEN/FORGEJO_TOKEN
all accepted, REPO override respected.- Not in this release: macOS artifacts (needs a mac runner).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads