6.0.0-RC7
6/28/26

ActiveSync Feature Grid

Feature support for Horde 6 (FRAMEWORK_6_0) with the Horde groupware stack, compared where useful to other open-source EAS implementations.

For deployment and Autodiscover setup see ActiveSync. For Horde protocol and version-configuration detail see the horde/activesync README.

Comparison accuracy: Z-Push and Tine columns below were verified against their upstream source repositories in June 2026 (Z-Hub/Z-Push develop / release 2.7.6; tine-groupware/tine main with tine20/syncroton master). Cells marked Partial or Varies mean backend, edition, or client-dependent behaviour -- not a simple yes/no.

Legend

Symbol Meaning
Yes Supported in the integrated stack / default setup
No Not supported or not advertised in protocol
Partial Limited, backend-dependent, or incomplete vs Exchange
Varies Depends on backend or deployment (see Notes)
Planned On the roadmap, not yet available

Protocol version ceiling

What each stack advertises to clients in OPTIONS / headers (actual feature parity at the highest version may be lower).

Implementation Advertised EAS versions Notes
Horde 6 2.5 - 16.1 Configurable global, per-user, and per-device ceiling
Z-Push 2.7.x 12.0 - 16.1 2.5 removed from default list; backend-dependent completeness
Tine / Syncroton 2.5 - 14.1 MS-ASProtocolVersions in Syncroton Options.php; no 16.x, no Find

Stack comparison

Feature Horde 6 Z-Push 2.7.x Tine / Syncroton Notes
Integrated groupware backend Yes Varies Yes Z-Push: Kopano (MAPI) is full; IMAP/CalDAV/CardDAV are separate backends
Usable as protocol library Yes Yes Partial Tine ships Syncroton as part of the product; usable separately in principle
Sync mail + PIM in one session Yes Varies Yes Z-Push Combined backend wraps multiple backends
Efficient streams for WBXML / MIME Yes Partial Partial Z-Push: WBXML streams; Horde also streams IMAP MIME parts
History-based change detection Yes Varies Partial Z-Push IMAP path still uses diff-style polling; Kopano path differs
SOFTDELETE / date-filter sync Yes Varies Partial Syncroton supports date FilterType filters; SOFTDELETE not evident in Syncroton
SQL state storage Yes Partial Yes Z-Push: optional sqlstatemachine backend; default is file-based
NoSQL (MongoDB) state Yes No No
Multiple folders per collection Yes Partial Partial Horde: discrete or multiplexed; Tine: per-app folders; Z-Push: backend-dependent
Per-user EAS version policy Yes No No Horde: permissions (horde:activesync:version)
Per-device EAS version policy Yes No No Horde: activesync_device_version hook
Autodiscover v1 (POX/XML) Yes Partial Yes Z-Push: deployment-dependent; Tine: native since ~2019
Autodiscover v2 (JSON) Yes No No Horde: requires web server routing to rpc.php
EAS 16.0 / 16.1 features Yes Partial No See sections below; Z-Push has AS16 code paths (2024+) but completeness varies
Active maintenance (2026) Yes Yes Yes Z-Push 2.7.6 (Jul 2025); Tine weekly releases; Syncroton PHP 8.4/8.5 fixes Feb 2026

Z-Push backends (relevant to «Varies» cells)

Backend Typical use AS ceiling in code
Kopano Full groupware via MAPI 16.1
Combined Wraps multiple backends Lowest sub-backend, up to 16.1
IMAP Mail only 16.1 advertised; diff-style sync
CalDAV / CardDAV Calendar / contacts 16.1 advertised

Home: Z-Hub/Z-Push. Related fork with explicit 16.0/16.1 focus: grommunio-sync (separate project; some Z-Push AS16 code derives from it).

Tine ActiveSync scope

Tine integrates Syncroton for protocol handling. ActiveSync frontends exist for Felamimail (mail), Calendar, Addressbook (contacts), and Tasks -- no Notes ActiveSync frontend. Device policies are stored in SQL; policy assignment has limited admin UI (default policy in admin module; custom policies often via DB -- see Tine ActiveSync wiki). Current product repo: tine-groupware/tine.

Horde features by EAS version

The tables below list Horde 6 support. For Z-Push and Tine at the same protocol level, use the ceiling table and stack comparison above (Tine stops at 14.1; Z-Push 16.x is partial).

EAS 2.5 (Exchange 2003 SP2)

Feature Horde 6 Notes
Email sync Yes Via Horde_Imap_Client; QRESYNC/MODSEQ recommended
Email type property Yes Icons for meeting requests, MDN, etc.
Hierarchical folder support Yes
Calendar sync Yes Kronolith
Meeting request / response Yes
Tasks sync Yes Nag
Contacts sync Yes Turba
GAL search Yes Search, ResolveRecipients
Provisioning / remote wipe Yes Configurable policies via permissions
Notes sync No Requires EAS >= 14.0

EAS 12.0 (Exchange 2007)

Feature Horde 6 Notes
Autodiscover v1 (POX/XML) Yes HTTP Basic auth; username mapping in Horde config
Autodiscover v2 (JSON) Yes Unauthenticated; requires web server routing to rpc.php
HTML email Yes
Search for items not on device Yes Search command
Email flagging (follow-up) Yes Seen and flagged-for-follow-up
Full MIME support Yes
Out-of-office Yes Settings

EAS 12.1 (Exchange 2007 SP1)

Feature Horde 6 Notes
Reduced bandwidth (body preferences) Yes AirSyncBase:Body truncation
S/MIME sign / encrypt / verify on device Partial When IMP S/MIME is configured; client-dependent

EAS 14.0 (Exchange 2010 SP1)

Feature Horde 6 Z-Push / Tine (approx.) Notes
Notes sync Yes Z-Push Varies / Tine No Horde: Mnemo; Tine has no Notes AS frontend
SMS sync No No / No Horde: stubbed so clients do not break mail
Conversation view No No / No
Reply state sync Yes Partial / Partial
Free/busy lookup Partial No / No Horde: Kronolith Free/Busy URL for Outlook, not via EAS
Nickname cache No No / No

EAS 14.1 (Exchange 2010 SP2)

Feature Horde 6 Z-Push / Tine (approx.) Notes
Conversation segments No No / No
GAL / search photos Yes Partial / Partial
Device information in provisioning Yes Partial / Partial Horde: activesync_device_modify hook

EAS 16.0 (Exchange 2016) -- Horde only among compared stacks

Feature Horde 6 Z-Push 2.7.x Tine
Find command (mailbox / GAL) Yes Partial No
Calendar instance model Yes Partial No
ClientUid round-trip Yes Partial No
AirSyncBase:Location Yes Partial No
Draft folder sync Yes Partial No
SmartForward / SmartReply Forwardee Yes Partial No
Recurring meeting requests in mail Yes Partial No

Z-Push: protocol advertises 16.x; Find handler added for 16.1 (2023-2024, partly from grommunio-sync); Kopano backend furthest along. Tine/Syncroton does not advertise or implement 16.x.

EAS 16.1 -- Horde only among compared stacks

Feature Horde 6 Z-Push 2.7.x Tine
Propose new time (attendee counter) Yes Partial No
DisallowNewTimeProposal Yes No No
Account-only remote wipe Yes No No
Per-user 16.1 permission Yes No No

Mail features (Horde; typical EAS versions)

Feature Horde 6 Notes
Send / reply / forward Yes SendMail, SmartReply, SmartForward
Attachments Yes GetAttachment, ItemOperations:Fetch
User-defined IMAP flags as categories Yes
MDN send Yes
TNEF attachments Partial Common cases supported
Trash folder behaviour Yes Device delete -> move or expunge per IMP config

Calendar and tasks (Horde)

Feature Horde 6 Notes
Recurrence and exceptions Yes Full series + exceptions; 16.0+ instance model
Attendee proposals stored and synced Yes 16.1 + iTip mail path
Task recurrence Partial Basic RRULE; Regenerate=1 not supported
FILTERTYPE_INCOMPLETETASKS Yes Incomplete-tasks-only sync
Multiple calendars / task lists / note pads Yes Discrete or multiplexed per device

Device management (Horde)

Feature Horde 6 Notes
Provisioning policies Yes PIN, complexity, timeout, etc. via permissions tree
Full device remote wipe Yes
Account-only remote wipe Yes EAS >= 16.1
Device block / allow Yes Hooks and admin UI
Per-device protocol log files Yes logging.type = perdevice
Per-device log toggle in admin GUI Planned
ItemOperations:Schema No Deferred -- no known client requirement

Not implemented in Horde (or deferred)

Feature Status Notes
SMS sync No Collections stubbed so clients do not break mail sync
Conversation view / segments No
Nickname cache No
HTTP 503 throttling (X-MS-Throttle) No Deferred
Task Regenerate=1 No Outlook series regeneration; Nag uses completions[]
EAS usage dashboard Planned Operator tooling, out of protocol library

Security policies (Horde)

Horde supports a broad set of Exchange-style provisioning policies configurable under Permissions -> Horde -> ActiveSync -> Provisioning. Examples include:

  • Require device PIN / password
  • Minimum password length and character classes
  • Maximum failed attempts and password expiration
  • Device encryption requirements
  • Allow or block camera, removable storage, Wi-Fi, Bluetooth, etc. (as exposed in the permission tree)

Not all clients honor every policy. Use provisioning mode Allow if some devices do not support provisioning. See Microsoft EAS security policy documentation and Provisioning / Remote Wipe on ActiveSync.

Z-Push and Tine also support provisioning with a smaller policy set exposed through their respective configuration (Z-Push: deployment config; Tine: tine20_acsync_policy table).