github calibrain/shelfmark v1.5.0

4 hours ago

What's Changed

  • fix: hand DiamWall 513 challenges to the bypasser by @vansh-nagar in #1400
  • perf(docker): stop shipping build-only content in the runtime image by @splitsec2 in #1404
  • fix: keep https:// for qBittorrent and hide release sources from non-admins by @calibrain in #1422
  • fix(download): do not cancel a queued torrent as stalled by @splitsec2 in #1420
  • fix(download): remove a cancelled torrent that never started by @splitsec2 in #1421
  • feat(download): add Remove & Delete Files torrent completion action by @classicluna in #1401
  • fix(downloads): reconcile downloads a restart interrupted by @splitsec2 in #1409
  • fix(sabnzbd): prefetch NZBs served from the indexer's own domain by @HeihoffJ in #1416
  • fix(downloads): reconcile downloads a restart interrupted by @calibrain in #1423
  • build(deps): bump the gh-actions group with 3 updates by @dependabot[bot] in #1415
  • build(deps): bump the npm-deps group in /src/frontend with 8 updates by @dependabot[bot] in #1414
  • build(deps): bump astral-sh/uv from 0.12.19 to 0.12.22 in the docker-base-image-digests group by @dependabot[bot] in #1413
  • build(deps): bump the python-deps group across 1 directory with 3 updates by @dependabot[bot] in #1412
  • feat(naming): {Narrator} placeholder and MyAnonamouse series fallback by @adman234 in #1407
  • feat(api): add a read-only API key and a /api/stats endpoint by @splitsec2 in #1419
  • fix(sabnzbd): strip Prowlarr API key on cross-host NZB redirects by @calibrain in #1424
  • feat(clients): add Debrid-Link as a torrent client by @splitsec2 in #1380
  • fix(clients): correct Debrid-Link file listing and rate-limit handling by @calibrain in #1425
  • feat(QoL): implement top-level settings button by @joshft91 in #1427
  • feat(download): make the torrent stall window a setting by @splitsec2 in #1426
  • fix(library): back off after a failed index instead of retrying for every result by @splitsec2 in #1430
  • fix(debridlink): reuse the file list from the status check by @splitsec2 in #1431
  • fix(debug): keep SHELFMARK_API_KEY_READONLY out of the debug bundle by @splitsec2 in #1432
  • fix(release-search): report a ValueError from a source as that source's error by @splitsec2 in #1433
  • fix(queue): first terminal status wins, so a late COMPLETE cannot overwrite a cancel by @splitsec2 in #1429
  • fix(googlebooks): report more pages when limit is above the 40 result maximum by @splitsec2 in #1434
  • ci: a cache export error should not fail the image publish by @splitsec2 in #1435
  • fix(activity): Clear Completed leaves out requests that are still pending by @splitsec2 in #1438
  • fix(hardcover): defensive rate limiting and 429 backoff by @splitsec2 in #1439
  • fix(metadata): show the translation a search matched on Open Library and Hardcover by @HeihoffJ in #1451
  • fix(direct-download): clarify required search mirror by @SomSamantray in #1454
  • fix(irc): pin the TLS context to TLS 1.2 or newer by @splitsec2 in #1455
  • fix(direct_download): Anna's Archive search 404 on ISBN queries by @mvanhorn in #1456
  • improve hints/docs regarding http proxy user/pass auth by @FarawayMagnet in #1462
  • fix(clients): wait for qBittorrent-compatible clients to finish before post-processing by @ultraviolet150 in #1465
  • fix(download): extract RAR archives in place, not in the IO threadpool by @splitsec2 in #1459
  • fix: wait for synced files before processing completed downloads by @sean0407 in #1464
  • fix: search settings popup and positioning refinement by @alexhb1 in #1476
  • feat(metadata): add Databáze knih metadata provider by @misko903 in #1479
  • feat(naming): add {AuthorSort} template variable by @AmalkrishnaAS in #1484
  • build(deps): bump apprise from 1.13.1 to 2.0.0 by @dependabot[bot] in #1437
  • build(deps): bump astral-sh/uv from 0.12.22 to 0.12.24 in the docker-base-image-digests group by @dependabot[bot] in #1449
  • build(deps): bump python from 3.14.7-slim to 3.14.8-slim by @dependabot[bot] in #1470
  • build(deps-dev): bump the npm-deps group across 1 directory with 8 updates by @dependabot[bot] in #1471
  • build(deps): bump the gh-actions group with 5 updates by @dependabot[bot] in #1472
  • feat(slskd): add Soulseek (slskd) release source, building on #1335 by @splitsec2 in #1428
  • fix(docker): bump Chromium pin to 155.0.8059.79 by @wlm1993 in #1477
  • fix/redact log secrets by @calibrain in #1488
  • feat(packs): let users choose which files, books and formats to download by @amura11 in #1480
  • feat(direct_download): add OceanofPDF as a standalone search and download provider by @ast0ne1 in #1485
  • build(deps): bump the python-deps group across 1 directory with 10 updates by @dependabot[bot] in #1487
  • fix(download): send every file of a multi-file download to the browser by @calibrain in #1489
  • fix(ui): the browser tab follows the search page title by @splitsec2 in #1492
  • feat(download): a concurrency limit per source by @splitsec2 in #1495
  • fix(activity): a reused release follows the new request, and stale rows of a delivered request are closed by @splitsec2 in #1496
  • feat(requests): let an admin reopen a rejected request by @splitsec2 in #1491
  • fix(requests): an older failed attempt no longer undoes a later delivery by @splitsec2 in #1493
  • feat(clients): give up on a torrent with no seeders by @splitsec2 in #1494
  • refactor(clients): read the stall window with a type check instead of a pyright ignore by @splitsec2 in #1498
  • fix(metadata): only an admin may use the provider's own account, its lists and shelves by @splitsec2 in #1501
  • feat(audiobookbay): seed time and ratio settings by @splitsec2 in #1503
  • feat(prowlarr): hide ebook results above a maximum size by @splitsec2 in #1504
  • fix(covers): key the cover cache by the image URL, not the caller-supplied id by @splitsec2 in #1505
  • fix(releases): apply the request policy to release listing, not only to download by @splitsec2 in #1506
  • fix(activity): answer another user's item like a missing one, and skip foreign history rows by @splitsec2 in #1507
  • fix(activity): Clear Completed leaves out an item that is no longer finished instead of failing the batch by @splitsec2 in #1508
  • fix(download): stop deleting user data and losing completed downloads by @calibrain in #1511
  • fix(slskd): refuse unsafe peer paths, keep queued downloads alive, report search outages by @calibrain in #1512
  • fix: review regressions in metadata, notifications, activity redaction, search options and genDebug by @calibrain in #1510
  • build(deps): bump publicsuffixlist from 1.1.0.20261010 to 1.1.0.20261017 by @dependabot[bot] in #1509
  • fix(activity): put dismiss-many back together after the #1507 and #1508 merges by @splitsec2 in #1513
  • chore: drop three unused imports that fail Python Quality by @splitsec2 in #1514
  • feat(clients): separate audiobook download directory for torrent clients by @amura11 in #1500
  • fix(tor): survive container restarts and run Tor as debian-tor by @calibrain in #1517
  • fix(prowlarr): hide results whose title extension is not a supported format by @humanityBG in #1490
  • Fix [BUG] Search "Options" move out of the way when you try to click them by @DBVamsi in #1468
  • fix(download): trust a pinned AA mirror and repair the full e2e profile by @calibrain in #1518

New Contributors

Full Changelog: v1.4.0...v1.5.0

Don't miss a new shelfmark release

NewReleases is sending notifications on new releases.