Added
- Added an optional carousel layout for posts with multiple media items on Android, iOS, macOS, and Desktop. It can be selected globally or overridden per timeline; Grid remains the default.
- Added Bluesky Gallery authoring and rendering. Posts can now contain up to 10 images, direct and quoted Gallery embeds are rendered without dropping items, and images can be attached alongside a quoted post. Bluesky image uploads now support up to 2 MB and 4000 × 4000 pixels after compression.
- Added automatic link previews for Bluesky posts containing a link but no media or quoted post, including a title, description, and optional thumbnail. Preview failures fall back to a normal link without blocking publishing.
- Added server-provided X Discover topic timelines to the list of timelines that can be pinned as home tabs, with cursor-based pagination.
- Added Card and Content layouts to screenshot sharing on Android, iOS, macOS, and Desktop, alongside the existing light and dark themes.
- Added post action menus to Gallery mode. Actions are available through long press on Android and iOS, and right click on macOS and Desktop.
- Added native-style Android page transitions and predictive-back motion. Edge-swipe progress, cancellation, and completion now produce a continuous transition that respects layout direction, device corners, and light or dark appearance.
- Added double-tap refresh for the Home and Notifications tabs on iOS. Refresh is triggered only when the selected timeline is already at the top and idle, with haptic feedback and duplicate-refresh protection.
Improved
- Stabilized carousel measurement and post layout across clients. iOS now uses reusable collection cells, while Apple clients limit autoplay and player allocation to the active carousel media.
- Restored the collapsible sidebar and sidebar toggle on macOS, and added Command–Return for publishing. Desktop Ctrl–Return handling now triggers reliably on key-down and ignores unintended modifier combinations.
- The Web composer now obtains media compression limits from the selected platforms instead of maintaining a separate hard-coded table. Cross-posts use the strictest limits of all selected accounts.
Fixed
- Fixed X notifications for the normalized Timeline API and legacy device-follow data. Notification cursors, users, target posts, timestamps, icons, mentions, click targets, and blue verification are now resolved from the current response format.
- Fixed Mastodon Discover stopping after the first request. Trending statuses now paginate using limit and offset and stop only when the server returns a short page.
- Fixed Bluesky and Nostr repost activity ordering. Feeds now use the time of the repost instead of the original post’s publication time.
- Fixed Nostr profiles losing their cached handle and display name when fresh relay metadata is unavailable.
- Fixed bare domains in Bluesky posts being serialized as invalid link facets. Values such as
example.comare now normalized to an absolute HTTPS URL. - Fixed RSS video iframes on iOS and macOS being intercepted as top-level navigation and redirected to an external browser.
- Fixed incorrect Gallery tile height calculation on iOS, especially for posts containing original and translated text.
- Fixed Android home links retaining an outdated URI handler, which could cause incorrect in-app browser behavior.
- Fixed Compose profile menus inheriting customized post-action layouts and consequently hiding or rearranging expected menu actions.
Performance and Internal Changes
- Replaced the closed platform-type enum with an extensible ID-based platform registry covering metadata, capabilities, login providers, platform detection, deep links, compose behavior, and data-source registration.
- Added an app database migration from version 11 to 12 that preserves all existing account and credential fields. The cache database advances to version 46 and is rebuilt once after upgrading; account records are not removed.
- Hardened Bluesky link-card fetching with strict proxy URL validation, disabled redirects, response size and content-type checks, timeouts, and bounded thumbnail compression.
- Added regression coverage for platform registration and database migration, X notifications and topic timelines, Bluesky facets, link cards and Gallery embeds, Mastodon Discover pagination, Nostr profile fallback and repost ordering, and cache reconstruction.
- Moved build instructions into
CONTRIBUTING.md, documented the Apple and Web project structure and XcodeGen setup, and removed the obsolete.env.sample. - Updated the Gradle wrapper to
9.7.0, Compose BOM to2026.08.00, Material 3 to1.5.0-alpha26, Navigation 3 to1.2.0-alpha07, Adaptive Navigation 3 to1.3.0, Paging to3.5.1, Media3 to1.11.0, Ktor to3.5.2, Sentry to8.53.0, AndroidX WebKit to1.17.0, Firebase BoM to34.17.0, Nostr SDK KMP to0.44.8, KSP to2.3.11, XMLUtil to1.0.2, Compose lint checks to1.5.4, and the Versions plugin to0.61.0.
Full Changelog: 1.7.2...1.7.3