Repository navigation
Releases
Booru 7.0
Booru 7.0
New
- Offline posts: download 100–500 posts from the current feed with your filters and browse them without internet. Downloads continue in the background with a progress notification, and new downloads skip posts you already saved.
- Statistics: a full-screen page in Settings with Overview, Interests and Activity tabs for a day, a week, a month or all time. It shows your favorite characters, artists and series, a tag cloud, activity charts and the content mix, built from favorites and your local history of views, downloads and searches.
- Real tag categories: characters, artists and series are looked up on Danbooru and cached on the device, so statistics, recommendations and tag groups in posts use real categories instead of guesses.
- Not interested: hide a post from the post menu. The viewer moves to the next post, the same picture from other sources is hidden too, and its characters, series and artists show up less in recommendations.
- Popular sort: Score without a search query shows fresh posts with a high score instead of the same all-time top.
- AI detection by file: the No AI filter also checks image metadata for Stable Diffusion, NovelAI, ComfyUI and InvokeAI parameters and C2PA/IPTC AI markers.
- No furry filter.
- Auto image quality: originals on Wi-Fi; lighter images and no video preloading on mobile data.
- Clear cache on launch: choose whether the browsing cache is kept between launches.
- Predictive back in the post sheet, the fullscreen viewer and statistics.
- Android 10 and 11 are supported again.
- Monochrome icon for themed icons.
Improved
- Recommendations:
- learn from opened posts, downloads and wallpapers, and interests fade over three weeks;
- favorites and recent interests weigh equally;
- posts you favorited or viewed in the last 3 days are skipped;
- refreshing brings new posts instead of repeating the ones on screen;
- the app opens on recommendations and refreshes the feed after 5 minutes away.
- Post viewer:
- images fill the viewer edge to edge with rounded corners;
- smoother swipes: a page turns after 20% of the width and settles wi
- post details and video playback switch once the page stops;
- the viewer keeps its posts when the feed behind it changes;
- fullscreen hides the system bars.
- Sorting and filters:
- Score and Random work on Realbooru, Random works on Safebooru;
- a sort typed in the search box is respected;
- simple blacklist tags are excluded on the site side, so pages are fuller;
- sort order and content type are remembered.
- Realbooru: sharper video covers and correct original images. The rating filter is hidden because Realbooru has no ratings.
- Network errors: offline, blocked and unreachable sources are repoblocked by Cloudflare are skipped for 15 minutes. TBIB is off by defaultwhile it blocks requests.
- Security: API keys are encrypted with an Android Keystore key and migrated automatically. The app locks before showing any content.
- Saving posts uses the favorite or offline copy when there is no network.
- Tablets: a floating tab toolbar replaces the side rail, with mores.
- Motion: tabs switch with a short fade, posts shrink and fade at the grid edges, and all sheets have Material 3 Expressive headers.
- Theme: no flash of the default theme on launch, and every palette colors all surfaces consistently.
- Phones: the app stays in portrait orientation.
- Under the hood: image loading moved to Coil 3, and all libraries are updated.
Fixed
- Score sorting on Gelbooru was ignored when a tag was combined with a
- Konachan returned an error when several filters were on, and explicit posts and 18+ only mode now work there.
- Tags with qualifiers like
_(utau)or HTML entities were corrupted. - Refreshing after a failed load could break paging.
- Removing the active custom source left its posts in the feed.
- Cancelling an update download could leave it stuck in the downloading state.
- Undoing a favorite removal now keeps its original date and saved file
Booru 6.1
Booru 6.1
New
- Double-tap to unlike: double-tapping a liked post in the grid removes it from favorites, with a broken-heart animation.
- API key check: Rule34 and Gelbooru keys are validated as you type (numeric User ID, key length, no spaces), and saved keys can be removed in one tap.
- Website: a link to booru.weebio.ru in Settings → Data & About.
Improved
- Post details:
- lighter sheets and a connected action row;
- the folder button springs in and out with the favorite toggle, and the heart pops on tap;
- tags expand and collapse smoothly;
- scrolling stops crisply instead of drifting.
- Searching a tag from a post keeps the current source instead of switching to the post's source.
- Material 3 Expressive pass:
- redesigned API key, custom source, new collection and folder picker sheets;
- connected groups for favorites folders, blacklist, compact filters and clear history;
- language and feed source pickers are grids;
- tag colors follow the selected palette.
- Confirmations: destructive actions use a red button with a Confirm step, and resetting recommendation memory now asks for confirmation.
- Fewer snackbars: routine actions no longer show success messages.
- Text sheets: the keyboard closes first, then the sheet slides away without jumping.
- Accessibility: larger tap targets for removing blacklist tags and folders.
- Translations: all six languages are complete, including palette names, tag categories and API fields.
Fixed
- The incognito button no longer shifts when search is opened or closed.
- Double-tap on a zoomed image in post details now zooms back out.
Booru 6.0
Booru 6.0
New
- Folders in favorites: create folders, add posts to them from the post screen, and swipe between folders.
- Double-tap to like: double-tap a post in the grid to add it to favorites, with a heart animation.
- Pull-to-refresh: pull down to refresh the feed, or tap the current tab again.
- Grid zoom: pinch the grid to switch between one, two and three columns.
- Tag categories: search suggestions show artist, character, copyright, general and meta tags, with post counts.
- Recommendation mix: choose Newest, Balanced or For you, or set the exact ratio with a slider.
- Feed sources: each built-in source can be turned off in Settings.
- Incognito mode: pauses search history and recommendation learning.
- Biometric lock: requires authentication when you return to the app, with a configurable timeout.
- Tablets and foldables: a navigation rail replaces the bottom bar, and the number of grid columns adapts to the screen.
- Graphite palette: a new monochrome palette, eight palettes in total.
- Instant video seeking: videos download in parallel chunks, so seeking to an already loaded part starts immediately.
Improved
- Material 3 Expressive redesign:
- expressive motion, shape morphing on press, connected button groups and segmented lists;
- a flat navigation bar;
- snackbars instead of toasts.
- Explore: the search bar, source picker and filters form one connected group. The source picker is a compact grid.
- Filters: a compact sheet with two tabs and connected option groups. Favorites filters apply when you tap Done.
- Post details:
- one action row: Download, Favorite, Folder, More;
- score and resolution tiles;
- share and wallpaper moved to the More menu;
- redesigned tag action, wallpaper and folder sheets.
- Settings:
- redesigned theme picker, palette grid with live preview;
- redesigned blacklist and search history.
- Update sheets: redesigned, with version chips and a wavy progress indicator.
- Recommendations:
- each tag is paged separately, so results keep changing;
- tags shared by most favorites carry less weight;
- recommended posts are mixed with random ones.
- Aggregated feed:
- sources alternate evenly instead of one dominating;
- 18+ only mode pulls from more sources;
- Rule34 and Gelbooru are skipped until an API key is set.
- Search:
- autocomplete follows the cursor, supports the
-exclusion prefix and caches results; - Konachan autocomplete added, and Moebooru suggestions are sorted by post count.
- autocomplete follows the cursor, supports the
- Danbooru sources: respect the free tag limit, map the sensitive rating, and handle XML responses and empty fields.
- Video:
- the video cache grows from 100 MB to 512 MB;
- seeking snaps to the nearest keyframe;
- a playback error now shows a retry button.
- Fullscreen viewer: faster double-tap zoom, and a single tap works while zoomed.
- Images: thumbnails are prefetched, the grid shows skeleton loading, and a broken image can be tapped to retry.
Fixed
- Favorites storage:
- offline favorites media was deleted on every launch;
- adding a favorite could be lost when the media download failed.
- Crash: the grid crashed on duplicate posts.
- Feed:
- a slow or failing source could empty the whole feed;
- load more could retry endlessly on pages emptied by filters.
- Blacklist: wildcards in the middle of a tag pattern did not match.
- Video: players on off-screen pages kept playing.
- Background tasks: downloads and wallpaper setting stopped when the viewer was closed.
- Updater:
- the APK signature check failed on Android 12;
- the update sheet could be dismissed during a download.
- Corrupted settings: corrupted DataStore or encrypted storage could break the app. API keys are now excluded from backups.
Removed
- Xbooru source.
Under the hood
- Toolchain:
- Kotlin 2.0.21 → 2.4.21;
- AGP 8.7.3 → 9.4.1 with built-in Kotlin;
- KSP 2.3.12, Gradle 9.7.0, JDK 21.
- Libraries: Compose BOM 2025.05 → 2026.09, Material 3 1.5.0-beta01, Room 2.6.1 → 2.7.2. Target SDK 37.
- Network: all network calls can be cancelled, so per-source timeouts work.
Booru 5.3
Booru 5.3
What's New & Improvements
Custom Sources & Architecture
- Stable ID Identity: Custom sources now use persistent UUIDs as their sole runtime identifier. Display names can be freely renamed without breaking saved preferences, credentials, active source routing, or history.
- Display Name Collision Protection: Multiple custom sources with identical or overlapping names are fully isolated and routed by ID without conflicts.
- Universal Tag Navigation: Clicking tags (searchTag) from custom sources now correctly retains the source context through pagination, post viewing, tag browsing, and back navigation.
- Strict HTTPS Validation: Custom source URL validation preserves public HTTPS security requirements and rejects non-FQDN or insecure endpoints.
AI Content Filtering
- Unified Single Source of Truth: All AI filtering logic across repository queries, post parsing, and local feed filtering is now centralized in AiFilter.
- Expanded AI Tag Recognition: Added comprehensive exact and compound detection for ai_generated, novelai, stable_diffusion, midjourney, dall-e, synthetic_media, ai_upscale, and deepfake.
- False-Positive Guard: Implemented strict delimiter and boundary checks so natural words containing "ai" (such as maid, rain, train, chair, afraid, photosynthesis) are never mistakenly flagged.
Media Viewer & 120Hz Animations
- Long Screenshot & Comic Strip Mode: Refined comic viewing mode to trigger exclusively for true long screenshots and multi-panel webtoon strips (aspect ratio >= 3.0). Standard large photos, portrait pin-ups, and wallpapers remain in standard fit mode with pinch-to-zoom and pan.
- Video Swiping Auto-play Fix: Fixed an issue where swiping to another video in the pager could leave it paused due to background pre-rendering states. The player now reliably starts playback on active page transition unless explicitly paused by the user.
- 120Hz Responsive Touch Feedback: Re-engineered bouncyPress using direct gesture pointer input on the first frame of interaction, delivering instantaneous, fluid physical feedback without delaying click handling.
- Snappy UI Transitions: Bottom navigation tabs, filter option buttons, and mode switches now use physics-based medium-stiffness springs and accelerated crossfades tailored for high refresh rate displays.
Platform & System Requirements
- Android 12 Baseline & SDK 37: Raised minimum supported version to Android 12 (API 31), allowing modern Scoped Storage and media APIs by default. Upgraded compileSdk and targetSdk to Android 17 (SDK 37).
Cache, Favorites & Parsers
- Cache Orphan Handling: Added automatic pruning of orphaned cached media and leftover .tmp download segments on startup.
- Shared Media Protection: Deleting a favorite item now checks whether the cached media file is referenced by other saved posts before removal, avoiding premature cache deletion.
- Realbooru Parser Hardening: Added direct file attribute extraction before URL reconstruction and preserved native image file extensions (.png, .webp, .jpg).
- Conservative Rating Policy: Parser strictly assigns UNKNOWN (u) to missing or unmapped ratings, ensuring unrated posts are never accidentally permitted under Safe Mode.
Security & Updater
- Credential Redaction: Sensitive API parameters (api_key, user_id, password, Authorization) are now systematically redacted from all logcat outputs, error messages, and network exception logs.
- Strict APK Release Matching: The built-in updater eliminates arbitrary fallback selections. It strictly targets unambiguous release APK assets (app-release.apk, booru-release.apk, or unique non-debug release assets) and rejects ambiguous candidate lists.
Booru 5.2
Booru 5.2
Overview
Booru version 5.2 introduces key quality-of-life improvements, removes the irrelevant score indicator for Realbooru, overhauls the tag blacklist with smooth physics-based animations, fixes text clipping in tag filtering, adds complete support for all markdown heading levels in the updater, refines detail view scrolling across all media types, and enforces system-wide stability and security.
What's New & Changed
Realbooru Integration Polish
- Removed the score and star rating card in the detailed media view when browsing Realbooru, as Realbooru does not have a post scoring or upvoting system.
- Feed thumbnails for Realbooru omit score badges.
Media Detail Sheet Polish
- Fixed the sheet drag handle across all media types (images, GIFs, and videos) so that it scrolls smoothly together with the content, preventing it from hovering as a frozen line over long tag lists.
Tag Blacklist Animations & Polish
- Added entrance animation for new tags: adding a tag smoothly scales and fades it into the flow layout with a spring bounce.
- Softened all transition curves: tag removals, list resizing, and empty state crossfades now use low-stiffness springs for natural fluid motion.
- Tag count indicator now slides vertically up or down with fade transitions when items are added or removed.
- Add tag button features animated color transitions and tactile spring bounce.
- Filter search bar expands and shrinks vertically with smooth spring easing.
- Added support for searching multiple tags simultaneously (space-separated).
Blacklist Tag Filter Fixes
- Fixed vertical text clipping: replaced the squeezed outlined text field with a centered basic text field layout, ensuring all typed characters remain fully visible without sinking into borders.
In-App Update Dialog & Markdown Parser
- Cleaned up the update sheet interface: removed redundant long descriptions under the header and removed the duplicate bottom progress bar for a clean, single-bar download view.
- Added an explicit cancel button during update downloading.
- Fixed an issue where downloading an update without installing it could cause subsequent checks to report that the app was already up to date.
- Added a re-download action if the update file was previously saved.
- Full support for all markdown heading levels (h1 through h6, including #### headings). Release notes in the update dialog now render cleanly without raw hashtag symbols.
Security, Stability & System
- Permanent FLAG_SECURE window protection against screen recording and system recents previews.
- All floating dialogs replaced with bottom sheets featuring pure white drag handles.
- Asynchronous safeguards and timeouts to prevent UI hangs during downloads and wallpaper operations.
- Fixed download hangs during APK updates: added a 3-minute total timeout and tuned network timeouts.
Booru 5.1
Booru v5.1
Booru version 5.1 introduces target SDK 36 (Android 16) support, multi-page media accumulation for filtered searches, automated browsing cache lifecycle cleanup, additional languages, and polished Material 3 Expressive animations.
Key Improvements and Features
Android 16 Support
- Upgraded compileSdk and targetSdk to API 36 (Android 16).
Multi-Page Filter Accumulation
- Fixed an issue where selecting specific media formats (Images, GIFs, or Videos) alongside query tags returned only 2 to 4 results per page.
- Implemented smart multi-page accumulation: the client iteratively fetches subsequent pages until a complete batch of items matching the requested type is gathered.
- Added native tag injection (
animated,video,-video -animated) for Gelbooru, Rule34, and Realbooru. - Improved Realbooru parser to properly distinguish GIF animations from WebM and MP4 video streams.
Automatic Cache Management
- The app now automatically cleans up temporary browsing cache (cached images, cached video chunks, and temporary update APKs) on application startup and exit.
- Favorites storage and Room database remain strictly isolated in persistent internal storage and are never deleted during cache cleanups.
- Removed the manual cache clearing action from Settings as cache management is now fully automated.
Internationalization
- Added a dedicated bottom sheet for switching application languages.
- Added full UI localization for Japanese, Chinese, Korean, and Arabic (closes Issue #2).
UI Polish and Animations
- Unified bottom sheet drag handles across all dialogs (Favorites filter, Explore filter, and Update dialogs) to the standard Material 3 style.
- Smoother dismiss animations across bottom sheets using spring physics via sheetState.hide().
- Replaced popup dialogs for clearing tag blacklists and deleting custom sources with spring-animated confirmation buttons.
- Stabilized the "Check for Updates" row in Settings to prevent layout jitter while checking.
Booru 5.0
Booru 5.0
Added
- Immersive Fullscreen Viewer:
- Edge-to-edge media viewer with horizontal swipe navigation between posts.
- Smooth pinch-to-zoom, pan gestures, and swipe-down to dismiss.
- Integrated video player with playback scrubbing, loop playback, and audio controls.
- Comic and Manga Reader:
- Continuous vertical scroll mode for seamless reading of multi-page sets.
- Smart Recommendations Feed:
- Aggregated multi-source feed personalized by locally learned tag preferences.
- Option to clear recommendation memory anytime in Settings.
- Unified AI Content Filter:
- Three-tier AI content filter (Strict, Loose, Off) normalized across all booru providers.
- Quality Selector:
- Configurable media resolution: Original (uncompressed), Sample (balanced speed and clarity), or Data Saver (compressed previews).
- Applied across images, videos, and favorites.
- Markdown Support in Updater:
- In-app release changelogs now render formatted markdown notes with headings and bullet points.
Improved
- Material 3 Expressive UI:
- Floating pill bottom navigation bar with seamless crossfade icon transitions.
- Configuration screens (API keys, custom sources, quality, theme, tag blacklist) redesigned as modal bottom sheets.
- Interactive segmented controls with animated color transitions, spring scaling, and selection indicators.
- Favorites Screen:
- Two-column dynamic staggered masonry grid preserving natural image aspect ratios.
- Dedicated filter bottom sheet with sort options (Newest, Oldest, By Source) and media types.
- Dedicated confirmation bottom sheet for clearing favorites with item count summary.
- Custom Boorus and Security:
- Isolated API credentials per custom source encrypted via Android Keystore.
- Provider-accurate sort order mapping (Newest, Score, Random) per API engine.
- Edge-to-Edge and Navigation:
- System gesture bar insets handled properly to prevent navigation overlay clipping.
- Refined back navigation with accidental exit protection.
Fixed
- Fixed image and video cache size calculation and manual cache clearing in Settings.
Booru 4.1
Booru 4.1
Security and Credential Management
-
Durable Credential Migration with Data-Loss Protection:
- Legacy Rule34 and Gelbooru User ID / API Key credentials are migrated to Android Keystore-backed
EncryptedSharedPreferences. - Migration proceeds only when secure storage is successfully initialized.
- Credential writes use synchronous
commit()with read-back verification against the source value before legacy DataStore keys are removed. - Plaintext credential fallback storage is prohibited.
- Migration remains safe to retry if secure storage or a credential write fails.
- Legacy Rule34 and Gelbooru User ID / API Key credentials are migrated to Android Keystore-backed
-
Custom Booru Credential Isolation:
- Custom source metadata (
id,name,baseUrl,engine) remains in DataStore, while API keys and user IDs are stored exclusively inSecureCredentialsStorage. - Deleting a custom source removes its secure credentials and metadata, preventing orphaned credentials.
- Custom source metadata (
-
HTTPS Enforcement for Custom Sources:
- Base URLs for custom Booru endpoints require HTTPS.
- Plain HTTP connections are rejected during source creation, editing, and network execution.
-
Sensitive Data Redaction:
- Request logging redacts authentication tokens, passwords, API keys, user IDs, and other sensitive authentication parameters.
Application Updater Hardening
-
Host and Transport Verification:
- Update checks and APK downloads require HTTPS and are restricted to trusted GitHub asset hosts.
- Insecure and untrusted cross-domain redirects are rejected.
-
Pre-Install Package and Signature Verification:
- Downloaded update APKs are verified before installation to ensure that the package name and signing certificate match the currently installed application.
- Incomplete or invalid APK files are removed after failed downloads or verification.
Functional Fixes and Improvements
-
Newest Feed Sorting:
- Fixed an issue where the result of
sortedWith()was not applied to multi-source feeds. - Posts are ordered by valid creation timestamps in descending order, with score used as a deterministic tie-breaker.
- Posts without valid timestamps are placed after timestamped posts and ordered by score.
- Fixed an issue where the result of
-
Exact Blacklist Matching:
- Blacklist filtering now uses exact token matching to prevent false-positive substring exclusions.
- For example, blocking
catno longer blockscatgirl. - Namespaced tags such as
character:xxxandartist:xxxare supported with case-insensitive matching.
-
Cache and Media Safety:
- Offline favorites stored in the Room database and app-private
filesDir/favorites_mediastorage remain isolated from temporary browsing caches. - Clearing the application cache purges Coil (200 MB LRU) and ExoPlayer (100 MB LRU) caches without removing saved favorites.
- Direct downloads to public media directories remove incomplete files after failed downloads and trigger
MediaScannerConnectionafter successful completion.
- Offline favorites stored in the Room database and app-private
Booru 4.0
Booru 4.0
Fullscreen Media Viewer
- Root-level viewer architecture: Mounted the media viewer at the root layout to achieve seamless edge-to-edge rendering across all navigation tabs.
- Horizontal pager navigation: Implemented continuous left and right swiping between posts with active page preloading.
- Gesture and zoom overhaul: Unified pinch-to-zoom and pan interactions into an uninterrupted gesture cycle; double-tap zooms directly into the tapped coordinate with dynamically calculated boundaries.
- Video player enhancements: Added customizable playback speed controls, reduced playback progress polling to eliminate unnecessary recompositions, and resolved tap-interception issues.
- Collapsible tag sheet: Tags in the detail sheet are collapsed by default and expand on demand with synchronized slide and fade animations, preventing layout displacement and empty space artifacts.
- Download and wallpaper management: Added automatic MIME-type detection from response headers, fallback URL candidates, and transaction rollback on interrupted downloads.
Favorites Screen
- Instant fullscreen transition: Replaced gesture-delayed tap handlers with direct click dispatchers and removed per-item grid animation wrappers, eliminating input lag when opening media.
- Content type filtering: Added dedicated single-row filters for All, Images, GIFs, and Videos with live post counters.
- Sorting options: Added sorting by newest first, oldest first, and by Booru source name.
- Search optimization: Implemented multi-token search across tags and source names simultaneously; streamlined the search bar into an outline-free Material 3 container.
- Keyboard interaction handling: Added automatic focus release and soft keyboard dismissal on item click, category selection, and grid scroll, preventing animation conflicts and frame drops.
- Preview quality restoration: Restored high-resolution sample image rendering for grid cards with automatic fallback to previews.
Custom Booru Sources
- Danbooru and e621 engine support: Added dedicated URL parsing and pagination handling for Danbooru-style endpoints, including custom API base paths.
- Editing existing sources: Added the ability to view, modify, and update credentials and URLs of existing custom Booru endpoints directly from settings.
- Automatic fallback on deletion: Deleting an active custom Booru source automatically redirects the gallery to all sources and refreshes the feed to prevent invalid states.
- Standardized network headers: Enforced a consistent User-Agent across all custom API queries and autocomplete requests.
Tag Blacklist & Filtering
- Blacklist interface overhaul: Redesigned the blacklist management sheet with batch input, real-time tag search, and quick removal.
- Contextual tag actions: Long-pressing any tag in the detail viewer allows one-tap addition to or removal from the blacklist.
- Visual cleanup: Removed high-contrast borders and outlines from blacklist chips and confirmation dialogs in favor of tonal surface containers.
UI & Dialog Architecture
- Unified dialog sizing: Standardized dialog layouts with header-aligned close buttons, integrated titles, and streamlined confirmation actions.
- Clean aesthetic: Removed unnecessary outline borders across buttons, chips, and text fields.
- Settings simplification: Consolidated rating controls, removed redundant switches, and aligned version metadata to 4.0.
Stability & Performance
- Infinite pagination fix: Corrected state reference handling in GalleryViewModel to prevent pagination from stalling during continuous scrolling.
- Cache leak prevention: Restated cache handling to exclude raw full-length video files from permanent disk caches and added automatic cleanup for abandoned temporary download files.
- Autocomplete robustness: Fixed tag suggestion parsing to evaluate only the current active input token rather than the entire query string.
Booru 3.3
Booru 3.3
Video Streaming & Performance
- Instant playback startup: reduced video pre-buffer latency threshold to 250ms.
- Integrated disk video caching: looped playback and scrubbing play directly from local storage with zero network latency.
- Migrated video network stack to
OkHttpDataSourcewith HTTP/2 connection reuse.
Source Fixes
- Restored Konachan and Yande.re post parsing and tag search.
Cache Optimization
- Lowered default disk cache limit from 500 MB to 200 MB for images and 100 MB for videos.
- Fixed the cache cleaning routine to instantly purge browsing and video cache without freezing.