Skip to content

Lightning 0.10.0

Choose a tag to compare

@Mizerd Mizerd released this 01 Oct 02:50
· 1348 commits to main since this release

Lightning 0.10.0

A release about calls that hold up, a sign-in that says what it wants, and
Spaces you can actually run. Most of it came from reports: a voice call that
went quiet after every join and leave, a crash on hang-up that only slower
machines could reach, a server address that had to be typed in full, and
pictures that stayed blank until the first scroll.

Calls

  • No more gaps after someone joins or leaves. Lightning switched its media
    to a new key the moment it sent it, while the other side received that key
    seconds later, so each join or leave cost one to four seconds of silence both
    ways. The switch now waits until the key can have arrived. Measured against
    Element across 19 rejoins, not a second was lost.
  • Rejoining a call no longer leaves you hearing nobody. A key that arrived
    while you were still connecting was wiped a moment later.
  • Element's key numbers above 15 are accepted, so a busy call no longer
    loses Element for good (issue #10).
  • A long mute from someone else no longer silences everyone.
  • Hanging up while a call was still connecting could crash the app
    (issue #3). The crash is a GStreamer/libnice bug that no stable GStreamer
    release fixes yet, and Lightning now avoids the window that triggers it.
  • Every speaker keeps their ring when several people talk.
  • A camera that only offers raw YUYV frames starts.
  • Saving a log to a file can no longer freeze a call if the disk or the
    reader stalls.
  • The media engine survives a sound server restart or an unplugged device, and
    a join that is refused no longer ends the call you are already in.
  • Lightning has its own call sounds, and the ringer rings. You can silence
    it for one call.
  • --call-media-status now also checks the parts of the media stack a call
    needs but never names, so a package missing one says so instead of claiming
    calls work.

Signing in

  • The server address works however you type it: matrix.org,
    https://matrix.org, with or without a trailing slash, in any case.
  • The sign-in page was redesigned to say plainly what each choice does. A
    server's sign-in options show with their real logos, the password form
    follows the usual layout, and Create account and Forgot password links
    appear when the server offers them. A server reached over plain http is
    marked as not encrypted.
  • Browser sign-in no longer hangs in Chromium-family browsers.
  • A failed sign-in no longer leaves a half-created account behind that blocks
    the next attempt, and an account that cannot be removed completely says what
    is left and offers to try again.
  • Change your password from Settings, and choose whether your other
    sessions are signed out.

Spaces

  • Close a room or a Space for everyone, or delete it outright, from its
    settings. The dialogs say exactly whom they remove.
  • Kick, ban and unban a member from a Space, optionally from every room in it
    as well.
  • A Space's lobby is sectioned, and removing a room from a Space removes it.
  • Space tiles on the rail show an unread dot and a mention count.

Timeline and media

  • Pictures on screen load when a room opens, not after the first scroll.
  • A link to an image or a video shows as that picture or video.
  • Animated GIF and WebP avatars and banners, and animation is kept on upload.
  • Images sent from Sable as image-only messages, and MSC4274 galleries, are
    shown.
  • SVGs you send get a raster thumbnail; received SVGs are never decoded.
  • A video whose length the file does not report shows the length its sender
    declared, and a video that cannot be fetched offers Retry.
  • An edited message no longer keeps showing its old text.
  • A slow touchpad swipe no longer glides about ten times farther than a brisk
    one.

Notifications, presence and receipts

  • Notifications follow your account's own rules as the server evaluates
    them, so a room set to Mentions & keywords on another device is respected
    here too (issue #15).
  • A DM's header shows the other person's presence, and its avatar and name open
    their profile. The presence dot sits bottom-right, where other clients put
    it.
  • Opening a room from a notification keeps it at the newest message, so the
    message you were sent is marked read.

Windows

  • A microphone whose clock runs ahead no longer collapses to a few words a
    second
    on the far side; the audio stays sample-accurate.

  • Install for all users (issue #14): the installer asks Just for me or
    For all users, and the MSI accepts ALLUSERS=1. Silent installs take
    /S /ALLUSERS or /S /CURRENTUSER.

Packaging

  • The Flatpak ships ximagesrc, so an X11 session without a screen-share portal
    can share its screen, and two things the Flatpak told its users that were
    not true were corrected.
  • The Flatpak camera keeps the portal's grant when it arrives instantly, and
    its format negotiation no longer dies on a pinned frame rate.
  • The AppImage draws colour emoji everywhere.

Your media, kept — and encrypted

  • Media from encrypted rooms no longer downloads again after a restart. It
    is kept in a media store encrypted with a key held in your system keyring;
    when the keyring is locked, media is kept in memory only. Large files from
    unencrypted rooms are kept too. A setting and a Clear kept media button
    live under Privacy & security.
  • Decrypted copies of files you sent are gone. The media database the Rust
    SDK kept before this release stored them readable; it is migrated away.

Sign-in and keyring

  • A session signed out elsewhere ends honestly instead of looping.
  • A soft logout signs you back in as the same device, keys intact.
  • A keyring that is down or lost no longer costs you the account: Lightning
    says so, offers Try again, and continues as the same device when the
    keyring forgets a sign-in, instead of offering a rebuild.
  • Only one Lightning runs per profile; launching it again brings the window
    forward.

Search, rooms and composing

  • Index all rooms makes every room's history searchable in one go, paced
    so it never hammers your server; Lightning offers it once after you sign in.
  • The room list keeps still while you use it and applies the new order when
    you switch Space or tab — like Element. Opening a room never moves it. A
    setting turns this off.
  • :thumbs suggests 👍, and :thumbsup: turns into the emoji as you type.
  • Links in room topics are clickable and the text can be selected.
  • Arabic paragraphs align to the right; an edit shows its new text in the room
    list without moving the room; one invite raises one notification; banned
    members leave People in this Space.

New call sounds

A new, softer set of call sounds, chosen over three rounds of listening. They
can still be switched off under Settings › Sound & video › Call sounds.

Not tested

  • macOS was not tested for this release.
  • Known interop issue with Element Web: now and then Element cannot hear
    one participant until that participant leaves and rejoins. Measured: the
    audio Lightning sends arrives intact and Element applies its key, but
    Element's receiver doubles every packet on one subscriber slot. The fault is
    on Element's side and is being reported upstream; rejoining clears it.
  • The encrypted media store, keyring recovery and Index all rooms are covered
    by automated tests and independent review; long-running use on real
    accounts across devices is not yet tested.
  • The first automatic Flathub update pull request is opened by this release's
    pipeline; its Flathub test build is checked after publication.

This is a read-only mirror. It is not a release authority.

The canonical Lightning 0.10.0 release lives on GitLab:
https://gitlab.smetonis.net/Mizerd/lightning/-/releases/v0.10.0

The files attached here are byte-identical copies of the artifacts published
there. They exist so downloads do not all have to come from one small server.
Nothing about this page decides anything: it does not determine what version
exists, what is installable, or what Lightning will accept.

Verify any download against the SHA256SUMS asset, which is itself a copy of
the published one.

Lightning's in-app updater fetches its update manifest only from GitLab and
verifies an Ed25519 signature made with a key that exists nowhere near GitHub.
Every downloaded file is checked against the SHA-256 recorded in that signed
manifest before it is installed, so replacing a file here cannot cause Lightning
to install it.

Issues, source, and history: https://gitlab.smetonis.net/Mizerd/lightning