Minor release for notifications, journals, submission comments, NSFW account settings, and improved session persistence after Cloudflare verification.
- Notifications: activity and submissions tabs with authenticated image loading
- User profiles: Journals tab with paginated list and journal detail page
- Submissions: post comments and replies when signed in
- Drawer: live notification badge count
- Account: read and update FA NSFW viewing settings (password confirmation and cached preference)
- Session: merge stored cookies with WebView cookies to restore login after Cloudflare verification
Release notes on GitHub →
Release for WebView security, unified cookie handling, login/Cloudflare auto-detection, and submission UX improvements.
- Unified WebView cookie sync across login, Cloudflare verification, settings, and in-app browsing; refactored cookie utilities
- Login and Cloudflare verification pages auto-return when completion is detected; validate FA login session cookies
- WebView navigation restricted to allowed FA and Cloudflare hosts; more robust cookie header parsing
- Security: enforce HTTPS for FA URLs, path containment checks, strip sensitive headers from requests
- Submission detail: body text is selectable while preserving linkified FA URLs
- Login-required submissions: localized message with sign-in action from the detail page
Release notes on GitHub →
Release for watch/follower list avatar loading with authenticated headers.
- Watch/follower list avatars now use authenticated image request headers (referer from the profile page)
- UserAvatar: show placeholder on missing URL or load failure; remove default.gif retry loop
- UserAvatar simplified to a stateless widget
Release notes on GitHub →
Release for Cloudflare verification reliability and authenticated FA image loading.
- Cloudflare verification: require cf_clearance cookie and WebView probe before accepting verification
- Reject verification results that still contain Cloudflare challenge HTML on home, collection, and search pages
- Shared Cloudflare challenge detection across HTTP client, verification flow, and WebView image loader
- FA images: load via authenticated Dart HTTP with in-memory LRU cache instead of Image.network
- Settings cache clear now also clears FA image byte cache
- WebView image loader probe uses robots.txt for lighter checks
Release notes on GitHub →
Release for network proxy settings and an updated app icon.
- Settings: new network proxy option (host and port) for accessing FurAffinity when your network requires a proxy
- Proxy applies to browsing and sign-in; on some devices, certain in-app WebView pages may not use the in-app proxy
- Updated app icon (shown on the About page as well)
Release notes on GitHub →
Release for multi-provider translation, improved search suggestions, and the official website.
- Translation: Google Translate and Microsoft Translator; refactored translation settings for multiple providers
- Search: `@field` autocomplete; scrollable history suggestions with max height; show all history when the query is empty
- Website: official site at https://furaffinity-app.furrylab.top (deployed with each release)
Release notes on GitHub →
Release for downloads management, search history, manual update checks, and per-architecture APKs on GitHub Releases.
- Downloads page: browse, multi-select, delete local images; fullscreen viewer
- Drawer: exit app action
- Search: local keyword history with filtered suggestions
- About: manual check for updates; refactored update checker
- Releases: split APKs (`arm64-v8a`, `armeabi-v7a`, `x86_64`) plus universal APK and SHA256 files
Release notes on GitHub →
Release for watch and follower list avatars.
- User list chips on watch/follower pages now show avatars next to display names
- Fall back to the default FurAffinity avatar when the list HTML has no avatar image
- Refreshed list chip layout and styling
Release notes on GitHub →
Release for in-app update experience and default theme adjustment.
- Default theme mode is now dark instead of following system
- Update prompt now shows localized release notes from GitHub (English/Chinese based on app locale)
- Prefetch latest release metadata at startup for faster update checks
Release notes on GitHub →
Release for configuration portability, FurAffinity link routing, and authenticated image loading fixes.
- Added app configuration backup and restore via JSON file or pasted string
- Added FurAffinity link parsing for in-app navigation to users, submissions, collections, and searches
- Open external links in the browser and unsupported FA pages in an in-app WebView fallback
- Added a homepage URL jump action for opening pasted FurAffinity URLs
Release notes on GitHub →
Quality-of-life release for tag translation, profile behavior, and Android release packaging.
- Added a local tag translation dictionary with management, JSON import/export, and import from URL
- Added submission tag tools to save translations, translate selected tags, and copy translated tags
- Quote multi-word tag keywords when opening FA tag searches
- Added a GitHub project link to the About page
- Hide the watch button when viewing your own profile
- Updated Android package ID to `com.rehtt.furaffinity_app`
- Release builds now publish signed APKs with SHA256 checksum files
Release notes on GitHub →
First public Android release.
- Home feed with masonry grid, pull-to-refresh, and pagination
- Sign-in via in-app WebView or pasted session cookie (stored with `flutter_secure_storage`)
- Submission detail: info / tags / comments, fullscreen zoom, gallery swipe, download, favorites
- User profiles: home, gallery, scraps, favorites, watching, watchers
- Advanced search with FA options and inline results
- Local browsing history
- Cloudflare challenge flow for image loading
- Settings: theme, EN/ZH UI, grid columns, preview quality, image cache
- Optional OpenAI-compatible translation API
Release notes on GitHub →