Papra changelog
Here are the changelogs of the docker images released by Papra.
For version after v0.9.6, Papra uses Calver as a versioning system with the format YY.MM.N where N is the number of releases in the month starting at 0 (e.g. 25.06.0 is the first release of June 2025).
v25.11.0
-
Added the possibility to filter out some email domain names for new registration
-
Lazy load some demo-mode specific code to reduce production client bundle
-
Added translations for document table headers
-
Added some logging context when an intake email is received
-
Api breaking change: the document search endpoint return format changed, impacting any custom clients consuming it.
Before
// Get /api/organizations/:organizationId/documents/search { documents: { id: string; name: string; mimeType: string; // ... other document fields } []; }After
// Get /api/organizations/:organizationId/documents/search { searchResults: { documents: { id: string; name: string; } []; } } -
Limit concurrent browser upload to avoid network crashes
-
Made the tags clickable in the tag list
-
Intake email edge case: use original destination addresses when available for intake emails when forwarded
-
Upgraded to node v24
-
Added Dutch translation
-
Improved server authentication logging
-
Improved unique constraints error when dealing with hosted libsql db
-
Fix tags table overflow for long tag descriptions: added some text wrapping for the description
-
Fix environment variable
DOCUMENT_STORAGE_S3_FORCE_PATH_STYLEvalidation schema to account for boolean string
v25.10.2
-
Added an email verification confirmation/expiration page
-
Improved graceful shutdown
-
Reduced client bundle size by removing date-fns
-
Fix client redirection issue on non-existent organization
-
Added text extraction support for
.docx,.odt,.rtf,.pptxand.odp -
Updated pnpm version
-
Added global errors handlers
-
Added missing translations in the tagging rule form
-
Choose between
All conditions must matchandAny condition must matchin tagging rules -
Fixed the webhook last triggered date always showing "never" in the webhook list.
-
Improved the translation of dates and relative time
-
Added the possibility to start either just the api, just the workers, or both (default)
-
Fix webhook creation form preventing to create webhooks without secrets
-
Fixed wrongly formatted [object Object] feedback message in auth pages
v25.10.1
-
Removed unnecessary left icon navbar
-
Added deleted and total document counts and sizes in the
/api/organizations/:organizationId/documents/statisticsroute -
Added server hostname configuration
-
Lighten the client bundle by removing lodash dep
-
Fix weird navigation freeze when direct navigation to organizations
-
Made the validation more permissive for incoming intake email webhook addresses, allowing RFC 5322 compliant email addresses instead of just simple emails.
-
Prevent small flash of wrong theme on initial load for slower connections
-
Redacted webhook signing secret in api update response
-
Reduced the client bundle size by switching to posthog-lite
-
Use organization max file size limit for pre-upload validation
-
Redesigned the organization picker in the sidenav
v25.10.0
-
Use calendar based versioning for docker images
-
Drop docker armv7 support
-
Added soft deletion with grace period for organizations
-
Added a page to view organization usage
-
Save document activity log when auto tagging rule is applied
-
Trigger tag-added webhooks when auto tagging rule is applied
v0.9.6
-
Added env variable to configure ip header for rate limit
-
Fixed the api validation of tag colors to make it case incensitive
v0.9.5
-
Properly handle file names encoding (utf8 instead of latin1) to support non-ASCII characters.
-
Prevented organization deletion by non-organization owner
v0.9.4
-
Added an option to disable PRAGMA statements from sqlite task service migrations
-
Added fallbacks env variables for the task worker id
-
Added organizations permissions for api keys
v0.9.3
-
Added the possibility to define patterns for email intake username generation
-
Split the intake-email username generation from the email address creation, some changes regarding the configuration when using the
randomdriver.# Old configuration INTAKE_EMAILS_DRIVER=random-username INTAKE_EMAILS_EMAIL_GENERATION_DOMAIN=mydomain.com # New configuration INTAKE_EMAILS_DRIVER=catch-all INTAKE_EMAILS_CATCH_ALL_DOMAIN=mydomain.com INTAKE_EMAILS_USERNAME_DRIVER=random -
Added the possibility to configure OwlRelay domain
v0.9.2
-
Fix to allow cross docker volume file moving when consumption is done
-
Added the possibility to define a Libsql/Sqlite driver for the tasks service
-
Enhanced security by serving files as attachement and with an octet-stream content type
-
Fix an issue preventing to disable the max upload size
-
Removed the "open in new tab" button for security improvement (xss prevention)
v0.9.1
-
Fix cleanup state when a too-big-file is uploaded
-
Added a client side guard for rejecting too-big files
-
Fix favicons display issues on firefox
-
Fix i18n messages when a file-too-big error happens
-
Clean all upload method to happen through the import status modal
v0.9.0
-
Dropped support for the dedicated backblaze b2 storage driver as b2 now fully support s3 client
-
Added documents encryption layer
-
Stream file upload instead of full in-memory loading
-
Fix a bug where the ingestion folder was not working when the done or error destination folder path (
INGESTION_FOLDER_POST_PROCESSING_MOVE_FOLDER_PATHandINGESTION_FOLDER_ERROR_FOLDER_PATH) were absolute. -
Use node file streams in ingestion folder for smaller RAM footprint
-
Fixed an issue where tags assigned to only deleted documents won't show up in the tag list
-
Properly handle missing files errors in storage drivers
-
Lazy load the PDF viewer to reduce the main chunk size
-
Allow for more complex intake-email origin adresses
-
Simplified i18n tooling + improved performances
-
Prevent infinit loading in search modal when an error occure
-
Improved the UX of the document content edition panel
-
Added content edition support in demo mode
v0.8.2
-
Fix a regression bug that executed tagging rules before the file content was extracted
v0.8.1
-
Removed dev-dependency needed in production build
v0.8.0
-
Completely rewrote the migration mechanism
-
The file content extraction (like OCR) is now done asynchronously by the task runner
-
Fixed the impossibility to delete a tag that has been assigned to a document
-
Added new webhook events: document:updated, document:tag:added, document:tag:removed
-
Webhooks invocation is now defered
-
Added diacritics and improved wording for Romanian translation
-
Added feedback when an error occurs while deleting a tag
-
Simplified the organization intake email list
-
Added Italian (it) language support
-
Improved feedback message in case of invalid origin configuration
v0.7.0
-
v0.7 release
v0.6.4
-
Fix permission issue for non 1000:1000 rootless user
-
Added configuration for the ocr language using DOCUMENTS_OCR_LANGUAGES
-
Improve file preview for text-like files (.env, yaml, extension-less text files,...)
-
Fix weird centering in document page for long filenames
-
Added the possibility to disable login via email, to support sso-only auth
-
Introduce APP_BASE_URL to mutualize server and client base url
-
Fixes 400 error when submitting tags with uppercase hex colour codes.
-
Added Romanian (ro) translation
-
Added Brazilian Portuguese (pt-BR) language support
-
Fix back to organization link in organization settings
-
Added Polish (pl) language support
-
Updated dependencies
-
Added Spanish (es) translation
-
Added European Portuguese (pt) translation
-
Added tag color swatches and picker
v0.6.3
-
Added a /llms.txt on main website
-
Allow for adding/removing tags to document using api keys
-
Add German translation
v0.6.2
-
Ensure database directory exists when running scripts (like migrations)
-
Fixed version release link
v0.6.1
-
Fix content disposition header to support non-ascii filenames
v0.6.0
-
Set CLIENT_BASE_URL default value to http://localhost:1221 in Dockerfiles
-
Added document activity log
-
Added pending invitation management page
-
Added support for classic SMTP client for email sending
-
Reworked the email sending system to be more flexible and allow for different drivers to be used.
EMAILS_DRY_RUNhas been removed and you can now useEMAILS_DRIVER=loggerconfig option to log emails instead of sending them. -
Disable "Manage subscription" from organization setting by default
-
I18n: full support for French language
-
Fixed an issue with the reset-password page navigation guard that prevented reset
v0.5.1
-
Set email setting to dry-run by default in docker
v0.5.0
-
Added support for custom oauth2 providers
-
Ensure local database directory en boot
-
Added invitation system to add users to an organization
-
Fix register page description
v0.4.0
-
Properly hard delete files in storage driver
-
Added support for b2 document storage
-
Added support for azure blob document storage
-
Added webhook management
-
Added API keys support
-
Added document searchable content edit
-
Fix ingestion config coercion
-
Added tag creation button in document page
-
Improved tag selector input wrapping
-
Properly handle file names without extensions
-
Wrap text in document preview
-
Excluded deleted documents from doc count