Skip to content

Releases: w1977-0/media-archiver

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 22 Aug 16:57

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.0

v0.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.1

Import-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

Choose a tag to compare

@github-actions github-actions released this 22 Aug 16:23

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.0

The 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 PATH or 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

Choose a tag to compare

@github-actions github-actions released this 22 Aug 07:23

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

Choose a tag to compare

@github-actions github-actions released this 22 Aug 06:59