Skip to content

v2.0.0

Choose a tag to compare

@Theroxat Theroxat released this 08 Nov 07:55
· 21 commits to main since this release
df8a13b

Migrate mail, calendars and contacts between almost any source and target, plan it, script it, and repair what other tools broke.

✨ Highlights

  • Repair tab. Analyse a list of mailboxes read-only, then repair the damage other migration tools leave (accents replaced by U+FFFD, mojibake, nameless attachments, detached signature images). Each message is verified before it is written; originals are kept and can be restored.
  • Exchange in both directions. exchange_ews for Exchange on premises and m365_graph for Exchange Online, with mail, calendar, contacts and tasks. Impersonation, app-only and master-user access cover many mailboxes with one credential. Tested against simulated servers, not real Exchange.
  • More sources and targets. JMAP, Google (Gmail, Calendar, People), CalDAV and CardDAV, plus files: mbox, Maildir, .eml, .msg, .ics, .vcf and zip.
  • Planning and control. Dry run, folder mapping in nine languages, per-server and per-account policies, allowed hours, bandwidth limits, named batches, final resync and source/target comparison.
  • Command line and API tokens. The mccb CLI uploads with resume, runs, watches and plans migrations.
  • Server-side intake. Drop folder, or fetch over HTTP(S), SFTP or S3, with notifications by ntfy, webhook or e-mail.
  • New web interface. Side panel for job details, live updates that change only what moved, explicit selection, dark and light themes, nine languages, and a static demo.
  • Scales further. Auto mode uses up to 32 mailboxes at once, and recovers from network errors and server overload instead of throttling for good.

⬆️ Upgrading from 1.x

Back up ./data, then docker compose pull && docker compose up -d. Remove the WORKER_CONCURRENCY line from an existing .env to get auto mode. Old links redirect to the new interface, old three-column mailbox CSV files are still read, and API routes and the mccb accounts command keep their names. CSV downloads are now mailboxes.csv and mailboxes-export.csv; upload chunk PUT no longer returns the received list (use received_count in the upload event). Details in the upgrade guide and the changelog.

🐳 Get it

docker pull ghcr.io/selfhostr/mccb:2.0.0

Installation guide: https://github.com/selfhostr/mccb/blob/main/docs/install.md

Moved: the project now lives at github.com/selfhostr/mccb and the image at ghcr.io/selfhostr/mccb. Existing installs should switch ghcr.io/yetysw/mccb to ghcr.io/selfhostr/mccb in docker-compose.yml.

📦 Dependencies

cryptography 50.0.0, python-multipart 0.0.31; tests on pytest 9.0.3.

Full changelog: v1.1.2...v2.0.0