Skip to content

Booru 5.3

Choose a tag to compare

@weekanya weekanya released this 24 Sep 12:57
· 168 commits to main since this release

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.