Paperless v2.5.0 Release Notes

Release Date: 2018-10-07 // almost 4 years ago
    • 🆕 New dependency : Paperless now optimises thumbnail generation with optipng, so you'll need to install that somewhere in your PATH or declare its location in PAPERLESS_OPTIPNG_BINARY. The Docker image has already been updated on the Docker Hub, so you just need to pull the latest one from there if you're a Docker user.
    • 🆓 "Login free" instances of Paperless were breaking whenever you tried to edit objects in the admin: adding/deleting tags or correspondents, or even fixing spelling. This was due to the "user hack" we were applying to sessions that weren't using a login, as that hack user didn't have a valid id. The fix was to attribute the first user id in the system to this hack user. #394
    • A problem in how we handle slug values on Tags and Correspondents required a few changes to how we handle this field #393:
      1. Slugs are no longer editable. They're derived from the name of the tag or correspondent at save time, so if you wanna change the slug, you have to change the name, and even then you're restricted to the rules of the slugify() function. The slug value is still visible in the admin though.
      2. I've added a migration to go over all existing tags & correspondents and rewrite the .slug values to ones conforming to the slugify() rules.
      3. The consumption process now uses the same rules as .save() in determining a slug and using that to check for an existing tag/correspondent.
    • 💻 An annoying bug in the date capture code was causing some bogus dates to be attached to documents, which in turn busted the UI. Thanks to @pengc99 for reporting this. #414
    • 🐳 A bug in the Dockerfile meant that Tesseract language files weren't being installed correctly. @euri10 was quick to provide a fix: #406, #413.
    • Document consumption is now wrapped in a transaction as per an old ticket #262.
    • 📜 The get_date() functionality of the parsers has been consolidated onto the DocumentParser class since much of that code was redundant anyway.