Skip to content

Releases

0.4.0-beta1

Choose a tag to compare

@coatimundiapps coatimundiapps released this 10 Nov 07:03
7591421

coati-nuntia (0.4.0-beta1) unstable; urgency=medium

  • Phishing detection overhaul

    • Contacts in the address book are fully exempted when SPF/DKIM/DMARC
      pass. Legitimate mail from friends no longer triggers alerts.
    • New three-level classification (legit / suspicious / phishing) via
      overall_level(), replacing the previous binary high/medium/low logic.
    • Banners and sounds are now driven by overall_level(); a single low
      signal no longer shows a banner or plays a sound.
    • free_sender_impersonation only triggers on a real link to the brand
      or a combined bait + urgency signal.
    • brand_typosquat thresholds tightened (length >= 5, distance <= 1,
      trusted domains excluded). "mail.com" no longer matches "free".
    • New random_subdomain_hosting rule: detects random subdomains on
      free hosting platforms (godaddysites.com, wixsite.com, etc.).
    • URL normalization (href_for_parse) catches links inserted without
      a scheme (e.g. "example.com" instead of "http://example.com").
  • Performance

    • Instant startup: the window is shown immediately, Inbox is built
      500 ms later in a background pass, mail cache loads after 2 s.
    • Sidebar IMAP folder listing moved to a background thread. This was
      the real cause of the ~4 s freeze after the sync popup closed.
    • Composer window opens in ~22 ms instead of ~1050 ms: the
      RichTextEditor (WebKit) is now created lazily 100 ms after the
      window is mapped.
    • Mail list build batched (20 rows per cycle) with
      freeze_child_notify() to avoid layout thrash. The 50 most recent
      threads are rendered by default.
    • Reduced redundant queue_resize()/queue_draw() calls in the mail
      list, removing a second major source of UI freezes.
  • User interface

    • "What's New" window: compact, resizable-free, closing via the
      title-bar X now properly marks the version as seen.
    • "Insert link" is now a Gtk.Popover attached to the toolbar button
      instead of a Gtk.Dialog (cleaner, native-looking, Enter validates).
    • Text color picker replaced with a native Gtk.ColorButton: full
      color palette instead of a hard-coded blue.
    • Sidebar: "Refresh" context menu item is now available on every
      folder (Archive, custom folders), which removes the empty white
      rectangle that previously appeared when right-clicking.
    • Sidebar labels: counter and trash icon are now grouped in a
      horizontal box, so the count is aligned and displayed before the
      trash icon.
    • Window size is now persisted across restarts (written on
      delete-event, restored at startup).
    • "Deleted Messages" (iCloud) is correctly recognized as the Trash
      folder and offers "Empty folder (permanent deletion)".
    • Folder icons: custom folders and Archive now show a proper
      folder-symbolic icon instead of a broken empty square.
    • Settings window, About, Filters and Contacts are now built lazily
      on first visit instead of at startup, saving several hundred
      milliseconds.
    • Interface sounds are now controlled by a dedicated preference
      ("Enable interface sounds" in Settings > Interface), with distinct
      cues for sent mail, incoming phishing alerts, going offline, and
      emptying the trash. ← NEW
  • Filters

    • New Thunderbird-style filter editor: name, account selector,
      "when to apply" checkboxes, ET/OU logic (match all / match any),
      dynamic condition rows, dynamic action rows.
    • New condition fields: To, Cc, Body, X-Spam-Status, X-Spam-Score.
    • New operators: not_contains, not_equals.
    • New actions: Move to, Copy to, Label, Mark as read.
    • "Run on existing messages when saved" checkbox: applies the filter
      to already-cached mail (inbox, sent, drafts, junk, archive) when
      creating or editing a filter.
    • Filter editor state (ET/OU, when-to-apply checkboxes) is now
      correctly saved, restored, and applied by the filter engine.
  • Composer

    • Per-account signature is correctly swapped when the "From" account
      changes (signature is now wrapped in a

      and replaced reliably).
    • Cci (Bcc) field now actually appears when the Cci button is
      toggled.
    • Fixed duplicate call to sidebar.set_size_request(260, -1) left
      over from a previous merge.
  • Internationalization

    • 7 languages fully covered (fr, en, de, es, ja, pt, th, zh).
    • New fix_sidebar_keys.py helper restores sidebar keys lost when
      running extract_i18n.py.
    • i18n.install_translation(_LANG_PREF) is now actually called at
      module level, so changing the language in Settings takes effect
      after the automatic restart.
  • Bug fixes from user reports (0.3.0-beta2 -> 0.4.0-beta1)

    • WebKit2 4.0 -> 4.0/4.1 fallback added to pages.py (deepin 25 and
      any distribution shipping only WebKitGTK 4.1).
    • CREATE INDEX on email_labels moved after CREATE TABLE email_labels
      in store.py, fixing init_db() on fresh installs.
    • GitHub URLs corrected everywhere (ZengDevapps -> coatimundiapps).

0.3.0-beta1

Choose a tag to compare

@coatimundiapps coatimundiapps released this 09 Nov 10:17
7591421

*** First beta pre-version ***

✨ Key features
IMAP/SMTP support for any provider (Gmail, iCloud, Outlook, custom domains…)

Conversation threading – group emails by thread

Labels with colors and per-label counters

Automatic filters – move, label, or mark emails as read based on rules

Phishing detection – built-in analysis of suspicious emails

Per-account signatures

Multi-account with a unified inbox

Spam filter – block or allow senders

8 languages: 🇫🇷 FR, 🇬🇧 EN, 🇩🇪 DE, 🇪🇸 ES, 🇯🇵 JA, 🇵🇹 PT, 🇹🇭 TH, 🇨🇳 ZH

Dark mode following the system theme

Native Deepin integration – follows your accent color