Skip to content

cypht

Communication & Email

A unified email client that aggregates multiple accounts into one interface, supporting IMAP/SMTP and acting as both an email reader and news feed aggregator.

PHP Latest v2.9.0 · 15d ago Security brief →

Features

  • Aggregates emails from multiple accounts in a single view
  • Supports IMAP, SMTP, JMAP (planned) and EWS protocols
  • Extensible architecture with plugin‑style module sets for custom features

Recent releases

View all 4 releases →
Monitor
v2.9.0 New feature
Auth Dependencies

Scheduled sends, lockout, MTA-STS, contacts revamp, folder search

v2.8.0 Security relevant
Security fixes
  • CVE-2026-30838 — updated commonmark to 2.8.1, then bumped league/commonmark to 2.8.2
Notable features
  • Search recipient autocomplete by nickname and company
  • Add Monolog structured logging with environment‑based configuration
  • Allow HTML signature in the profile
Full changelog

187 changes from 9 contributors (of which 1 is a new contributor). 124 files were affected.

What's Changed

New features

  • feat(other): search by nickname and company in recipient autocomplete by @IrAlfred in https://github.com/cypht-org/cypht/pull/1890
  • feat(other): add Monolog for structured logging with environment-based configuration by @IrAlfred in https://github.com/cypht-org/cypht/pull/1891
  • feat(other): allow HTML signature in the profile by @IrAlfred in https://github.com/cypht-org/cypht/pull/1896
  • feat(frontend): add configurable/custom action buttons by @camilevahviraki in https://github.com/cypht-org/cypht/pull/1764
  • feat(other): add module-aware PHP dependency checker to build script by @IrAlfred in https://github.com/cypht-org/cypht/pull/1830
  • feat(backend): add possibility to send php errors to glitchtip by @josaphatim in https://github.com/cypht-org/cypht/pull/1901
  • feat(frontend): add complete Polish interface translation by @szporwolik in https://github.com/cypht-org/cypht/pull/1907
  • feat(backend): implement support for application/ms-tnef message by @mercihabam in https://github.com/cypht-org/cypht/pull/1902
  • feat(module/2fa): auto-generate APP_2FA_SECRET in config_gen when unset by @IrAlfred in https://github.com/cypht-org/cypht/pull/1925
  • feat(frontend/backend): support configurable page query parameter name by @mercihabam in https://github.com/cypht-org/cypht/pull/1919
  • feat(backend): disable archive button when ews In-Place Archive is not provisioned by @kambereBr in https://github.com/cypht-org/cypht/pull/1936
  • feat(frontend): show collapsed nav subitems on hover by @mercihabam in https://github.com/cypht-org/cypht/pull/1932

Bug fixes

  • fix(other): point docker compose to latest Cypht release 2.7.0 by @IrAlfred in https://github.com/cypht-org/cypht/pull/1887
  • fix(backend): ensure that css-hidden content in messages is not shown in Cypht as well and no HTML head content embedded in the output by @mercihabam in https://github.com/cypht-org/cypht/pull/1888
  • fix(backend): prioritize exact, case-insensitive match over substring-based when searching for a message body struct. Preventing falsy match of subtype (e.g., 'x-amp-html' to 'html') by @mercihabam in https://github.com/cypht-org/cypht/pull/1889
  • fix(workflow): allow underscores and digits in module scope pattern by @IrAlfred in https://github.com/cypht-org/cypht/pull/1893
  • fix(other): update commonmark to version 2.8.1 to fix CVE-2026-30838 by @IrAlfred in https://github.com/cypht-org/cypht/pull/1892
  • fix(other): fix "TRANSLATION NOT FOUND" warnings by @IrAlfred in https://github.com/cypht-org/cypht/pull/1895
  • fix(frontend): css: visual fixes to the calendar and contacts page by @pom2ter in https://github.com/cypht-org/cypht/pull/1894
  • fix(other): only init KindEditor for signature in HTML compose mode by @IrAlfred in https://github.com/cypht-org/cypht/pull/1898
  • fix(backend): allow custom sources by @josaphatim in https://github.com/cypht-org/cypht/pull/1899
  • build(deps): bump league/commonmark from 2.8.1 to 2.8.2 by @dependabot[bot] in https://github.com/cypht-org/cypht/pull/1900
  • fix(backend): correct cache path for folder names in message list type handler by @Shadow243 in https://github.com/cypht-org/cypht/pull/1910
  • fix(module/imap): fix snooze feature by @josaphatim in https://github.com/cypht-org/cypht/pull/1908
  • fix(other): align league/commonmark version between composer.json and lock file by @IrAlfred in https://github.com/cypht-org/cypht/pull/1915
  • fix(other): remove custom log file path and default to empty from env config to use default PHP error log by default by @IrAlfred in https://github.com/cypht-org/cypht/pull/1916
  • fix(backend): gmail_contacts - migrate to Google People API v1 by @szporwolik in https://github.com/cypht-org/cypht/pull/1905
  • fix(frontend): stabilize filter editing, custom actions, and ux by @camilevahviraki in https://github.com/cypht-org/cypht/pull/1912
  • fix(module/sievefilters): avoid duplicate modal bindings and invalid main_sc… by @camilevahviraki in https://github.com/cypht-org/cypht/pull/1921
  • fix(other): show nav menu on save page by adding missing route entry and supporting handler-less routes by @IrAlfred in https://github.com/cypht-org/cypht/pull/1922
  • fix(frontend): message page had a title Filter by @camilevahviraki in https://github.com/cypht-org/cypht/pull/1926
  • fix(frontend): visual fixes for message list and mobile by @pom2ter in https://github.com/cypht-org/cypht/pull/1927
  • fix(other): use db_name for SQLite DSN instead of db_socket by @IrAlfred in https://github.com/cypht-org/cypht/pull/1929
  • fix(module/highlights): fix highlights module bugs by @IrAlfred in https://github.com/cypht-org/cypht/pull/1931
  • fix(module/imap_folders): clear parent folder cache on subfolder creation by @IrAlfred in https://github.com/cypht-org/cypht/pull/1934
  • fix(other): run composer install before setup.sh in Test-phpunit job by @IrAlfred in https://github.com/cypht-org/cypht/pull/1933
  • fix(docker): remove misleading unused nginx default site config by @IrAlfred in https://github.com/cypht-org/cypht/pull/1940
  • fix(backend): ensure Hm_Mailbox is constructed with a connection type by @mercihabam in https://github.com/cypht-org/cypht/pull/1941
  • fix(other): update version reference to 2.8.0 for upcoming release by @IrAlfred in https://github.com/cypht-org/cypht/pull/1939
  • fix(e2e): fix CI sqlite setup and replace flaky navigation wait with deterministic counter + AJAX idle check by @IrAlfred in https://github.com/cypht-org/cypht/pull/1942

Refactoring

  • refactor(frontend/backend): propose sieve filter actions according to server extensions by @josaphatim in https://github.com/cypht-org/cypht/pull/1897
  • refactor(frontend): maintain a dedicated logout page to separate session termination from navigation handling, preventing related issues by @mercihabam in https://github.com/cypht-org/cypht/pull/1750
  • refactor(frontend): move some JS code of the sievefilter module for execution in route handlers instead of a global execution by @mercihabam in https://github.com/cypht-org/cypht/pull/1903
  • refactor(frontend): imap folders page to show wich folder is being edited by @camilevahviraki in https://github.com/cypht-org/cypht/pull/1923

New Contributors

  • @szporwolik made their first contribution in https://github.com/cypht-org/cypht/pull/1907

Full Changelog: https://github.com/cypht-org/cypht/compare/v2.7.0...v2.8.0

v2.7.0 New feature
Security fixes
  • Fixed decompression-bomb safeguards bypass when following HTTP redirects
Notable features
  • Trash message restore functionality
  • OPML import for RSS/ATOM subscriptions
  • Context-aware delete warnings
v2.6.0 New feature
Notable features
  • Calendar invitation support with icon
  • Active Directory UPN and domain\user authentication
  • Improved email UI with unread counts

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
1,584
Forks
214
Languages
PHP JavaScript CSS

Community & Support

Beta — feedback welcome: [email protected]