Lightning 0.10.4
A memory, polish and bug-fix release. Lightning uses much less memory, the
doubled room list headers are gone, and a long list of reports from the last
release is fixed. Nothing here is experimental.
Memory, speed and disk
- Much lower memory use. On a test account with about 490 rooms, a restored
session starts at about 610 MB of resident memory, down from about 1010 MB, and
after 50 room switches it sits at about 800 MB, down from about 1450 MB. Rooms, menus
and panels are built when they are needed instead of all at start-up. - Memory is given back after a long scroll. When Lightning has been idle for
a minute it returns the memory a long scroll left free, on a background
thread, and never during a call. - Quicker start-up. A restored session's room list settles in about 5 s,
down from about 8.5 s, on the same test rig. - Video in calls stays cheap while the memory settings above are in force.
- Less work on the interface thread. Visiting a room no longer forces a disk
sync on the interface thread for bridge labels.
Rooms, Spaces and the room list
- The room list no longer draws doubled section headers ("Conversations",
"Rooms", "Favourites", "Low priority"). - The highlight on a room row holds across its avatar and title, so it no longer
flickers as you move the mouse. - The filter chips keep their full names and scroll in a narrow sidebar, with a
cue at each edge that has more. - Switching a filter goes back to the top of the list.
- Unread and mention markers are thin bars at the edge of the list, so they no
longer cover rows, badges or headers. - "Mark as read" appears on rooms that have unread messages, and is not offered
on rooms that are already read. Menu icons are distinct. - Each account reopens the room you last had open after a restart.
- Joining a Space from a room's "Part of" banner keeps you in the room, selects
the Space and tells you that it joined. A failed join says why on the banner. - Space settings gains Leave Space, and greyed controls say why they are greyed.
- Leaving a room or Space as its only administrator warns you first.
- Create a Space stays reachable when the Spaces outgrow the rail.
- Bulk actions report one short summary, with detail only for failures.
Messages and the composer
- Bigger album art. An audio file with a cover shows it as a large tile in
one composed card. Click it to view it full size; playback carries on. - The composer's expand button only appears for a multi-line message, sits in
the corner and no longer moves your text, and a sent message collapses the box. - Sending a message while scrolled up returns you to the newest message.
- Switching between Markdown and rich text keeps your line breaks, and text that
rich text cannot hold opens as you wrote it instead of losing any of it. - Editing a simply formatted message keeps its bold, italic, strikethrough,
inline code and links. Saving an edit with no change sends nothing. - Escape no longer leaves the room you are reading.
- The Markdown/rich text switch stays in one place, and turning a format off
with the caret next to it no longer adds a second pair of markers. - The gap between a message and its reactions in the Bubbles layout is closed,
and read receipts share the reactions' line. - A tall image in the viewer no longer runs under its toolbars; the thread panel
no longer claims a root message is unavailable while it is loading. - The attachment image editor keeps a JPEG a JPEG.
Calls
- Echo cancellation can no longer stop your microphone. If it cannot start, your
microphone carries on without it and Lightning tells you. - A call that cannot be checked says why and offers Try again.
Settings and appearance
- At narrow widths Settings folds to an icon rail, labels wrap rather than cut
off, and tooltips stay in the window. - The About page's picture sits behind the page instead of over it.
- Settings search matches English terms in every language.
- Jump links land on their section's heading, the layout preview keeps one
height, sliders line up, and unchecked boxes are visible in Moss Light. - A failed sign-in shows its error once.
- Long tooltips wrap inside the window.
- Log lines are coloured by level in a terminal.
Fixes
- Under the software renderer (no GPU), banners, fallback avatars and the room
picture preview are drawn instead of left blank. - The banner editor shows the current banner when the page opens.
- Qt 5 search paths in the session environment are ignored.
- Nix source builds default to thin link-time optimisation, which takes minutes
rather than hours (withFullLtokeeps the old behaviour). - A typing indicator nobody refreshes expires.
- Translations were resynced; new strings are in English until translated.
Known limits and not yet tested
- "Media from someone here cannot be decrypted" in a call has no automatic
recovery. When a peer's media key cannot be decrypted, that person stays
silent. The cause is not known yet. Leaving and rejoining the call may help. - The audio and subtitle track you pick in a video's menu does not stick.
- Hardware encoding stays opt-in (
LIGHTNING_SHARE_ENCODER=hardware). Only
use it when everyone watching runs 0.10.3 or newer. - macOS calls are NOT TESTED.
- Editing a message with mentions, custom emoji, lists or spoilers opens it as
plain text; changing the text loses that formatting. An unchanged save is safe. - A multi-line draft restored in rich text joins its lines, and some typed
markup in a restored draft can come back formatted. The words are kept. - A long Rich text and Markdown round trip can leave the composer tall until
the next send, and the call banner's Try again can clip in a very small window. - Scrolling through images used 13-20% more CPU than 0.10.3 in our software-
rendered test, and one sample had a longer worst frame. Room opens, menus and
scrolling frame rates were otherwise the same or better. - Memory after much scrolling stays well above idle: every loaded message is a
live row. Memory was measured on a software-rendered test rig; a real GPU, a
real large account and the packaged builds are NOT TESTED. - Calls in this release were checked between two Lightning instances on a local
server. Windows, Element interoperability and real cameras are NOT TESTED
live on this build. A real KDE Wayland session without EGL is NOT TESTED. - Windows packages are unsigned.
Lightning 0.10.4 is published here on GitHub. The release assets are
built and validated on clean systems by the project's packaging pipeline and
uploaded unchanged.
Verify any download against the SHA256SUMS asset.
Lightning's in-app updater reads a signed update manifest (published as the
update-latest release on this repository) and verifies an Ed25519 signature
made with a key that is not stored on 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://github.com/Mizerd/lightning