1.5.0
Added
- Added Deck Mode, a multi-column timeline layout for Android, iOS, and Desktop.
- Reworked the home timeline/tab system:
- New persistent
TimelineTabItemV2model. - Pinnable built-in timelines, lists, feeds, Misskey antennas/channels, and RSS sources.
- Timeline groups and a system mixed home timeline.
- Mixed timeline merge policies: time, time per page, and staggered.
- New persistent
- Added richer tab customization:
- Rename tabs, change icons, enable/disable tabs.
- Configure filters per timeline.
- Override appearance per timeline, including layout, display, media, and avatar style.
- Added timeline filters for replies, reposts, quotes, text-only posts, images, and videos.
- Added regex support for local keyword filters.
- Added appearance options to hide bottom bar labels and enable Deck Mode.
- Added custom extra JSON body support for OpenAI-compatible AI configuration.
- Added TLDR/summary support in the iOS UIKit timeline.
- Added Discover timeline support for pinnable tabs and account menu access in Discover.
- Added RSS improvements, including
media:contentimage parsing and automatic cleanup of pinned RSS tabs when a source is deleted. - Added a support page.
- Added support for more Misskey notification types.
Improved
- Improved iOS timeline performance with optimized collection view snapshots, stable placeholders, height caching, and better gallery/waterfall layout updates.
- Improved iOS translation and summary rendering by moving measurement to UIKit-native views.
- Improved mixed timeline deduplication when the same post appears from multiple sources.
- Improved mixed timeline sorting with stable sort IDs.
- Improved reply-chain collapsing to avoid crashes from cyclic or deeply nested chains.
- Improved Bluesky thread rendering by using the newer thread API.
- Improved settings import/export:
- New exports include appearance bags and tab settings v2.
- Imports remain compatible with legacy appearance and tab settings formats.
- Migrated appearance settings to a key/value patch model, enabling global and per-timeline overrides.
- Improved image sharing:
- Android now captures share images through an offscreen Compose view.
- Fixed long image sharing.
- Disabled video autoplay in share previews.
- Sanitized generated file names.
- Reduced capture failures caused by hardware bitmaps.
- Improved RSS favicon lookup and HTML image extraction.
- Adjusted compose account persistence so reply/quote posts no longer overwrite the last-used account.
- Updated localization and wording across supported languages.
Fixed
- Fixed timeline filters not applying correctly to reposts.
- Fixed missing Bluesky quote content.
- Fixed recursive cached Bluesky reply-chain resolution issues.
- Fixed Bluesky image share crashes.
- Fixed Misskey timeline prepend behavior.
- Fixed Mastodon media upload.
- Fixed iOS Mastodon reply cursor ordering.
- Fixed X/XQT user media pagination for
TweetWithVisibilityResults. - Fixed X profile location rendering.
- Fixed RSS fetching issues and improved iOS RSS detail loading.
- Fixed iOS video slider sync.
- Fixed iOS screen-always-on behavior.
- Fixed iOS group edits not appearing in lists.
- Fixed iOS timeline paging placeholders.
- Fixed Desktop build issues.
- Marked Wafrn as unsupported to avoid incorrect Mastodon detection.
- Fixed issues when removing the last item.
- Fixed compose dialog outside-click dismissal behavior.
Technical
- Upgraded app database schema to version 10.
- Added
is_regexto keyword filters. - Added migration helpers for appearance settings and tab settings.
- Added protobuf/JSON helpers for settings serialization.
- Added tests for timeline filters, tab migration, appearance patches, import/export, Misskey notifications, NodeInfo, AI request bodies, and related timeline behavior.
- Upgraded Gradle Wrapper to 9.5.1.
- Updated Kotlin, Compose, AndroidX, Room, Paging, Media3, KSP, Firebase, Sentry, Nucleus, and other dependencies.