Skip to content

feat(deps): update unpackerr/unpackerr v0.15.2 → v0.16.1 - #3379

Open
truecharts-admin wants to merge 1 commit into
mainfrom
renovate/unpackerr-unpackerr-0.x
Open

feat(deps): update unpackerr/unpackerr v0.15.2 → v0.16.1#3379
truecharts-admin wants to merge 1 commit into
mainfrom
renovate/unpackerr-unpackerr-0.x

Conversation

@truecharts-admin

@truecharts-admin truecharts-admin commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
Unpackerr/unpackerr minor 0.15.20.16.1

Release Notes

Unpackerr/unpackerr (Unpackerr/unpackerr)

v0.16.1

Compare Source

This was released an hour after 0.16.0 because Docker and Arch Linux builds did not work correctly. There are no app changes here, just build fixes. See the 0.16.0 release notes for details on what's new.

  • Docker images are fixed (none of them worked).
  • Arch Linux package should now publish to AUR. 🤞

Full Changelog: Unpackerr/unpackerr@v0.16.0...v0.16.1

v0.16.0

Compare Source

This is a big extractor release. Unpackerr now ships xtractr v0.6.0 (up from v0.3.1 in 0.15.2). Archives are harder to trick into writing outside the extract folder or filling a disk, leftover files from a crashed extract no longer get reported as success, and there are new knobs for how aggressive that protection is.

If you extract huge Starr downloads (bigger than the new per-app byte caps) or you had max_retries = 0 for unlimited retries, read Behavior changes first.

Behavior changes

  • Starr extracts now have default uncompressed-byte caps: Sonarr/Whisparr 20GB, Radarr 75GB, Lidarr 4GB, Readarr 1GB. Empty max_bytes uses that default. 0 or 0B disables the cap for that instance.
  • Starr also has fixed (not tunable) extras/file/ratio caps: 1000 files, 5:1 ratio, 8 nested archives, extras walk depth 3, and symlink-named archives are skipped. Hitting a cap fails the item and does not retry. Exhausted Starr failures stay EXTRACTFAILED while the item is still in the Starr queue (they used to go DELETED and restart the same bomb).
  • Folder watcher stays uncapped unless you set limits. 0 / empty is unlimited.
  • max_retries default is 2 (first try plus two retries). 0 now means that default, not unlimited.
  • New global remnant_action defaults to rename: leftover dest files from an interrupted extract are renamed to *.remnant and the extract is retried.

Security

These landed in xtractr and Unpackerr uses them automatically.

  • Zip-slip / path escape: member names that would write next to (not under) the extract folder are rejected.
  • Planted-symlink writes: extract no longer follows a symlink already sitting at the dest path, so an archive cannot clobber a file outside the output tree.
  • Symlink-named archives are skipped on Starr (and on folders unless allow_symlinks = true). The extras pass never follows archive-member zip links.
  • Zip-bomb / disk-fill: MaxBytes / MaxFiles / MaxRatio abort the extract; nested extras share the leftover budget instead of resetting it. Duplicate extras are deduped by device+inode.
  • 7z CRC32 is verified; close errors are no longer ignored.

New config knobs

Global

  • remnant_action / UN_REMNANT_ACTION: rename (default), delete, or off. Applies to Starr and to folders with move_back. Files that arrived with the download are kept; names that were not there before extract are leftovers. off fails without retrying.
  • max_retries / UN_MAX_RETRIES: default 2. 0 uses that default.

Per Starr app ([[sonarr]] / radarr / lidarr / readarr / whisparr)

  • max_bytes / UN_*_MAX_BYTES: override the app default above, or 0 for unlimited.

Per watched folder ([[folder]])

  • max_bytes, max_files, max_ratio, max_nested, extras_max_depth — all default unlimited (0 / empty).
  • allow_symlinks — include symlink-named files in the initial archive search (default false).

Extraction reliability

  • Interrupted extracts: a dest that already exists used to mark the item EXTRACTED. Unpackerr now snapshots dests (from xtractr FinalDests), classifies leftovers vs download content, and retries after remnant_action. Partial moves under the same dests are rolled back first.
  • Cross-device dests: when rename cannot move a file onto another filesystem, xtractr copies to a temp name in the dest folder, then replaces. Refused files are reported instead of silently ignored.
  • CUE/FLAC: stream frames (no more OOM on large sheets), stop double-correlating FLAC, detect .cue.txt, and fix cross-platform split paths / Lidarr ManualImport. APE+CUE (Monkey Audio) splits the same way when a .cue is extracted.
  • Multi-part RAR/7z now returns the full volume list. Archive symlinks are restored as links instead of empty stubs.
  • Memory leak: stale/failed items are removed from the extract map (#624, thanks @​mprachar).
  • Starr API keys longer than the old upper bound are accepted (#628, thanks @​ferrohd).

Desktop

  • Tray backend is energye/systray (click/right-click shows the menu). Config dialogs use zenity instead of dlgs. Thanks @​SergioChan.

Packaging and install

Releases are built with GoReleaser Pro. User-facing bits:

  • macOS: notarized universal DMG / Unpackerr.app.. Minimum macOS 13.
  • Windows: Authenticode-signed exe; Explorer File version is stamped (Major.Minor.Patch.REVISION).
  • FreeBSD: real pkgng .txz packages (pkg add on 14/15).
  • Linux: conventional package names (unpackerr_…_amd64.deb, unpackerr-….x86_64.rpm); one armhf / armv7hl.
  • Docker: golift/unpackerr and ghcr.io/unpackerr/unpackerr. :latest is tagged releases; :nightly is a daily build from main; :unstable is a manual publish branch. Alpine 3.24.
  • Built with Go 1.27.

Merged contributions

Extractor (xtractr) highlights that ship with this release: zip-slip and symlink-follow hardening (golift/xtractr#159, golift/xtractr#161, golift/xtractr#175), extract caps (golift/xtractr#176, golift/xtractr#182, golift/xtractr#185), remnants/refusals (golift/xtractr#177, golift/xtractr#181), cross-device copy (golift/xtractr#178), 7z CRC32 (golift/xtractr#171), APE+CUE (golift/xtractr#145), FLAC OOM/corruption (golift/xtractr#142, golift/xtractr#143), multi-part volumes (golift/xtractr#140).

New contributors

Full Changelog: Unpackerr/unpackerr@v0.15.2...v0.16.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@Crow-Control Crow-Control left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto approved automated PR

@truecharts-admin
truecharts-admin force-pushed the renovate/unpackerr-unpackerr-0.x branch from aa59303 to 3d64f0c Compare August 31, 2026 00:54
@truecharts-admin truecharts-admin changed the title feat(deps): update unpackerr/unpackerr v0.15.2 → v0.16.0 feat(deps): update unpackerr/unpackerr v0.15.2 → v0.16.1 Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants