Skip to content

MailFerry v2.0.3 — IMAP Migration & Sync

Choose a tag to compare

@ajsap ajsap released this 19 Jul 01:29

MailFerry v2.0.3 — Patch Release

High-Performance Native IMAP Migration Engine.

The polished Results experience: an interactive migration now finishes
on a native Results screen inside the TUI — verdict, statistics,
per-mailbox outcomes and a concise "Needs attention" summary — instead
of dropping to a raw text dump. Quitting returns a clean shell with a
short confirmation, never a duplicate report.

Added

  • Results TUI with distinct verdicts: MIGRATION COMPLETE ·
    COMPLETED WITH WARNINGS · NOTHING NEW TO COPY · DRY RUN. Run and
    Messages panels, problems-first mailbox table, contextual panels
    (adopted, prior-confirmed, dry-run plan, date range, portable mode),
    Enter/F-keys/S/Q navigation. F6 doubles as the Failed Messages
    browser after completion. Headless/non-TTY output remains structured
    text — never a forced TUI.
  • Counter completeness: synced = copied + adopted + prior-confirmed + planned is now a tested invariant of the real
    engine; new contextual lines and results.csv columns (msgs_prior,
    msgs_planned) make idempotent reruns and dry runs self-explanatory.
  • RFC 2047 subject decoding in every interactive failed-message
    surface, with clean ellipsis truncation and safe fallback.
  • Restored v1.x summary details: Run ID, mailbox timings, retries,
    stalls, stale/remote/cancelled reporting, warned-mailbox breakdown.

Fixed

  • Percentages never overstate completion: 100% appears only when
    every message is genuinely accounted for (26,081 of 26,089 renders
    99.9%, not 100%); progress also never rounds down to 0%.

No engine, protocol, state or data-handling changes. Existing
mailferry.db and mailferry.toml remain fully compatible. The v2.0.2
terminal sanitisation fix (confirmed on the affected macOS arm64
system) is preserved and re-verified in this release's gate.

macOS note: binaries remain unsigned/not notarised — Gatekeeper asks
for a one-time "Open Anyway" approval
(guide).

Verify downloads: shasum -a 256 -c SHA256SUMS
Issues: https://github.com/ajsap/mailferry/issues
Author: Andy Saputra andy@saputra.org · Licence: GNU AGPL v3.0