- Fixed: Paperless-ngx document uploads were being incorrectly flagged as duplicates due to invalid API parameter usage (checksum → checksum__iexact).
- Fixed: API token authentication with Paperless-ngx now works properly when Two-Factor Authentication (2FA) is enabled, ensuring secure token-only integration.
- Fixed: Restored missing i18next JavaScript libraries for non-Docker installations, ensuring status page and i18n features function correctly.
- Enhanced: Replaced psycopg2-binary with psycopg2 for production stability and compatibility.
- Enhanced: Adjusted .gitignore to track /lib directory, ensuring essential libraries are available across environments.
Fixes & Enhancements
* Resolved five critical Apprise notification issues:
• Ensured configuration reload during scheduled jobs
• Fixed warranty data fetching for Apprise-only users
• Refactored notification dispatch logic with dedicated helpers
• Corrected handler scoping via Flask app context
• Wrapped scheduler jobs with Flask app context to prevent context errors
→ Verified: Scheduled Apprise notifications now work reliably for "Apprise only" and "Both" channels.
* Added support for SMTP\_FROM\_ADDRESS environment variable, allowing sender address customization independent of SMTP username. (PR #115)
* Fixed duplicate scheduled notifications in multi-worker environments:
• Strengthened should\_run\_scheduler() logic
• Now guarantees exactly one scheduler instance across all Gunicorn modes.
* Fixed stale database connection handling in scheduled jobs:
• Fresh connection acquired each run, properly released via try/finally
• Eliminates "server closed the connection" errors.
* Definitive scheduler logic fix for all memory modes (ultra-light, optimized, performance):
• Single-worker runs scheduler if GUNICORN\_WORKER\_ID is unset
• Multi-worker: only worker 0 runs scheduler.
Impact
* Apprise and Email notifications are now stable, reliable, and production-ready
* No more duplicate or missed notifications across all memory modes
* Improved system efficiency and robustness