Features / Improvements ✨
- Open
:membersin the same window by default (#458) - Render image previews lazily (#464)
- Support generating shell-completions using
clap_complete(#489) - Support basic sticker viewing (#502)
- Open Matrix URIs on the command line and support user mentions (#508)
- MSC4027: Display image reactions (#518)
- Improve completions (#520)
- Add config option
set_window_title(#528) - Support login via a configured password file (#558)
- Support disabling SSL verification (#565)
- Add
:mentionswindow and hopefully finally fix unreads (#579) - Support placing encryption indicator in room title instead of prompt (#581)
- Add configurable cursor shape via
settings.terminal.cursor_shape(#587) - Support media captions (#592)
- Store event cache in
~/.cache/iamb(#596) - Support manually marking rooms as unread (#603)
- Improve verifications (#605)
- Add
input_promptconfiguration option for overriding message bar prompt (#610) - Add option to show sender name in extra line (#613)
- Accessibility: Specify position of invisible/custom cursor (#614)
- Add
default_splittunable to control<C-W>fsplit direction (#620) - Send messages asynchronously using the SDK's send queue (#627)
- Allow explicitly controlling when extended keypresses are enabled (#632)
- Support running room commands in
:memberswindow and room lists (#633) - Show manually marked unread rooms in
:unreads(#637) - Add
"server"field for sorting room lists (#638) - Display user's room role in
:memberslist (#639) - Add support for SOCKS and HTTPS proxying (#640)
- Support configuring when read marker updates are triggered (#641)
- Add
default_markupfor configuring message parsing (#643) - Image Preview improvements (#653)
- Support setting per-room user display names (#654)
- Support upgrading rooms and following tombstone information (#656)
- Add support for room knocking (#658)
- Add support for updating user profile information (#662)
- Add
CursorShape::Auto(#665) - Add ignorecase setting (#669)
- Support using room aliases and DMs with
:space child set(#672) - Add a
:room accesscommand for managing join rules (#673) - Support room aliases for
:room access set restricted(#674) - Don't force user to join room on
:space child set(#675) - Allow user's to specify a default register for editing (#683)
- Support implicit read receipts (#691)
- Use a broken link callback to simplify matrix.to links (#693)
- Add
default_viato always tell homeserver how to resolve a room (#694) - Support opening location messages with :open (#695)
- Add
:inviteslist (#703) - Send read receipts instantly (#704)
- Add
:verify recoverto verify with a recovery key (#706) - Unify the the room list representation (#708)
- Show a trackbar between the last-read and first-new message (#709)
- Handle invalid
matrix.toURLs that look like mentions (#712) - Make
:room version upgradeuse++creatorfor additional creators (#714) - Support user-defined command aliases (#715)
Documentation / README updates 📚
- Add several missing options to the
iamb(5)manual page (#580) - Mention
conda-forgepackage in README (#604) - Fix: Rename
locationtoindicator_locationin example config (#635) - Document how to build size-optimized binaries in the README (#644)
- Document options for user sorting (#659)
- Fix documentation reference to
settings.users(#668) - Document
:room historycommands in iamb(1) (#671) - Clean up minor manual page issues (#713)
Bug Fixes 🐞
- Show newest edit of messages even after application restart (#445)
- Show placeholder if replied to message is not loaded and strip fallback reply (#474)
- Don't wrap messages without
formatted_bodyin middle of word (#486) - Handle ambiguous display names conforming to spec (#515)
- Search plaintext body for links to open as fallback (#573)
- Pretty-print error on application exit (#595)
- Fix replies for messages in threads (#648)
- Fix wording of client creation error (#649)
- Truncate usernames by grapheme instead of word boundaries (#651)
- Don't consider left users for username disambiguation (#655)
- Force room names to be fetched in the background when none are cached (#657)
- Fix crash from value underflow while rendering timeline (#661)
- Fix image preview position for narrow windows (#666)
- Use
SlicedProtocolto render images that are partially off-screen (#667) - Fix message bar broken display when :editor yields an empty buffer (#680)
- Use ASCII characters for encryption status indicators (#684)
- Remove double tear down of alternate screen (#687)
- Disable terminal alt screen before opening the external editor (#688)
- Respect default register setting in scrollback window (#697)
- Expand '~' and env variables in
:uploadargument (#702) - Show intermediate window instead of blocking on
:joinrequest (#711) - Update
:openand:downloadto also expand~(#716) - Ensure aliases are registered in definition order (#718)
- Ensure
gfgoes to room (#719) - Simplify implicit receipt tracking and retry failed updates (#720)
Building / Housekeeping 🧹
- Simplify room creation by using SDK helpers (#593)
- Improve logging rotation and change default level to
WARN(#594) - Fix build on rustc
1.94.0(#599) - Fix
broken-string-escapewarning when using stricter.nixparsers (#601) - chore: Update dependencies (#602)
- Bump MSRV to 1.92 (#607)
- Fix mdoc(7) warnings in docs/iamb.5 (#621)
- Update dependencies (#625)
- Flake improvements (#630)
- Add shell completions to flake output (#631)
- Update to use Rust 2024 Edition (#642)
- Update
Cargo.tomlto0.0.12-alpha.1(#645) - Workaround
cargo-generate-rpmissue with pre-release versions (#646) - Refactor sticker and image preview (#652)
- Update
Cargo.tomlto0.0.12-alpha.2(#663) - Update modalkit{,-ratatui} and ratatui{,-image} (#664)
- Cleanup imports and create prelude (#681)
- Fix
cargo docwarning (#685) - Remove
settings.image_preview.lazy_loadand always enable it (#689) - Update dependencies (#699)
Contributors 🙏
Many thanks to @azizsayfiddin, @codegax, @demaledetti, @hanzpo, @kaizoplant, @KaraZajac, @litlighilit, @maskjelly, @Neo-Oli, @Nightchicken, @pavelzw, @stevenpollack, @TayfurYldz, @TianHengZhuang, @titaniumtraveler, @VAWVAW, @xsa-dev, and @zivarah for their contributions for their release!