• 1.3.0 ab7bbabbfe

    oss released this 2026-09-11 23:39:17 +02:00 | 10 commits to master since this release

    LightWeaver is now open source, under the Zero-Clause BSD licence.

    Changed

    • Updates now come from this repository's releases. The in-app check, the download and the
      version comparison all point here. The installer is still accepted only if it carries the same
      code-signing certificate as the application that is running.

    Fixed

    • Copy stream URL handed you a link the server refused. Jellyfin 12 dropped the older spelling
      of the access-token query parameter, so the copied URL came back as 401 Unauthorized in any
      external player. LightWeaver now sends the spelling the server still accepts.

    Updating from 1.2.0

    1.2.0 looks for updates in a location that no longer serves them, so it will not offer this
    release. Download the installer below and run it once; in-app updates work normally from 1.3.0
    onward.

    Downloads
  • 1.2.0 a8cd6ebed3

    LightWeaver 1.2.0
    Some checks failed
    ci / build (Release) (push) Successful in 7s
    ci / verify (live UIA) (push) Failing after 9m45s
    Stable

    oss released this 2026-09-05 23:03:27 +02:00 | -298 commits to master since this release

    • Bump version to 1.2.0
    • Document the player overlay & input round: B42/B43, the guest facts a suite author needs, and the CI wrapper
    • Split the track pill by a measured fit, scroll the flyout, drag the owner with the overlay, keep shortcut headings with their rows
    • Add the player-overlay-input guest suite and the Open-TrackList driver helper
    • Playback & streaming: survive a closed overlay at shutdown, a bounded video buffer setting, and Open stream URL
    Downloads
  • 1.1.0 e01b006159

    LightWeaver 1.1.0
    All checks were successful
    ci / build (Release) (push) Successful in 22s
    ci / verify (live UIA) (push) Successful in 9m27s
    Stable

    oss released this 2026-09-05 00:20:13 +02:00 | -293 commits to master since this release

    • Bump version to 1.1.0
    • Redesign folder cache status indicator into a floating bottom pill
    • Document whole-folder browse caching, prefetching, and incremental refresh
    • Wire incremental refresh and debounced user data persistence for browse folders
    • Wire whole-folder prefetcher, local query mode, and folder cache settings cap
    • �??Add data model and service surface for whole-folder browse caching
    • Write down the browse round, including the page the cache forgot
    • Browse remembers every page it has shown, and Home rows let go of what you finished
    • Write down B41, including the repair the evidence ruled out
    • Playback that stops after a track change repairs itself, or says so
    • Fix generation-safe subtitle cycling
    • Write down B39, including the premise that had to be thrown away
    • A regression suite that can tell the silence from a healthy resync
    • Audio recovers itself when an output change strands it in the future
    • Correct the closeout record to match the harness that shipped
    • Write down the logging round, including the parts that went wrong
    • Metadata failures report once with a count, not once per retry
    • The updater now says what it decided, not just what it showed
    • A missing guest route is something to build, not a reason to stop
    • UI suites cannot be run on this desktop by accident any more
    • The player log now says what happened, not what it was told
    • Verbose logging now names the request, the cache and the download behind each screen
    • Verbose logging now narrates the app flow at every screen owner
    • Add a safe verbose detail log contract
    • Guard Debug shutdown from the installed app
    • Diagnostics exports only logs it owns
    • Docs: record the 1.0.1 release
    Downloads
  • 1.0.1 61f0a630d0

    LightWeaver 1.0.1
    All checks were successful
    ci / build (Release) (push) Successful in 35s
    ci / verify (live UIA) (push) Successful in 4m44s
    Stable

    oss released this 2026-08-09 14:24:00 +02:00 | -266 commits to master since this release

    • Release 1.0.1: ship the post-1.0 fixes
    • Merge post-1.0.0 fixes for 1.0.1
    • Download choices are ready before the click
    • A settings file the app cannot read no longer kills it at startup
    • Docs: a card that meant the opposite, and two coordinate spaces
    • One click on an unfocused player now pauses it, instead of only focusing it
    • Docs: the round where a deliberate cost turned out to be worth re-examining
    • Clicking the video pauses now, instead of half a second from now
    • Docs: the OMDB cache round, and a null that meant two things
    • Settings can finally measure and clear the OMDB cache it now has
    • Docs: 1.0.0, the merge worth checking by hand, and a signer that is now load-bearing
    Downloads
  • 1.0.0 f85fc9c9b0

    LightWeaver 1.0.0
    Some checks failed
    ci / build (Release) (push) Successful in 27s
    ci / verify (live UIA) (push) Has been cancelled
    Stable

    oss released this 2026-08-07 20:08:16 +02:00 | -255 commits to master since this release

    • Release 1.0.0: the updater is the feature that makes a 1.0 mean something
    • Merge branch 'master' into t3code/verify-updater-task
    • An updater that checks more than once a day, and tells you what it is doing
    • OMDB scores survive a restart instead of being refetched every time
    • Docs: 0.6.0, the branch cleanup, and what self-signing is actually worth
    Downloads
  • 0.6.0 fdb0c2a319

    LightWeaver 0.6.0
    Some checks failed
    ci / build (Release) (push) Successful in 24s
    ci / verify (live UIA) (push) Has been cancelled
    Stable

    oss released this 2026-08-07 14:33:57 +02:00 | -250 commits to master since this release

    • A native exit code that outlived the script which handled it
    • Release 0.6.0: bump the version, and settle on self-signing for good
    • Turn Renovate on: adopt its onboarding config
    • Docs: typing a position, and a wrong claim that nearly became memory
    • Click the time in the player to type where you want to be
    • Docs: a retraction, recorded where someone would otherwise re-file it
    • Measure the double-double-click gesture, which turns out not to be broken
    • Docs: rebindable fullscreen, and the wart one population meets on day one
    • Fullscreen is rebindable now, and F11 keeps working either way
    • Docs: frame stepping, and an assertion that claimed more than it proved
    • Step a frame at a time with . and ,
    • Docs: the seek work, and why a default change needed a schema marker
    • The arrow keys seek ten seconds now, and a marker so your own number survives
    • A bigger seek on Ctrl+arrow, without moving anyone's existing jump sizes
    • Docs: file the two player bugs as B33/B34, and the harness gotchas behind them
    • Docs: the 2026-08-06 round - two mouse gestures and a signing pipeline
    • Sign the app - the pipeline, proven end to end with a throwaway certificate
    • Double-clicking the video paused it on the way to fullscreen
    • Clicking the player brings the app forward, which ALT+Tab had been covering for
    • Two docs rules that the way I actually work had already overtaken
    • Docs: the 2026-08-05 backlog run, and the three suites that had stopped testing
    • Export the logs as one zip, so they can actually be sent to someone
    • Test runs must not open an audio endpoint at all
    • Stop the test harness pausing whatever the user is watching
    • Your subtitle choice now survives the next episode
    • An episode's air date, which the production year could never have given it
    • Clicking the volume track moved it by one, wherever you clicked
    • The scroll-wheel audit said 16/16 complete; two of them had stopped running
    • A fullscreen button in the OSD, and a glyph that cannot lie about the state
    • Drag-to-reorder the Home rails, after two versions that looked right and did nothing
    • A person filter nobody could type, and a chip that pushed its own door shut
    • The detail overflow menu restated the two buttons sitting next to it
    • The A-Z rail sent the server's letter-JUMP parameter, so M meant M-Z
    • The ring animated and looked static; the video surface flashed system grey
    • Correct two false claims in my own comments from 9093b91
    • Two clipping defects the screenshots found and the assertions did not
    • Docs: the diagnostics round, with the eleven defects three reviews found
    • Diagnostics: the Authorization header leaked on any line but the last
    • Diagnostics review round 2: the fixes a verification pass found wrong
    • Diagnostics: release builds keep a crash log and a stream log
    Downloads
  • 0.5.0 9babe81883

    LightWeaver 0.5.0
    All checks were successful
    ci / build (Release) (push) Successful in 32s
    ci / verify (live UIA, manual) (push) Has been skipped
    Stable

    oss released this 2026-08-01 13:24:16 +02:00 | -196 commits to master since this release

    • Release 0.5.0
    • B31: passthrough that cannot bitstream no longer stops playback, plus a loading state
    • Phase 10 M10: the volume pill, and the OSD wake it replaces
    Downloads
  • 0.4.0 108dd4be01

    LightWeaver 0.4.0
    All checks were successful
    ci / build (Release) (push) Successful in 18s
    ci / verify (live UIA, manual) (push) Has been skipped
    Stable

    oss released this 2026-08-01 02:23:04 +02:00 | -193 commits to master since this release

    • Release 0.4.0
    • Phase 10 M9 + M11: a shortcuts panel that cannot drift, and nothing lost at 700x480
    • M8 task 5: close the shape round
    • Merge fix: the queue is authoritative forwards, not backwards
    • All 8 VM suites green: the guest is a real regression net for the first time
    • Diagnose the guest 'Home never loaded' properly: the TEST token is dead, not the route
    • One next/previous pair in the OSD, merged from two
    • M8 task 4: the closing gallery, the 700x480 pass, and the card bar finally measured
    • M8 tasks 1-3: the default-Fluent gaps
    • M7: the code-behind literals - and a static radius is a different shape at every height
    • M6: the per-screen literal sweep, and ClipToBounds never round-clipped anything
    • Document the three things this round learned the hard way
    • M5: the Material radius ladder, and 999 is not a stadium in WPF
    • test-sub-letterbox: the small-band leg measured the machine, not the app
    • M4: subtitles in the letterbox band - the fix is for ASS, and the plan was wrong
    • M3: observe mpv's osd-dimensions so the app knows the letterbox band
    • M2: repair test-offline-downloads Phase C - seed the folder, don't type it
    • Backlog: two overlay items, scheduled as Phase 10 M9 and M10
    • Phase 10 plan, and M1: the Debug title marker was late, not absent
    • PHASE8 plan: tick the seven milestones PROGRESS already records as done
    • Release 0.3.1
    • release.ps1: don't let the version's own tag empty the changelog
    • BUGS: B29, the Debug title marker never appears
    • PROGRESS: the VM-MCP project is under version control now
    • CI: the session was never the blocker, and two of three are automatable
    • The three minor items, and the coverage gap that hid one
    • Hygiene batch: B18-B21, B24, B26-B28
    • Correctness batch: B12, B14, B15, B16, B22, B23, B25
    • B17 is not a bug: the comment that raised it is wrong
    • B13: the image client gets the LAN mitigations it never had
    • Auto-play off now means "don't advance", not "hide the card"
    • The two missing reviews: 17 findings, and one unfinished mitigation
    • Clear the test debt: four suites were asserting superseded designs
    • Verification moves to the CI VM: 31/0/3 green on the guest
    • BUGS.md: record the guest suite-run route and its two missing prerequisites
    • verify skill: document the bug-tests suites added this round
    • Fix B10: a stale FileLoaded can no longer consume the resume seek
    • Fix B8 and B9: interrupted seek gestures and key auto-repeat
    • Fix B7: player keys no longer fire while an OSD flyout is open
    • Fix B5: the RTX filter chain is only ever touched on the UI thread
    Downloads
  • 0.3.1 51be73a154

    oss released this 2026-07-30 23:16:57 +02:00 | -172 commits to master since this release

    • Release 0.3.1
    • BUGS: B29, the Debug title marker never appears
    • PROGRESS: the VM-MCP project is under version control now
    • CI: the session was never the blocker, and two of three are automatable
    • The three minor items, and the coverage gap that hid one
    • Hygiene batch: B18-B21, B24, B26-B28
    • Correctness batch: B12, B14, B15, B16, B22, B23, B25
    • B17 is not a bug: the comment that raised it is wrong
    • B13: the image client gets the LAN mitigations it never had
    • Auto-play off now means "don't advance", not "hide the card"
    • The two missing reviews: 17 findings, and one unfinished mitigation
    • Clear the test debt: four suites were asserting superseded designs
    • Verification moves to the CI VM: 31/0/3 green on the guest
    • BUGS.md: record the guest suite-run route and its two missing prerequisites
    • verify skill: document the bug-tests suites added this round
    • Fix B10: a stale FileLoaded can no longer consume the resume seek
    • Fix B8 and B9: interrupted seek gestures and key auto-repeat
    • Fix B7: player keys no longer fire while an OSD flyout is open
    • Fix B5: the RTX filter chain is only ever touched on the UI thread
    • Fix B11: the OSD overlay now follows a move-only window reposition
    • Fix the five confirmed P1 player bugs (BUGS.md B1-B4, B6)
    • Start BUGS.md with the player review's findings
    Downloads
  • 0.3.0 dadf540d7b

    LightWeaver 0.3.0
    All checks were successful
    ci / build (Release) (push) Successful in 7s
    ci / verify (live UIA, manual) (push) Has been skipped
    Stable

    oss released this 2026-07-27 19:58:39 +02:00 | -150 commits to master since this release

    • Phase 9: hardware legs green locally - M1-M6 fully verified
    • Phase 9 verified on the runner (5/7); gate the hardware-bound legs
    • CI: normalise the credential UserId in place instead of trusting the seeding
    • CI: add a credential diagnosis step that separates the two login causes
    • CI: wait for Home instead of racing the login view; document the Guid trap
    • Correct the credential-seeding requirement: console session, not PS Direct
    • CI: generate testsrc.mp4 in Preflight, and name a login-screen stall
    • Guest is staged; PowerShell Direct is fine for the credential blob
    • Correct the LIGHTWEAVER_TEST_RECT format in the requirements doc
    • Document how to stage the guest's libmpv, fixtures and credential blob
    • Phase 9 M6: settings becomes an in-app destination
    • Document the M4 and M5 technical decisions in TECHNICAL.md
    • Phase 9 M5: download folder is picked, not typed
    • Phase 9 M4: hide the RTX toggles when unavailable
    • Phase 9 M3: audio-device popup selected-row highlight
    • Phase 9 M2: mouse-wheel volume over the player
    • Phase 9 M1: fix flaky player keyboard shortcuts, test every one
    • Record verify's live readiness report; scope concurrency per event
    • Record the first green CI run on the Windows runner
    • Phase 9 plan; CI verify preflight updated for the provisioned guest
    • Track AGENTS.md and TODO.md
    • Add Forgejo CI on the Windows runner (build + gated verify)
    • Home on-reveal refresh + up-next EOF guard
    • Phase 8 M7: player OSD & mini-player (badge consolidation, mini language)
    • Phase 8 M6: window minimums & login fit
    • Phase 8 M5: detail views (watched rule, title clamp, trailer balance)
    • Phase 8 M4: chrome & navigation consistency
    • Phase 8 M3: library grid screens (toolbar, A-Z gutter, search grouping)
    • Phase 8 M2: shared badge & placeholder components
    • Phase 8 M1: accent & control unification
    • docs: full Phase 7 / 0.3.0 reconciliation pass
    • Version 0.3.0 (Phase 7 complete)
    • Phase 7 closeout: final regression sweep results + deferred items
    • Final regression sweep: virtual-episode fix + suite modernization
    • Phase 7 backlog: warm multi-account sessions - instant profile switching
    • Phase 7 M20: offline downloads / local playback (full P1+P2)
    • Phase 7: Advanced Search redesign (type-grouped sections, prompt state, seed chips)
    • Phase 7 backlog: Home rail "see all" section views
    • Phase 7 backlog: audio output device - OSD switcher + resilient default
    • Phase 7: dedicated next/previous episode OSD buttons (series-order step)
    Downloads