Changelog

  • 0.8.0 * Paperless can now run in a subdirectory on a host (/paperless), rather

    than always running in the root (/) thanks to maphy-psd‘s work on #255.

  • 0.7.0 * Potentially breaking change: As per #235, Paperless will no longer

    automatically delete documents attached to correspondents when those correspondents are themselves deleted. This was Django’s default behaviour, but didn’t make much sense in Paperless’ case. Thanks to Thomas Brueggemann and David Martin for their input on this one.

    • Fix for #232 wherein Paperless wasn’t recognising .tif files properly. Thanks to ayounggun for reporting this one and to Kusti Skytén for posting the correct solution in the Github issue.
  • 0.6.0 * Abandon the shared-secret trick we were using for the POST API in favour

    of BasicAuth or Django session.

    • Fix the POST API so it actually works. #236
    • Breaking change: We’ve dropped the use of PAPERLESS_SHARED_SECRET as it was being used both for the API (now replaced with a normal auth) and form email polling. Now that we’re only using it for email, this variable has been renamed to PAPERLESS_EMAIL_SECRET. The old value will still work for a while, but you should change your config if you’ve been using the email polling feature. Thanks to Joshua Gilman for all the help with this feature.
  • 0.5.0 * Support for fuzzy matching in the auto-tagger & auto-correspondent systems

    thanks to Jake Gysland‘s patch #220.

    • Modified the Dockerfile to prepare an export directory (#212). Thanks to combined efforts from Pit and Strubbl in working out the kinks on this one.
    • Updated the import/export scripts to include support for thumbnails. Big thanks to CkuT for finding this shortcoming and doing the work to get it fixed in #224.
    • All of the following changes are thanks to David Martin: * Bumped the dependency on pyocr to 0.4.7 so new users can make use of Tesseract 4 if they so prefer (#226). * Fixed a number of issues with the automated mail handler (#227, #228) * Amended the documentation for better handling of systemd service files (#229) * Amended the Django Admin configuration to have nice headers (#230)
  • 0.4.1 * Fix for #206 wherein the pluggable parser didn’t recognise files with

    all-caps suffixes like .PDF

  • 0.4.0 * Introducing reminders. See #199 for more information, but the short

    explanation is that you can now attach simple notes & times to documents which are made available via the API. Currently, the default API (basically just the Django admin) doesn’t really make use of this, but Thomas Brueggemann over at Paperless Desktop has said that he would like to make use of this feature in his project.

  • 0.3.6 * Fix for #200 (!!) where the API wasn’t configured to allow updating the

    correspondent or the tags for a document.

    • The content field is now optional, to allow for the edge case of a purely graphical document.
    • You can no longer add documents via the admin. This never worked in the first place, so all I’ve done here is remove the link to the broken form.
    • The consumer code has been heavily refactored to support a pluggable interface. Install a paperless consumer via pip and tell paperless about it with an environment variable, and you’re good to go. Proper documentation is on its way.
  • 0.3.5 * A serious facelift for the documents listing page wherein we drop the

    tabular layout in favour of a tiled interface.

    • Users can now configure the number of items per page.
    • Fix for #171: Allow users to specify their own SECRET_KEY value.
    • Moved the dotenv loading to the top of settings.py
    • Fix for #112: Added checks for binaries required for document consumption.
  • 0.3.4 * Removal of django-suit due to a licensing conflict I bumped into in 0.3.3.

    Note that you can use Django Suit with Paperless, but only in a non-profit situation as their free license prohibits for-profit use. As a result, I can’t bundle Suit with Paperless without conflicting with the GPL. Further development will be done against the stock Django admin.

    • I shrunk the thumbnails a little ‘cause they were too big for me, even on my high-DPI monitor.
    • BasicAuth support for document and thumbnail downloads, as well as the Push API thanks to @thomasbrueggemann. See #179.
  • 0.3.3 * Thumbnails in the UI and a Django-suit -based face-lift courtesy of @ekw! * Timezone, items per page, and default language are now all configurable,

    also thanks to @ekw.

  • 0.3.2 * Fix for #172: defaulting ALLOWED_HOSTS to ["*"] and allowing the

    user to set her own value via PAPERLESS_ALLOWED_HOSTS should the need arise.

  • 0.3.1 * Added a default value for CONVERT_BINARY

  • 0.3.0 * Updated to using django-filter 1.x * Added some system checks so new users aren’t confused by misconfigurations. * Consumer loop time is now configurable for systems with slow writes. Just

    set PAPERLESS_CONSUMER_LOOP_TIME to a number of seconds. The default is 10.

    • As per #44, we’ve removed support for PAPERLESS_CONVERT, PAPERLESS_CONSUME, and PAPERLESS_SECRET. Please use PAPERLESS_CONVERT_BINARY, PAPERLESS_CONSUMPTION_DIR, and PAPERLESS_SHARED_SECRET respectively instead.
  • 0.2.0

    • #150: The media root is now a variable you can set in paperless.conf.
    • #148: The database location (sqlite) is now a variable you can set in paperless.conf.
    • #146: Fixed a bug that allowed unauthorised access to the /fetch URL.
    • #131: Document files are now automatically removed from disk when they’re deleted in Paperless.
    • #121: Fixed a bug where Paperless wasn’t setting document creation time based on the file naming scheme.
    • #81: Added a hook to run an arbitrary script after every document is consumed.
    • #98: Added optional environment variables for ImageMagick so that it doesn’t explode when handling Very Large Documents or when it’s just running on a low-memory system. Thanks to Florian Harr for his help on this one.
    • #89 Ported the auto-tagging code to correspondents as well. Thanks to Justin Snyman for the pointers in the issue queue.
    • Added support for guessing the date from the file name along with the correspondent, title, and tags. Thanks to Tikitu de Jager for his pull request that I took forever to merge and to Pit for his efforts on the regex front.
    • #94: Restored support for changing the created date in the UI. Thanks to Martin Honermeyer and Tim White for working with me on this.
  • 0.1.1

    • Potentially Breaking Change: All references to “sender” in the code have been renamed to “correspondent” to better reflect the nature of the property (one could quite reasonably scan a document before sending it to someone.)
    • #67: Rewrote the document exporter and added a new importer that allows for full metadata retention without depending on the file name and modification time. A big thanks to Tikitu de Jager, Pit, Florian Jung, and Christopher Luu for their code snippets and contributing conversation that lead to this change.
    • #20: Added unpaper support to help in cleaning up the scanned image before it’s OCR’d. Thanks to Pit for this one.
    • #71 Added (encrypted) thumbnails in anticipation of a proper UI.
    • #68: Added support for using a proper config file at /etc/paperless.conf and modified the systemd unit files to use it.
    • Refactored the Vagrant installation process to use environment variables rather than asking the user to modify settings.py.
    • #44: Harmonise environment variable names with constant names.
    • #60: Setup logging to actually use the Python native logging framework.
    • #53: Fixed an annoying bug that caused .jpeg and .JPG images to be imported but made unavailable.
  • 0.1.0

    • Docker support! Big thanks to Wayne Werner, Brian Conn, and Tikitu de Jager for this one, and especially to Pit who spearheadded this effort.
    • A simple REST API is in place, but it should be considered unstable.
    • Cleaned up the consumer to use temporary directories instead of a single scratch space. (Thanks Pit)
    • Improved the efficiency of the consumer by parsing pages more intelligently and introducing a threaded OCR process (thanks again Pit).
    • #45: Cleaned up the logic for tag matching. Reported by darkmatter.
    • #47: Auto-rotate landscape documents. Reported by Paul and fixed by Pit.
    • #48: Matching algorithms should do so on a word boundary (darkmatter)
    • #54: Documented the re-tagger (zedster)
    • #57: Make sure file is preserved on import failure (darkmatter)
    • Added tox with pep8 checking
  • 0.0.6

    • Added support for parallel OCR (significant work from Pit)
    • Sped up the language detection (significant work from Pit)
    • Added simple logging
  • 0.0.5

    • Added support for image files as documents (png, jpg, gif, tiff)
    • Added a crude means of HTTP POST for document imports
    • Added IMAP mail support
    • Added a re-tagging utility
    • Documentation for the above as well as data migration
  • 0.0.4

    • Added automated tagging basted on keyword matching
    • Cleaned up the document listing page
    • Removed User and Group from the admin
    • Added pytz to the list of requirements
  • 0.0.3

    • Added basic tagging
  • 0.0.2

    • Added language detection
    • Added datestamps to document_exporter.
    • Changed settings.TESSERACT_LANGUAGE to settings.OCR_LANGUAGE.
  • 0.0.1

    • Initial release