Changelog

v1.2.0

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 →

v1.1.9

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 →

v1.1.8

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 →

v1.1.7

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 →

v1.1.6

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 →

v1.1.5

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 →

v1.1.4

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 →

v1.1.3

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 →

v1.1.2

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 →

v1.1.1

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 →

v1.1.0

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 →

v1.0.0

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 →