← Back to all sparks
E

Element Android

COMMS
Velocity1.7

Decentralized, secure messenger for the Matrix protocol — Android client.

Renamed to "Element Classic" — managed sunset in favor of Element X.

matrix-protocollegacy-sunsetmigrationsecurity-fixesdependency-maintenancesecure-messaging
Current state
The legacy Kotlin client was renamed to "Element Classic" in October 2025 and has been on a maintenance-and-migration cadence ever since. Recent releases are dominated by interop plumbing for Element X — exposing internal services for the new client to consume, fingerprinting Element X nightly builds, hiding the "Verify this device" banner during migration — alongside dependency bumps, a Google 16KB page-size compatibility pass, and a high-severity sender-spoofing CVE fix.
Where it's heading
The trajectory is a managed sunset. The README now recommends Element X; the rename declares legacy status; the in-flight work is about making the handoff to Element X smooth rather than evolving the classic app. Release cadence is slowing and the changelogs are getting shorter and more infrastructural.
Prediction
Expect the cadence to slow further toward security-and-dependency floor patches only. Feature work has already moved exclusively to Element X Android. A final-release notice is plausible within 6–12 months once Element X reaches full parity for enterprise customers still on the classic build.

Recent moves

  1. 7d ago

    Crypto SDK bump to 26.05.12

    Single dependency bump of the Rust crypto component. No user-visible change; consistent with the maintenance-only cadence the classic client is now on.

    View source ↗
  2. 14d ago

    Expose internal service to Element X; hide verify banner

    Migration plumbing release: exposes a service so Element X can read internal data, adds fingerprints for Element X nightly builds, hides the "Verify this device" banner that interrupted migration, and exports room-keys version. Every change is in service of the handoff to Element X.

    View source ↗
  3. 1mo ago

    Element X interop service; hide verify banner

    First release of the Element-X interop service exposure and the verification-banner hiding. The same changes were rolled forward into 1.6.56; the consistent thrust is making the classic client a data source for the new client.

    View source ↗
  4. 2mo ago

    16KB page-size compatibility; verification banner; Jitsi 11.5

    Non-dismissable verification banner, Google 16KB page-size compatibility achieved, Jitsi mobile SDK bumped to 11.5.1, and opusencoder upgraded. The 16KB compatibility was a forced compliance task; the banner is part of the migration-nudge UX.

    View source ↗
  5. 3mo ago

    MSC3824 OAuth stable; remove Flipper; crypto SDK bump

    Stable MSC3824 OAuth 2.0-aware support lands, Flipper is removed from the codebase, the default bug report URL is updated, and several dependencies are bumped. The MSC3824 work is the most strategically interesting line — quietly modernizing the auth model on the classic track to stay interoperable with the new one.

    View source ↗
  6. 7mo ago

    Renamed to Element Classic

    ⚡ SPARK

    The app's display name changed from "Element" to "Element Classic". This is the formal sunset signal — the rename relegates the codebase to legacy status, and every subsequent release has fit the maintenance-and-migration pattern.

    View source ↗