Releases: DimensionDev/Flare
Release list
1.7.1
What's Changed
This release adds screenshot-based cross-posting, comments for X and FANBOX articles, an Open in Flare Safari action, new timeline appearance controls, and a substantially improved macOS workflow. It also improves Mastodon server compatibility and fixes important issues in media viewing, navigation, sharing, and post actions.
Added
- Added screenshot-based cross-posting on Android, iOS, macOS, and Desktop. Flare renders the source post as an image, attaches it to a new post, includes the original link, and leaves the cursor ready for additional commentary.
- Added paginated comments to X and FANBOX article detail screens across the native apps, including loading, retry, and pagination states. FANBOX comment replies retain their nested presentation.
- Added an “Open in Flare” Safari action extension on iOS for sending the current HTTP or HTTPS page directly to Flare.
- Added global and per-timeline appearance settings to limit media grids to nine items and keep action buttons with counts at a consistent width.
- Added pull-to-refresh to VVO post details on Android and iOS, refreshing the currently selected Comments or Reposts section.
- Added automatic iOS media cache maintenance. The image cache is limited to 250 MiB with a 14-day expiration, while the video cache is checked daily and cleared after reaching 512 MiB.
Improved
- Expanded the macOS app menus with quick access to new posts, home timelines, notification accounts, account-specific sections, Discover, local history, RSS management, and Agent.
- Reworked macOS post and article sharing into contextual menus with cross-posting, link sharing, screenshot sharing, FxEmbed and FixVX links, copy link, and open-in-browser actions.
- Added post action context menus on macOS and improved compose windows so they resize as content warnings, media, polls, and referenced posts are added or removed.
- Added an explicit Edit button for AI configuration fields on macOS.
- Improved Android home navigation: accounts with more than ten home tabs now use a compact dropdown instead of an oversized scrolling tab row.
- Mastodon composers now use each instance’s advertised character limit. Flare checks both the v2 and v1 instance APIs, caches the result per server, falls back to 500 characters, and uses the strictest limit when posting to multiple accounts.
- Improved link-opening defaults on iOS with clearer account menus and canonical handles.
- Changed “Save as default” in the link account picker to an explicit opt-in, preventing an account or browser choice from being saved unintentionally.
- Updated Pixiv terminology and presentation from bookmarks to favourites, including heart icons, action colors, private favourites, and timeline labels.
- Standardized compose input behavior across Android, iOS, and Web with text keyboard hints and sentence capitalization for posts, content warnings, alt text, and poll options.
- Updated the iOS media download and preparation notification icon.
Fixed
- Fixed Mastodon mention notification filtering and serialized notification types using the lowercase values expected by Mastodon-compatible servers.
- Fixed Pleroma compatibility by retaining the supported exclusion-based notification query format.
- Fixed Misskey reaction totals being replaced with an incorrect count immediately after reacting.
- Fixed Misskey favourite actions when the local state was stale by checking the server state before creating or deleting a favourite.
- Updated X API mutation identifiers for creating posts, reposting, and removing reposts, and added handling for newer preview and unavailable response variants.
- Fixed VVO endpoints returning HTML page being treated as JSON failures instead of empty results.
- Fixed Android media viewer orientation handling so the original screen orientation is preserved and restored correctly.
- Fixed freezes caused by sheet and secondary-tab navigation on iOS 17.
- Fixed iOS home tab identity so tab selection and account-specific icons remain correct when tabs are reordered or updated.
- Fixed iOS shared post images using the wrong appearance or a transparent background; exported images now respect the selected theme and use an opaque system background.
- Fixed unchanged account updates repeatedly re-emitting composer account-selection state.
Performance and Internal Changes
- Regenerated the X API bindings for the current schema, including newer tweet, user, community, notification, media, and content-disclosure payloads.
- Added regression coverage for article comments, FANBOX comment pagination, Mastodon character limits and notification queries, Misskey reactions, Pixiv favourites, VVO empty responses, X mutation identifiers, appearance overrides, and composer account selection.
- Updated Material 3 to
1.5.0-alpha24, MaterialKolor to5.0.0, Firebase BoM to34.16.0, Sentry to8.48.0, KSP to2.3.10, XMLUtil to1.0.1, and Compose Lint checks to1.5.3.
Full Changelog: 1.7.0...1.7.1
1.7.0
1.7.0
This release adds FANBOX support, a native macOS app, a generic article detail experience, and major improvements to media saving, deep links, and expired-login recovery.
Added
- Added FANBOX platform support, including login, home timeline, discovery, creator profiles, article details, search, following creators, and supported creator timelines.
- Added FANBOX article rendering with cover images, text blocks, images, videos, files, embeds, links, and subscription-gated content notices.
- Added a native macOS app with timelines, sidebar navigation, compose, drafts, media viewer, direct messages, Agent, RSS, settings, notifications, and relogin support.
- Added a generic article detail screen, replacing the previous X/Twitter-specific article screen and allowing other platforms such as FANBOX and RSS to reuse it.
- Added configurable media save locations: default Downloads folder, custom folder, or ask every time.
- Added long-press media actions in timelines: download, download all, share image, and copy link.
- Added targeted relogin for expired sessions, allowing users to reauthenticate a specific expired account.
- Added per-site link opening defaults: ask every time, open in browser, or open with a selected account.
Improved
- Reworked the media viewer with raw media support, article media support, page slider, save all, image sharing, copy link, and better large-screen and landscape layouts.
- Improved media downloads with cache reuse, custom request headers, safer filenames, article file downloads, and better failure cleanup.
- Improved Pixiv timelines by adjusting Home and Discover sources, adding private following and private bookmark timelines, and fixing original image selection for single-image posts.
- Improved Pixiv artwork details with better orientation handling, metadata, author display, content, bookmark state, and related content.
- Improved AI Agent with paged chat history, conversation deletion, loading placeholders, and hidden entry points when no model is configured.
- Improved Bluesky authentication and proxy handling, including token refresh, DPoP nonce handling, and Tranquil permission repair.
- Improved Web timeline rendering, login links, build behavior, and favicon handling.
- Reworked the Apple app structure so iOS and macOS share more SwiftUI components and resources.
Fixed
- Fixed expired-login handling across multiple platforms, including Pixiv, Bluesky, XQT, and VVO.
- Fixed VVO cookie refresh and login persistence issues, including better handling of expired cookies.
- Fixed RSS detail, rich text, link, and favicon behavior.
- Fixed several Mastodon, Misskey, XQT, and Nostr rendering, login, report, and detail-screen issues.
- Fixed timeline rendering consistency around reposts, quotes, parent posts, and post body caching.
- Fixed edge cases in media download success messages, save destinations, and sharing behavior.
Performance and Internal Changes
- Reworked timeline caching to separate post content from presentation references, reducing duplicated nested data and improving refresh behavior.
- Optimized database paging cache invalidation so fewer timeline pages need to be reloaded.
- Reduced memory and logging overhead by only enabling detailed network logs in debug or explicit logging modes.
- Enabled Android release resource shrinking to reduce app size.
- Updated major dependencies including Kotlin, Gradle, Ktor, Room, SQLite, Compose, Sentry, and Firebase.
- Updated CI, translations, README, and Apple project structure.
Full Changelog: 1.6.0...1.7.0
1.6.0
Changes since 1.5.1
Highlights
-
Added the initial Flare AI Agent experience.
- Supports general chat, post insight, and profile insight.
- Can use app context from timelines, search, notifications, lists, RSS subscriptions, and local cache.
- Supports conversation history and optional tool actions such as composing posts, post actions, relationship actions, and subscription source management.
- Requires an OpenAI-compatible endpoint/model configuration and can be enabled from AI settings.
-
Added Pixiv support.
- Supports Pixiv OAuth login.
- Added home, discover, following, bookmarks, and ranking timelines.
- Added illustration/manga profile tabs, artwork detail, comments, recommendations, search, trending tags, and bookmark/unbookmark actions.
- Added Pixiv artwork/user deep link handling.
-
Added the initial Web client.
- Built with SvelteKit and a Kotlin/Wasm presenter bridge.
- Includes core pages for home timeline, discover, search, notifications, profile, status detail, compose, subscriptions, tabs, login, and settings.
- Added Web CI coverage for Wasm tests, codegen tests, Svelte checks, and production build.
New Features
-
Added a gallery/detail experience for media-focused platforms.
- Supports large-screen and compact layouts.
- Shows artwork details, comments, recommendations, and available actions.
-
Added customizable post action layout.
- Post actions can now be arranged between the button row, the “More” menu, or hidden.
- Added a preview and reorder UI in appearance settings.
-
Added an option to show content behind content warnings by default.
-
Added multi-account notification improvements.
- Notifications can be viewed across accounts with unread badges.
- Added account switching and notification type filtering.
-
Added AI entry points across major screens, including timelines, search, local cache search, post detail, and profile pages.
Improvements
-
Reworked the login architecture around platform providers and login method handlers.
- Improves support for OAuth, password login, credential import, QR connect, external signer, and web-cookie based login flows.
- Adds shared callback handling for Flare and Pixiv login flows.
-
Improved RSS/subscription timeline loading.
- RSS timelines now use a unified remote mediator.
- Feed title, icon, display mode, item language, and item publish time are handled more consistently.
- Added charset decoding support across platforms, including GBK/GB18030 and Web
TextDecoder.
-
Improved Android video playback and downloading.
- Added a shared Media3 cache.
- Media requests now support custom headers.
- Downloads can reuse cached media and save files to public Downloads.
- Improved MIME/type handling for common video, audio, and GIF formats.
-
Improved profile pages.
- Blocked profiles now hide profile content until explicitly shown.
- Profile tabs now support platform-specific timeline/gallery display types.
- Profile media, avatar, and banner handling were generalized for more platforms.
-
Improved Bluesky behavior.
- Fixed status detail thread rendering.
- Improved notification rendering/grouping.
- Improved username/handle handling during login.
- Added more coverage around Bluesky thread and notification rendering.
Fixes
-
Fixed timeline cache and paging edge cases.
- Empty refreshes now clear stale cached entries.
- Prepend pagination preserves ordering more reliably.
- Reply-chain collapsing avoids duplicated or incorrectly ordered context.
- Detail timelines can preserve linear reply chains when needed.
-
Fixed RSS item timestamps so publication dates are used correctly.
-
Improved draft media storage across platforms, including Wasm support.
Internal / Build
- Split social platform implementations into dedicated modules, including Mastodon, Misskey, Bluesky, Nostr, VVO, XQT, Pixiv, and subscriptions.
- Added shared platform specs, login providers, and data source wiring for better Android, desktop, iOS, and Web reuse.
- Added Web-specific presenter annotations/code generation.
- Added and updated CI workflows, including Web and PR quality checks.
- Updated core dependencies across Compose, Kotlin/KSP-related tooling, Koin, Coil, SQLite, Firebase, Sentry, and other project libraries.
1.5.1
Changelog
1.5.1
Added
- Added iOS app icon customization with multiple alternate icons: Black, Blue, Cyan, Light Blue, Orange, Red, Teal, White, Yellow, and Default.
- Added an App Icon entry in iOS Settings with icon previews, selected state, pending state, and error handling.
- Rebuilt the iOS About screen as a native SwiftUI page with the current app icon, version, source code, Telegram, Discord, Crowdin, and privacy policy links.
- Added broader Bluesky deep link support for
bsky.app/profile/...andbsky.app/profile/.../post/..., including accounts whose PDS is notbsky.social. - Added a distinct “Request follow” state for locked profiles, separate from Follow, Requested, Following, and Blocked.
Improved
- Rebuilt the Android About screen with native Compose UI and added project description plus external links.
- Updated the iOS splash screen to use the current app icon preview and system background color.
- Improved Android share image capture: normal posts now capture the preview layer directly, while very tall content uses offscreen rendering.
- Improved profile media grids with stable item keys and shared paging UI for loading, append, error, and end states.
- Reduced duplicated choices in the tab/group icon picker by using a curated icon list.
- Adjusted RSS detail backgrounds and top bar colors on Android and Desktop for better surface consistency.
- Improved iOS rich text font rendering, including dynamic type, bold accessibility text, monospace/code text, and italic combinations.
Fixed
- Fixed an Android bottom sheet crash caused by duplicate overlay scene creation during recomposition.
- Fixed Android deep links and external opens not updating the Activity intent on new intents.
- Fixed a Shortcut Compose Activity crash related to Compose media query integration.
- Fixed repeated visible posts appearing again as parents in Bluesky thread details.
- Fixed detail page parent filtering so the current post and older parents are not repeated in reply chains.
- Fixed Bluesky notification grouping so likes/reposts for different posts are no longer merged together.
- Fixed Mastodon/GoToSocial pagination cursor parsing by supporting non-hex cursor values from
Linkheaders. - Fixed Mastodon relationship mapping for fields such as
blocked_byandrequested_by. - Fixed optimistic follow request handling for locked accounts, including pending state, rollback on failure, and clearing pending state on unfollow.
- Fixed timeline reply filtering so self-thread posts are not incorrectly treated as replies to others.
- Fixed VVO comment/like notification paging cache keys.
- Fixed VVO image preview sizing by using
mw600previews instead oforj360. - Updated several repost/reblog notification labels to use more accurate generic wording.
Maintenance
- Updated F-Droid metadata to
versionName=1.5.1andversionCode=1510. - Added and updated tests for Bluesky deep links, Bluesky notification grouping, Bluesky thread rendering, Mastodon pagination, relationship state handling, and detail parent filtering.
- Updated localization resources for About links, follow request states, and notification text.
1.5.0
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.
1.4.5
1.4.4
1.4.4
Highlights
- Added new timeline display modes: Card, Plain, and Gallery.
- Added a Gallery timeline layout for browsing media-heavy feeds.
- Improved RSS reading with richer article details, better sharing, translation, summaries, and configurable display modes.
- Reorganized Appearance settings into clearer Theme, Layout, Display, and Media sections.
- Reworked large parts of the iOS timeline with UIKit for better scrolling performance and media handling.
New
- Added RSS source display modes: full content, description only, and open in browser.
- Added RSS article metadata display, including site name, author, and publish time.
- Added TLDR and translation actions to RSS article pages.
- Added desktop RSS detail reading support.
- Added search history suggestions on iOS.
- Added OpenAI-compatible reasoning effort settings: default, low, medium, and high.
- Added en-JP / en-JA language resources and updated translations.
Improvements
- Improved iOS timeline rendering with native collection views, dynamic height caching, empty/error states, multi-column layouts, and video autoplay support.
- Improved iOS profile timelines and tab switching.
- Improved Android and Compose timeline layout, media presentation, quoted posts, and status card styling.
- Improved navigation with expandable secondary tab groups and reduced secondary tab loading overhead.
- Improved RSS rich text rendering for images, links, headings, blockquotes, and lists.
- Improved RSS article layout with constrained content width for better readability.
- Improved translation handling, including RTL detection and translated language metadata.
- Improved compose account/user loading to reduce repeated work.
- Updated Kotlin, Android Gradle Plugin, Compose, Koin, Firebase, Sentry, Ktor, Nucleus, and other dependencies.
- Moved shared Gradle configuration into build logic conventions.
Fixes
- Fixed RSS matching order.
- Fixed link opening and Custom Tabs error handling.
- Fixed iOS URL and optional handling crash risks.
- Fixed Bluesky thread API handling.
- Fixed duplicate posts in multi-account timelines by using status IDs for timeline references.
- Fixed AI model input visibility after model list loading succeeds.
- Fixed video playback button and autoplay behavior.
- Fixed scrolling issues when new timeline items are inserted.
- Fixed iOS status media index handling.
- Fixed UIKit rich text line height, caching, and runtime warnings.
- Fixed user list post height calculation.
- Fixed Android build and lint issues.
- Fixed several translation, RTL text, and rich text rendering edge cases.
Internal
- Removed the internal server module and related shared API module.
- Replaced the in-repository readability module with an external readability dependency.
- Refactored build configuration into the new
build-logicmodule.
1.4.3
What's Changed
New
- Added support for X/Twitter Articles, including timeline preview cards and dedicated article detail screens on Android, Desktop, and iOS.
- Added a native Kotlin Multiplatform Readability module for RSS/article extraction, replacing the previous JavaScript/platform scraper path.
- Added AI translation testing in settings so users can verify the current AI translation setup with a rich-text sample.
- Added manual OpenAI model input.
- Added auto-translation excluded languages, allowing selected source languages to be skipped during automatic pre-translation.
Improvements
- Reworked AI translation to use placeholder-based templates, improving preservation of links, mentions, hashtags, rich-text structure, and locked content.
- Improved pre-translation session handling so provider changes cancel stale jobs and clean up in-flight translation state.
- Updated X/Twitter API feature flags and field toggles to support article rich content.
- Improved VVO rich-text mapping for linked images and internal status links.
- Improved iOS timeline performance with a new collection-view based timeline renderer and more targeted cell refreshes.
Fixes
- Fixed RSS charset handling, including feeds that declare GBK or other encodings in XML/HTML metadata.
- Fixed desktop link-click behavior for rich text containing inline images.
- Fixed desktop WebView login session handling by using incognito web settings.
- Fixed Android media picker compatibility by switching to the document picker for images and videos.
- Fixed iOS video seek behavior so playback state is restored correctly after dragging the slider.
- Fixed several iOS notification timeline selection, filtering, refresh, and unnecessary re-render issues.
- Improved Mastodon token response compatibility with servers that omit or vary optional fields.
Dependencies
- Updated Ktor, Nucleus, SKIE, Zoomable, RichText Material3, and ML Kit GenAI Prompt dependencies.
Full Changelog: 1.4.2...1.4.3
1.4.2
What's Changed
- This is an emergency fix release that includes an urgent fix for the timeline crash issue.
Full Changelog: 1.4.1...1.4.2
1.4.1
What's New
Highlights
- Added automatic translation with smarter caching and support for multiple translation providers.
- RSS article translation now supports both titles and rich content.
- Introduced a dedicated translation settings screen for easier configuration.
- Nostr login now supports QR sign-in, with Amber signer integration on Android.
- Subscriptions now support Mastodon public, local, and trending timelines.
- Improved settings, storage, and account management across Android, iOS, and desktop.
Improvements
- Refined translation display and retry behavior in timelines and detail views.
- Improved Nostr account handling for signer-based and read-only usage.
- Enhanced RSS source detection and subscription management.
- Updated UI and localization resources across all platforms.