← Back to all sparks
E

Element iOS

COMMS
Velocity0.0

Matrix-based secure messaging client for iOS

Renamed Element Classic, this client now ships one small fix every few months

matrixlegacy-clientdevice-verificationmaintenanceencryption
Current state
Element iOS was renamed Element Classic in v1.11.32, and the release log since then reads like a maintenance branch: single-PR releases spaced weeks to months apart, mostly dependency bumps, build-tooling changes and one user-visible change at a time. The one substantive thread is device verification — a permanent disclaimer banner for unverified sessions arrived in 1.11.35, was temporarily disabled in 1.11.37 because users had no way to reset from the verification screen, got the Reset flow wired up in 1.11.38, and was reinstated as mandatory in 1.11.39.
Where it's heading
The rename is the clearest signal of direction: this is the legacy client, kept working rather than extended. Recent releases raise the minimum supported OS to satisfy a Jitsi dependency, keep the Xcode toolchain current, and adjust CI — the work of a codebase being maintained, not developed. The verification arc is the exception, and even that is about closing an encryption-hygiene gap rather than adding capability.
Prediction
With mandatory verification now reinstated and its reset path in place, the remaining work in this branch looks like dependency and toolchain upkeep plus security patches. The entries give no indication of new feature work, so the cadence should stay sparse and single-item.

Recent moves

  1. 1mo ago

    Mandatory verification banner reinstated

    The mandatory verification banner is reinstated, closing the arc that began in 1.11.35 and was rolled back in 1.11.37. It only became safe to re-enable once 1.11.38 gave unverified users a working reset path, so this release is the completion of a three-version sequence rather than a change on its own.

    View source ↗
  2. 2mo ago

    Reset flow wired into verification for users with no other devices

    Hooks the Reset flow up to Verification for users with no recovery method and no other devices — the dead end that forced the verification banner to be disabled two releases earlier. Filed as a bugfix, but it is the change that unblocked reinstating mandatory verification.

    View source ↗
  3. 4mo ago

    Mandatory verification banner temporarily disabled

    Temporarily disables the mandatory verification banner because there was no way to reset from the verification screen. A holding action that reverses 1.11.35 rather than a change in direction — the banner returns two releases later.

    View source ↗
  4. 4mo ago

    Jitsi SDK bump raises minimum iOS to 15.1

    A Jitsi SDK dependency update that drags the minimum supported OS from 15.0 to 15.1, plus zizmor checks added to CI. Dependency-driven housekeeping, characteristic of this branch since the rename to Element Classic.

    View source ↗
  5. 5mo ago

    Permanent disclaimer banner for unverified sessions

    Introduces the permanent disclaimer banner shown when a session is unverified, the change the next four releases spend their time walking back and reinstating. Also picks up Xcode 26 build support and a Jitsi name-change restriction.

    View source ↗
  6. 6mo ago

    OAuth support moves to stable MSC3824

    Updates OAuth-awareness to the stable version of MSC3824 and makes the Settings screen respect the m.change_password capability, so servers that manage credentials externally are handled correctly. Spec-tracking work of the kind that keeps a maintained Matrix client compatible.

    View source ↗