Skip to content

Musefs

v1.1.0 Feature

This release adds 4 notable features for engineering teams evaluating rollout.

Published 1mo Media Servers
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

beets filesystem flac fuse metadata music
+2 more
rust sqlite

Affected surfaces

auth deps

Summary

AI summary

Added a verbose flag, dry‑run mode for mount, runtime telemetry opt‑in, and scan progress indicator among other improvements.

Full changelog

musefs v1.1.0 — a feature and hardening release on top of v1.0.0. No breaking
changes; the read-only, byte-identical-audio invariant is unchanged.

Full detail in the CHANGELOG
and the documentation changelog.

Added

  • -v/--verbose flag on scan and mount (-v info, -vv debug, -vvv
    trace; default warn) so diagnosing a run no longer requires knowing RUST_LOG
    (an explicit RUST_LOG still wins).
  • mount --dry-run validates the --template and configuration and prints a
    sample of the paths the mount would expose (with file/dir counts), then exits
    without mounting.
  • Runtime telemetry (.musefs-metrics) — opt-in --expose-metrics
    (env MUSEFS_EXPOSE_METRICS) surfaces a synthetic Prometheus-format metrics
    file at the mount root: getattr/read/open activity, read-ahead behavior, and
    (with jemalloc) allocator stats. Off by default
    (docs, #394).
  • Scan progress indicatorscan/scan --revalidate render a live progress
    bar on a terminal, falling back to periodic ingested N/M (P%) log lines when
    non-interactive; new --quiet/-q suppresses it (#406).
  • --skip-on-missing template flag (env MUSEFS_SKIP_ON_MISSING) drops a
    track from the mount when a top-level template field stays unresolved, instead
    of substituting --default-fallback — e.g. --template '$!{beets_path}' --skip-on-missing hides tracks beets left without a beets_path (#408).
  • --read-ahead-prefetch flag — opt-in background prefetch threads layered on
    read amplification, default off (amplification alone captures the win; the
    threads add ~10% overhead with no measured benefit) (#255).
  • riscv64 release platform — prebuilt riscv64gc-unknown-linux-{gnu,musl}
    binaries and linux/riscv64 Docker images now ship with each release.
  • statfs reply — the mount reports a synthetic non-zero capacity so df no
    longer shows a 0-byte filesystem and capacity-checking importers (Lidarr et al.)
    don't balk (#368).
  • Per-extension skip breakdown at end of scan (e.g. skipped 42: jpg=20, cue=10, log=8, <none>=4), logged at warn (#341).
  • musefs vacuum command — compact the SQLite store (VACUUM + WAL
    checkpoint), reclaiming free pages left by prunes, orphan-art GC, and the schema
    migration; run while unmounted (#566).

Changed

  • Declared MSRV (rust-version = "1.95") — a too-old toolchain now fails with
    a clear cargo message; best-effort, not CI-gated.
  • Supply-chain license gate — a deny.toml + cargo deny CI job enforces a
    permissive-license allow-list, closing the gap left by advisory-only
    cargo audit.
  • Strict template validation — an unclosed [ … ] section or unterminated
    ${ / $!{ field is rejected at mount time with a message naming the problem,
    instead of silently folding the rest of the template into the open construct.

Fixed

  • Clearer mount errors — a missing or non-directory mountpoint is reported
    with an actionable message before FUSE setup (previously a bare os error 2, or
    a misleading "Permission denied" for a regular-file path); I/O errors no longer
    print their OS string twice.
  • Silent mp4 oversize drops — oversized embedded covr art and binary
    freeform (----) values in .m4a/.m4b are skipped in the format layer and
    now emit a warn line each, matching the other formats (#343).
  • xattr log noisegetxattr/listxattr/setxattr/removexattr now reply
    ENOTSUP explicitly instead of logging a [Not Implemented] warn on every
    xattr probe (ls -l, indexers, backup tools); caller-visible result unchanged
    (#364).

Prebuilt binaries for v1.1.0. Verify with: sha256sum -c <file>.sha256

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Musefs

Get notified when new releases ship.

Sign up free

About Musefs

All releases →

Beta — feedback welcome: [email protected]