Releases: w1977-0/media-archiver
Release list
v0.3.1
Media Archiver v0.3.1
Fix: reproducible versioned CLI installation
v0.3.1 is a packaging and module-layout repair release. In v0.3.0, the repository root was tagged as v0.3.0 while the CLI remained a nested Go module under cli/go.mod. As a result, the version-pinned command below could resolve the root module without finding the nested CLI package:
go install github.com/w1977-0/media-archiver/cli/cmd/open-stream-saver@v0.3.0v0.3.1 makes the repository root the single Go module while intentionally keeping the CLI source in cli/. This makes the following reproducible installation command resolve the released CLI package from the root v0.3.1 tag:
go install github.com/w1977-0/media-archiver/cli/cmd/open-stream-saver@v0.3.1Import-path compatibility
This release does not move cli/cmd or cli/internal. Existing package paths remain unchanged:
| Scope | v0.3.0 | v0.3.1 |
|---|---|---|
| CLI package | github.com/w1977-0/media-archiver/cli/cmd/open-stream-saver |
unchanged |
| Native host package | github.com/w1977-0/media-archiver/cli/cmd/open-stream-saver-host |
unchanged |
| Internal app package | github.com/w1977-0/media-archiver/cli/internal/app |
unchanged |
There is therefore no source-level import-path breaking change for the existing CLI and Native Messaging host. The release makes the root module boundary explicit and versionable.
v0.3.0 assets remain intact
The six v0.3.0 cross-platform archive assets and SHA256SUMS.txt remain published, verified, and unchanged. They are not withdrawn, regenerated, or overwritten. v0.3.1 adds a separate set of assets for the module-layout fix.
Safety and authorization boundary
v0.3.1 does not add login support, cookies, credentials, custom authorization headers, DRM support, decryption, or access-control bypass behavior. It retains the project’s authorization-first support for public, unencrypted direct files, completed HLS playlists, and static DASH presentations.
v0.3.0
Media Archiver v0.3.0
Released from commit 5816d89b013ec0fc1e3a147545decd7746828092.
Highlights
Canonical repository and Go module
Media Archiver is now published from its canonical repository and module path:
https://github.com/w1977-0/media-archiver
github.com/w1977-0/media-archiver
Install the CLI from the canonical module:
go install github.com/w1977-0/media-archiver/cli/cmd/open-stream-saver@v0.3.0The CLI binary intentionally remains open-stream-saver for command-line continuity. Users and automation should update repository clone URLs and Go import/module references from the previous repository path to media-archiver.
Reproducible installation verification
A new installation verification checklist documents expected outcomes for:
- Go 1.25+ and the canonical module installation;
- optional local FFmpeg verification for HLS/DASH remuxing;
- source build, unit tests, and static checks;
- Chrome MV3 Load unpacked validation without requiring site permission, a media URL, or account data; and
- optional Native Messaging host setup with a user-owned extension ID.
The release workflow also smoke-tests a clean CLI install on Ubuntu, macOS, and Windows by installing open-stream-saver to an isolated output directory and running --help.
Stronger media-path regression coverage
Week 2 adds local, deterministic test coverage for the authorized-public-media boundaries that the project deliberately supports:
- Direct files: sequential fallback when byte ranges are unavailable, permanent HTTP error handling, output overwrite protection, and temporary-file cleanup after a short response.
- HLS: public muxed variant inspection and selection, completed media playlist parsing, forbidden segment cleanup, concat-file safety, output protection, and worker bounds.
- DASH: static MPD reading, dynamic/multi-period rejection, SegmentTimeline and unsupported token rejection, BaseURL and segment public-URL validation, segment cleanup, and output protection.
- FFmpeg: clear diagnostics when FFmpeg is missing from
PATHor returns a non-zero exit status.
The tests use in-memory HTTP fixtures and temporary directories. They do not depend on private URLs, real downloads, browser credentials, tokens, cookies, DRM keys, or protected media.
Security and authorization boundary
Media Archiver v0.3.0 does not add login support, cookie handling, credential or token input, custom authentication headers, DRM support, decryption, or any mechanism to bypass an access control. The supported use remains explicit user-authorized saving of public, unencrypted direct files, completed HLS playlists, and static DASH presentations.
Release validation
The following release gates passed for commit 5816d89 before publication:
| Gate | Result |
|---|---|
| GoReleaser configuration check | Passed with GoReleaser v2.17.1. |
| Three-platform test workflow | Ubuntu, macOS, and Windows test jobs passed. |
| Canonical module installation | Passed from a fresh module cache using the current commit; Go resolved github.com/w1977-0/media-archiver at a pseudo-version for 5816d89. |
| CLI smoke test | Installed binary printed the expected --help output. |
| Go quality checks | go test ./... and go vet ./... passed. |
Upgrade notes
Update references that still use the old repository name to the canonical media-archiver URL. Historical release assets and tags are intentionally preserved. FFmpeg remains an external, locally installed dependency; it is not bundled in the release archives.
v0.2.0
Changelog
- 4cf5b47 fix(ci): build nested Go module with goreleaser
- 258e82e fix(ci): use current goreleaser archive ids
- d82f05c feat: add safe native bridge and media reliability upgrades
Notes
These packages include the Open Stream Saver CLI, its optional Native Messaging host, the unpacked Chrome extension, and host-registration templates. FFmpeg is not bundled: install it from your operating system or a trusted upstream distributor. The project supports only user-authorized public, unencrypted media and does not process browser credentials, encryption keys, or DRM-protected content.
Open Stream Saver v0.1.0
Full Changelog: https://github.com/w1977-0/open-stream-saver/commits/v0.1.0