github LogicLabs-OU/OpenArchiver v0.5.0
v0.5.0: More robust ingestion for large mailboxes, inline image display, storage optimization

13 hours ago

What's Changed

Email Preview: Inline Attachment Rendering Fix

Fixed a long-standing issue where inline/embedded images in email previews were not rendering. Now, emails with inline images will display correctly.

Storage: Strip Non-Inline Attachments from EML Before Storage

When archiving an EML file, non-inline attachments are now stripped from the raw EML before it is written to storage. Previously, regular attachments were being stored both as separate attachment records and embedded within the EML body, resulting in redundant storage consumption. This change ensures attachments are stored only once.

Sync Session Management Migrated to PostgreSQL

Sync session state is now persisted in PostgreSQL instead of Redis. This makes sync state durable across restarts and removes a dependency on Redis for session tracking. The sync_sessions table is managed via Drizzle ORM migrations alongside the rest of the schema.

Duplicate Detection for Google Workspace and Microsoft 365

The Google Workspace and Microsoft 365 ingestion connectors now perform a duplicate check before storing each message. If a message with the same identifier already exists in the archive, it is skipped rather than re-ingested. Additionally, the connectors now avoid making unnecessary API calls when a previous ingestion for the same message has already failed, preventing redundant error cycles.

Duplicate Detection for IMAP Import

The IMAP ingestion connector received the same duplicate check as the cloud connectors. Message listing during IMAP sync was also optimized to reduce the number of IMAP commands issued per sync cycle.

Improved Error Handling for File-Based Ingestion

Upload error handling for file-based ingestion (EML, MBOX, PST) has been improved. Errors encountered during file processing are now surfaced with more descriptive messages rather than silently failing or producing generic errors.

OpenAPI Specification

The backend API now ships with a machine-generated OpenAPI specification. The spec is generated via a script (generate-openapi-spec.mjs) and covers all API routes. This enables API documentation tooling and client SDK generation for integrators building on top of OpenArchiver.

Enterprise features

  • Added a new enterprise-only integrity report feature with PDF generation support. Administrators can now generate a downloadable PDF report that audits the integrity of the archived email store, providing a verifiable record suitable for compliance purposes.
  • Retention policy and Retention label
  • Legal hold

Full Changelog: v0.4.2...v0.5.0

Don't miss a new OpenArchiver release

NewReleases is sending notifications on new releases.