github calibrain/shelfmark v1.6.1
v1.6.1: Tidying the Toolbox

6 hours ago

Mostly housekeeping this time. main.py was one very large file, and the routes, Socket.IO handlers and middleware now live in their own modules. Behaviour is the same, and the URL map is identical before and after. There are also two small changes to what the image does.

Under the hood

  • main.py went from roughly 1,800 lines to about 660. The metadata, system, auth, queue and release routes each have a module now, and so do the Socket.IO handlers, the app setup (secret key, session cookie, security headers, log filter), the proxy-auth and API-key middleware, and the download recording (#1623, #1624, #1625, #1637, #1638, #1639, #1640, #1641, #1642)
  • The dev docs say where a new route goes: a register_<group>_routes module (#1622)

The image

  • ffmpeg is no longer in the default image. Its only use is the screen recording in Debug mode, and dropping it takes out 93 packages and about 78 MB of the compressed amd64 image. Debug mode installs it on first start when it is needed. A container running as a non-root user can't install it, so there is no recording in that case and the bypass carries on (#1631)

Smaller fixes

  • Large debrid downloads are spooled to disk instead of held in RAM, which lowers memory use. Thanks @29rdx (#1632)

Full Changelog: v1.6.0...v1.6.1

Don't miss a new shelfmark release

NewReleases is sending notifications on new releases.