Skip to content

Pullbox v1.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 03:35
· 10 commits to main since this release
47cac24

What's Changed

Minor release introducing native direct acquisition, an embedded comic reader,
and significant operational resilience improvements for large libraries and
long-running imports.

Added

  • Added native Jackett indexer management with Prowlarr-consistent test and
    synchronization controls, one independently managed Torznab source per
    configured tracker, and duplicate-manager warnings.
  • Added direct acquisition as a first-class search and download path, with
    GetComics and Anna's Archive provider support, source-aware matching, and
    user-controlled provider priority.
  • Added configured artifact-host support for PixelDrain, MEGA, MediaFire,
    TeraBox, DataNodes, Rootz, and generic HTTPS routes, including encrypted
    credentials, reachability checks, fallback routing, per-host blocklisting,
    and manual source switching.
  • Added browser challenge resolvers with ranked FlareSolverr, ByParr, and TRAWL
    support for direct providers and manually configured Torznab indexers.
  • Added a lightweight embedded comic reader with private reading progress,
    bounded page caching, responsive controls, and operational cache limits.
  • Added direct-download recovery entries to the Intervention Queue so users can
    retry failed mirrors with a newly planned route instead of reusing a stale
    artifact.
  • Added a database optimization utility and expanded health detail for direct
    acquisition routes, Jackett indexers, and database maintenance.
  • Added manual refresh for stale What's New release data.

Changed

  • Preserve missing Prowlarr and Jackett tracker records as unavailable history
    instead of deleting them, and give Jackett-managed searches a proxy-aware
    timeout and request cadence while Jackett retains challenge ownership.
  • Allow Anna's Archive users to edit the configured official URL while limiting
    the accepted values to the supported .gl, .pk, and .gd domains.
  • Reworked direct-download settings into consistent provider, artifact-host,
    and challenge-resolver configuration surfaces with connection status and
    ordered preference controls.
  • Extended matching for collected editions, graphic novels, omnibuses, titled
    trade volumes, one-shots, and subtitle-bearing releases while preserving the
    review-first path for uncertain matches.
  • Improved download and intervention history with direct-provider and artifact
    host context, parsed release details, and clearer recovery actions.

Fixed

  • Corrected direct acquisition planning when a release exposes multiple
    artifact mirrors, including unavailable or unsafe routes, stale landing
    pages, host fallback, and source-specific retries.
  • Routed one-click issue downloads through the same cross-source acquisition
    path as scheduled searches, so direct results honor source priority and work
    when no indexer result is available.
  • Kept direct-review and direct-recovery entries actionable when background
    dispatch cannot start, instead of resolving them before a transfer is queued.
  • Prevented direct downloads from appearing stalled during slow transfers and
    report a clear slow-source status after sustained low throughput.
  • Preserved direct-download issue state as downloading throughout acquisition
    and corrected post-processing source resolution across mounted paths.
  • Kept recovery-only Intervention Queue rows out of generic bulk approve and
    reject actions, and report untested enabled direct routes as needing
    attention rather than falsely healthy.
  • Improved import safety-review rematching, folder naming tokens, targeted
    import type classification, and rematch review refresh behavior.
  • Preserved in-place series monitoring changes, list state after deletion, and
    interactive cursor affordances across the application.
  • Prevented reader worker, progress-write, cache-budget, fullscreen, and image
    validation edge cases from disrupting reading sessions.

Performance

  • Reduced sidebar navigation query work and kept manual monitoring changes
    reactive without full-page reloads.
  • Improved database contention handling for concurrent imports, scheduled work,
    health checks, and direct acquisition recovery.

Testing

  • Expanded direct acquisition, reader, health, intervention, import, and
    browser workflow regression coverage.

Documentation

CI / Build

  • Updated GitHub Actions and axe-core dependencies and recorded the reviewed
    base-image OpenSSL CVE triage.

Internal

Commit Details

✨ Features

  • separate direct download recovery from match review
  • add Jackett indexer health monitoring
  • include direct sources in health checks
  • add database optimization utility
  • harden reader runtime and operations
  • add responsive embedded comic reader
  • add reader delivery and private progress
  • add bounded comic page sources
  • add resilient direct download source switching
  • add durable wanted sweeps and source fallback
  • refine manual Torznab indexer setup
  • refresh stale What's New data on demand
  • show artifact hosts in download history
  • add dedicated challenge resolvers settings tab
  • scope artifact hosts to provider capabilities
  • track artifact host reachability
  • order artifact hosts by preference
  • align artifact host configuration
  • simplify direct download settings hierarchy
  • refine direct provider configuration
  • add native Jackett indexer management
  • add browser resolution for manual Torznab
  • add ranked browser resolver chains
  • support DataNodes premium downloads through TRAWL
  • add resilient direct download host routing
  • integrate direct downloads into search and acquisition
  • finalize artifact host release modes
  • record artifact host account health
  • add native artifact host settings UI
  • add direct artifact host settings API
  • add durable direct acquisition execution
  • add secure direct artifact transport
  • add native artifact host adapters
  • define artifact host registry contract
  • add bounded browser challenge resolver
  • add direct provider protocol registration
  • add direct acquisition persistence foundation

🐛 Bug Fixes

  • route direct issue downloads consistently
  • harden intervention and direct route health
  • open post-processing issues as full pages
  • update monitored series in place
  • keep approved safety files actionable during rematch
  • distinguish one-shot targeted import folders
  • honor type token during targeted imports
  • enforce reader page cache budget
  • make initial reader progress writes atomic
  • avoid reader compression false positives
  • target reader shell for fullscreen
  • swap comic reader footer controls
  • verify baseline PNG reader pages safely
  • retain reader worker bounds on cancellation
  • materialize direct imports safely
  • close direct download review gaps
  • preserve MEGA bridge loader path
  • tolerate fast MEGA bridge close
  • harden direct transfer review paths
  • align candidate union ordering
  • sync direct download issue status
  • reuse safety-reviewed direct artifacts
  • open download queue issues as full pages
  • classify non-standard series from metadata evidence
  • honor direct provider priority after matching
  • match subtitle-bearing graphic novels
  • resolve collection download alternatives
  • distinguish collected editions from numbered issues
  • match titled collection volumes correctly
  • preserve series list state after deletion
  • standardize interactive cursor affordances
  • clarify incomplete intervention routes
  • improve collection matching and fallback
  • accept exact collection download alternatives
  • fall back from unsafe artifact routes
  • honor source and indexer priorities
  • classify unavailable direct download mirrors
  • improve direct download intervention and progress feedback
  • harden direct download planning and fallback
  • allow keyless manual indexers
  • align search language dropdown contract
  • restore settings indexer card spacing
  • keep indexer action status visible
  • allow indexer priority updates after tests
  • show artifact host intervention details
  • stabilize intervention history details
  • skip retired direct-download artifact hosts
  • preserve download queue actions across polling
  • align resolver settings and preserve health history
  • simplify Jackett connection guidance
  • harden direct download transfer recovery
  • harden direct acquisition recovery checkpoints

🧪 Testing

  • stabilize release validation contracts
  • wait for reader resume after reopen
  • align search flow integration seams

📝 Docs

  • record reader acceptance benchmark

🧰 Chores

  • bump version to 1.1.0 for release
  • update actions and axe-core
  • raise cryptography security floor
  • sync develop after v1.0.6 release

🏗️ CI / Build

  • triage deferred openssl base image cve

⚡ Performance

  • reduce sidebar navigation query cost
  • add direct download readiness baseline

🐳 Docker Images

docker pull ghcr.io/pullboxapp/pullbox:1.1.0
docker pull docker.io/pullbox/pullbox:1.1.0

Digest: sha256:251f032037d0d2354e1c7ebc5f6e12b3b3a7586895065987a9cf2be74b667b72

🔐 Image Verification

Release images are signed with keyless Sigstore/Cosign using GitHub Actions OIDC.
These commands verify the exact multi-architecture image digest published by this release.

cosign verify \
  --certificate-identity-regexp '^https://github.com/pullboxapp/pullbox/\.github/workflows/docker-release\.yml@refs/tags/v1.1.0$' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  ghcr.io/pullboxapp/pullbox@sha256:251f032037d0d2354e1c7ebc5f6e12b3b3a7586895065987a9cf2be74b667b72

cosign verify \
  --certificate-identity-regexp '^https://github.com/pullboxapp/pullbox/\.github/workflows/docker-release\.yml@refs/tags/v1.1.0$' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  docker.io/pullbox/pullbox@sha256:251f032037d0d2354e1c7ebc5f6e12b3b3a7586895065987a9cf2be74b667b72

Full Changelog: v1.0.6...v1.1.0