- Add: Delete the downloaded file when erasing the download entry
- Add: Break download and clean when exceeding total file size
- Add: Option to disable SSL validation
- Fix: Validation of repo authentication values
- Fix: Editing of current values of repo
- Fix: Make Downloaded keys fully unique
- Fix: Installs queueing logic
- Fix: Performance issues of SyncWorker
- Fix: Back handling in Main pages
- Fix: Crash on missing stopReason
- Fix: Adding Products with duplicate categories
- Fix: Updating repositories on sync
- Update: Automate V1-parsing using IndexV1
- Update: Rewrite IndexV0 xml parser
- Update: AppSheet header logic
- Update: Revamp updating extras logic (reduce latency)
- Update: Koin-inject Main & Prefs ViewModels
- Update: Replace the multiple VMs for single MainVM
- Update: Revamp WorkerManager & all Workers
- Update: Migrate to type-safe navigation
- Update: Indices and naming of Room Entities
- Update: Improve performance of the main queries
- Update: Improve memory and performance of flows in Main
- Remove: Unused BootReceiver
- Remove Bromite, INVISV, Funkwhale, Divolt and archive repos
- CompileSDK 35
- Add: Target- & MinSDK filters
- Add: Erase-all button to downloads page
- Add: Indicator of the invalid field in repo editor
- Fix: Chips visibility independent of background pref
- Fix: Folding full app description
- Update: Make UI wide screens friendly & navigation adaptive
- Update: Revamp repo page
- Update: Separate BlockBorder top top & bottom
- Update: Show text always on alternative navigation button
- Update: Animate permission cards
- Update: Highlight version update chip
- Update: Revamp dialog layouts
- Update: Revamp icons & screenshots state creation
- Update: Workout sheet layouts to fit the new BlockBorders
- Add: Debounce on downloaded flow
- Add: RepoId to Downloaded for a more unique key
- Fix: SortFilter sheets across pages
- Update: Init Koin earlier
- Remove: All archive repositories
- Add: Confirmation dialog on root uninstaller too
- Add: Long tap sync button for latest successful sync info
- Add: Indexes to Room entities
- Add: None Source & Request
- Fix: A memory leak
- Update: Revamp Request
- Remove: All from explore page
- Fix: BackHandler of AppSheet
- Fix: Crash on launching from permissions' page
- Fix: Crash on using same key for lazy release items
- Fix: Opening different prefs page when default page is changed
- Update: Inject installer using Koin
- Update: Migrate most sheets to BottomSheetScaffold
- Update: Make flows respect distinction earlier
- Update: Revamp Source handling of requests
- Update: Convert Search back to a page
- Update: Revamp Installed page hierarchy
- Update: Use segmented buttons in Installed page
- Update: Revamp apps' carrousel and limit version name length
- Add: Special search filter tabs
- Add: Indicator that an app is installed to list items
- Update: Default to search all apps
- Fix: Crash on tapping install notification of session installer
- Fix: Excessive recomposition on Repo apps list
- Update: Increase default search apps to 2000
- Add: Option to show Android version name instead of SDK (enbaled by default)
- Update: Add enable and dismiss buttons to RepoSheet
- Add: Dialog on clicking links from app descriptions or changelogs
- Add: Parsing markdown links in descriptions or changelogs
- Add: Search bar to repos page
- Add: Safeguard to avoid spamming sync
- Add: Option for limiting loaded apps for search
- Add: Support of reproducible builds (credits @obfusk & @iamlooker)
- Fix: Loading apps without categories
- Fix: Disable Google-signed dependency metadata (credits @IzzySoft)
- Update: Revamp usage of CoroutineDispatchers
- Update: Increase default auto-sync interval
- Add Repos: Cloudburst & Huizengek (credits @GitGitro)
- Remove Repo: Samourai Wallet (credits @GitGitro)
- Add: Indicator if a custom sort/filter is applied
- Add: All apps category
- Fix: Constant recomposition of most UI (reduce Jitter/Lag)
- Add: Launch AppSheet when tapping installed notification
- Fix: Screenshots not updating when changing app of same dev
- Fix: Handling locales with three letters as language code
- Update: Improve consistency of sheets' visibility across rotation
- Update: Increase default recently updated apps to show
- Add: Preference to disable signature check for updates/installs
- Add: Preference to disable download version check
- Add: Preference to allow downgrades (debuggable) and installing pre-A6 apps (starting Android 14)
- Add: Display localized product name and description (credits @BLumia)
- Add: Export/import the repositories
- Add: Export/import list of installed apps
- Add: Room Kotlin KSP code generation
- Add: ConnectionPool & redirections to Coil calls
- Add: Opening IzzyOnDroid links (credits @GitGitro)
- Add: Network constraint to Download works
- Add: Own client & connectionPools for CoilDownloader
- Add: ForegroundServiceType for works (Required on A14)
- Add: Package source to session installer (SDK33+)
- Add: Explicit field for HTTP proxy address
- Add: Option to use DownloadManager API
- Add: AppManager installer
- Add: System installer (credits @0x50f13)
- Add: Linking database from Application
- Fix: Calling Tor addresses
- Fix: Make RootInstaller null-safe
- Fix: Auto-sync on "Only charging"
- Fix: Adding repo using scanner
- Fix: Detecting updates of multi-repos apps
- Fix: Clicking updates notification
- Fix: Launching parallel updates
- Fix: Updating apps in the background
- Fix: Install notification
- Fix: External search calls
- Fix: Opening an app from repo url
- Fix: Crash on searching special chars
- Update: Rebase to use one activity
- Update: Replace RxJava usage with Coroutines
- Update: Replace OkHttp with Ktor (except for Coil)
- Update: Migrate download, exodus & sync backend from Sevice- to Worker-based
- Update: Convert InstallerService to BroadcastReceiver
- Update: Revamp the ExodusAPI classes
- Update: Respect version code and source ("fdroid") when fetching ExodusInfo
- Update: Move ExodusInfo fetching into AppSheet
- Update: Allow parallel downloads from different repositories
- Update: Allow parallel sync of repos
- Update: Cache apks in external cache
- Update: More open network security policy
- Update: Make root session installer default if A13+
- Update: Make product queries observe all relevant entities
- Update: Optimize the main products query
- Update: Revamp all installers
- Update: Revamp Installer works
- Update: Revamp Downloader
- Update: Revamp proxy handling
- Update: Revamp Repository data class
- Update: Differentiate between double and single list VMs
- Update: Replace appsToBeInstalled list usage with InstallWorker
- Update: Allow pre-composing all pages
- Update: minSDK to 24
- Update: targetSDK & compileSDK 34
- Remove: Dependencies of deprecated usage
- Add Repos: Aniyomi, Koyu, Kuschku, Kvaestiso, Etopa, Metatrans Apps, Gadgetbridge, FUTO, Grobox, Julian Fairfax, spiritCroc Test, Zimbelstern, Cromite, Divolt Repo, Rboard, Cake Wallet (credits @GitGitro)
- Add Repos: Samourai Wallet Repo (credits @RequestPrivacy)
- Add Repos: Julian Andres Klode's repo (credits @ishanarora)
- Add Repos: PurpleI2p, INVISV, Monerujo, iodé, spiritCroc, DivestOS Unofficial, Funkwhale… +28 other
- Fix Repos: The description for PeterCxy's Shelter repo (credits @ishanarora)
- Fix Repos: c:geo repository (credits @ishanarora)
- Fix Repos: Cromite repository address
- Remove Repos: Fluffy Chat (stable and nightly), Ungoogled Chromium, i2p
- Add: Preference to show/hide categories bar
- Add: (Products)List, StringInput DialogUIs
- Add: Block border to sheets & pages
- Add: Categories app info chips
- Add: New apps carousel layout
- Add: Optional alternative BottomNavBar item layout
- Add: Optional alternative new apps layout
- Add: Dynamic theme variants
- Add: Medium and high contrast themes
- Add: Option to hide the new apps bar
- Fix: Switch layout on low-dpi/multi-lines
- Fix: Screenshots scaling issue after opening once
- Fix: Pre-mature cutting horizontal products recycler layout
- Fix: Avoid forgetting expand-state of description text
- Fix: Ghost clicking settings when search is expanded
- Fix: Hectic sorting of downloads in downloads list
- Update: App's icon
- Update: Theme colors (MD3 v2/tonals)
- Update: Split Installed page to two tabs
- Update: Revamp repositories page
- Update: Make pagers animate scrolling
- Update: Larger layout corners
- Update: Revamp all pages
- Update: Revamp all sheets (now composables)
- Update: Revamp all dialogs (now composables)
- Update: Revamp all items (using ItemList)
- Update: Revamp all components
- Update: Revamp screenshots layout
- Update: Resort Main pages
- Remove: Scrollable top bars
- Remove: Option to hide categories bar
- Add: Permission ignore button
- Add: Kids mode
- Add: Apps list to Repository info
- Add: Qr Code to repo sheet
- Add: PrivacyPoints to PrivacyPanel cards
- Add: Licenses filters
- Add: Preference to keep notification of successfully installed app
- Add: Swipe down to close gesture to screenshots viewer
- Add: Swipe to navigate between pages
- Add: Singular search page
- Add: (De)select all buttons to multi-selection filters
- Add: Launch search page on receiving search Intent
- Add: More categories icons
- Add: Erase button to items in downloads log
- Add: Preference to allow unstable updates to each app
- Add: All Anti-features in PrivacyPanel
- Add: Permission to install packages
- Add: Search when to-be-opened package doesn't exist
- Add: Option to confirm before downloading an app
- Add: Device or biomteric lock options on download dialogs
- Fix: Showing updatable label for Product items
- Fix: Showing right version in AppSheet's header
- Fix: Showing downloaded version (in downloads log)
- Update: Differentiate between having no trackers and lacking exodus data
- Update: Convert auto-sync interval unit to hours
- Update: Alphabetically sort current downloads in Installed page
- Update: Hide inactive sort/filter options
- Update: Communicate status on download errors
- Update: Bind short description lines limit to extended state
- Update: Show short description for unexpanded description
- Update: Using pager in App Sheet for Privacy Panel
- Update: Better download state communication
- Update: Revamp download and sync notifications
- Update: Use categories grouping in Explore page
- Update: Prefer search results with last update not longer than 1 year ago
- Update: Text to show when no compatible releases exist
- Update: Show dialog before opening source code
- Remove: Search bar from Main pages
- Remove: Zooming on screenshots
- Add: KDE (Stable), C:Geo, Stack Wallet & PeterCxy's Shelter repos
- Add: Option for external download folder
- Fix: Background (silent) installer
- Fix: Cache clean up time in days not hours
- Update: Navigating to AppSheet without input of dev name
- Update: Simplify apps list in ExplorePage
- Fix: Expandable layout's padding
- Update: Move favorite button beside main action
- Update: BottomNav, SideNav layouts
- Update: Smaller layout icons
- Add: Permissions page
- Add: Downloads page (switch) to InstalledPage
- Add: Option to ignore notification on security vulnerabilities
- Update: Scroll to top when changing category in ExplorePage
- Update: Increase showing new & updated apps limit
- Update: Improve preference dialog value setting
- Fix: Not detecting root permission
- Fix: Unbinding DownloadService crash
- Fix: Crash on rxjava's throwable nullability
- Fix: Avoid calling https://icon on apps sans icon
- Fix: Save capitalized Repo fingerprint
- Update: Revamp batch update
- Remove: Obsolete Sections
- Remove: Unused Gradle options
- Update: Revamp InstalledPage
- Update: Revamp BottomNavBar button
- Add: Option to disable getting/showing trackers
- Add: FluffyChat nightly, Anonymous Messenger and BeoCode to default repos
- Add: Tooltip when trackers data isn't available
- Fix: FluffyChat repo address and fingerprint
- Fix: Not updating installed apps list on (un)installing apps
- Fix: Sticky sync/download notification
- Update: Enable Guardian project's repo by default
- Add: Repository's authentication pair setter/getter
- Add: Job IdRange for Sync jobs
- Add: DownloadState to SyncService
- Add: Sync/Download foreground service types
- Add: Option for sheets to be not pre-extended
- Add: Export/import of extras
- Add: SAF-File (with read, write, delete and share)
- Fix: Improve performance overload caused by search (credits @SocratesDz)
- Fix: Crashing LegacyInstaller (again)
- Fix: Fall back to default installer if root not granted
- Update: Use DownloadService's mutex to keep the service alive while needed
- Update: Replace RxJAva usage with Coroutines in SyncService
- Update: Allow using Coroutine Job as disposable
- Update: Revamp scheduling auto-sync
- Update: Improve installer handling based on existing in background and type
- Update: Simplify Prefs listener
- Update: auto-sync interval limits
- Update: Migrate last LiveData to Flows
- Update: FluffyChat's repo address
- Remove: Unused Dependencies
- Add: Cleaner splash screen icon
- Add: Filter Download state changes percentually
- Add: Warning card to AppSheet on known vulnerability
- Add: Repo mirror chips row
- Fix: 2-rows updated apps block even on one item
- Update: Migrate repo sheets into one composable
- Update: Snackbar stays shorter
- Add: Auto-sync option on charging
- Add: Active downloads list to Installed
- Add: Description text to ActionButtons (for screen readers, needs testing)
- Add: Show notification if an installed app has known vulnerabilities
- Add: Make Preferences accessible from system's app info
- Add: Allowed anti-features filter
- Fix: Unable to add a repository after adding empty one
- Fix: Running auto-sync only on WIFI, on plugged-in and combined
- Fix: Crash on deleting newly added repo
- Update: Open exodus tracker's page instead of tracker's website
- Add: Notifications permission (for A13)
- Add: Ask for PostNotifications permission on start
- Fix: Improve search performance (credits @pedrox-hs)
- Fix: Showing apps of all developers with protonmail as apps from the protonmail developer
- Fix: Sorting installed apps
- Fix: Replace deprecated functions in RootInstaller
- Fix: Installers getting false context
- Fix: LegacyInstaller's false Uri
- Update: TargetSDK 33
- Fix: Location permission group icon
- Update: ProductCard layout
- Update: Horizontal Product recycler layouts
- Add: Categories SideNavBar to explorer
- Fix: Category SideBar not updating according to SortFilterSheet
- Update: Change category filter to single selection
- Update: Asking for root permission when setting root installer
- Fix: Memory leak in Main & Prefs
- Add: The all new Privacy Visualization (Neo Meter Icons)
- Add: The all new Privacy Panel
- Fix: Opening the same RepoSheet repeatedly
- Add: App icon based on system theme
- Add: Installer type preference (including Legacy mode for dumb MIUI)
- Add: Specific screenshot placeholder
- Add: Cryptomator & TwinHelix Signal-FOSS preset repositories
- Fix: Navigation after launching from updates notification
- Fix: Download bar not reflecting true progress
- Fix: Prefs' dependency handling
- Update: Empty & hide SearchBar on pressing back before exit
- Update: ViewModels as monotone instances in the Activities
- Update: Simplify ListProduct layout
- Add: Scan repo QrCode using BinaryEye (if installed)
- Fix: Lock in Installed after launching from updates notification
- Fix: Improve handling intent
- Add: Support for fdroidrepo:// intents (simple addition of repositories)
- Add: Support for market://search? intents (used by some launchers)
- Add: Share option for IzzyOnDroid apps
- Add: GitJournal & Revolt to the preset-repos
- Update: Highlight apps with available updates*
- Update: Show current version if app installed instead of latest
- Update: Avoid killing the app on pressing back in Main
- Update: SortFilterSheet's reset, resets prefs to default
- Update: Improve detecion of sort/filter changes
- Update: Revamp ReleaseItems
- Update: Revamp search backend
- Update: Replace LiveData with Flows in most instances
- Fix: Opening Installed on launching updates intent
- Remove: Alefvanoon preset-repo
- Add: Other apps from the developer
- Add: Scrolling TopBar
- Add: Rest of the data from the table to query return
- Fix: Some coloring issues of the dynamic theme
- Update: Search also searches among author names
- Update: New screenshots viewer (fixes previous issues and allows zooming)
- Update: Allow two-lines labels in ProductCard
- Update: Bigger app icons
- Update: Some layouts e.g. TopBar, SortFilter
- Update: Make StatusBar and gestures bar transparent
- Update: Revamp theming backend (fixes some visuals)
- Update: Set default theme based on Android version
- Update: Improve Sheets' initialization
- Update: Dispose of composable when sheet fragment is destroyed
- Add: Sort/Filter sheet
- Add: Explicit favorites shortcut
- Add: TargetSDK to info chips
- Update: Replace Material icons with Phosphor
- Update: Replace drawables with composables
- Update: BottomNavBar, AppSheet's and EditRepoSheet's layouts
- Fix: Sheets' animated background
- Fix: Showing update secondary action while downloading
- Fix: Secondary actions being squeezed on low dpi
- Fix: Immersive bottom gesture bar (except with sheets)
- Remove: Legacy/now-unused resources
- Add: Useful links in Prefs
- Update: Revamp AppSheet's Head & Header
- Update: Repo item's text colors
- Update: Migrate navigation fully to Compose
- Update: Migrate preferences to Compose
- Update: Allow setting higher number for updated/new apps' recycler and sync interval
- Fix: ActionButtons visibility
- Fix: Show Repo description pre-first-sync
- Remove: Legacy fragment-related classes
- Fix: Showing updates notification even when disabled
- Add: Threema, Stable Calyx OS and Session to preset-repositories
- Fix(try): Background installer
- Add: Release apks and images cache retention options
- Update translation
- Add: Favorites category
- Add: Option to set sync interval
- Add: Supporting auto importing fdroidrepos: repo addresses from clipboard
- Fix: Nested scrolling of AppSheet
- Fix: Repository apps count
- Fix: Allow retention of apk till "consumed"
- Update: Make app description and changelog text selectable
- Update: Show full text of inexpandable text blocks
- Small UI fixes
- Fix: Setting ignore updates doesn't hide from updates
- Fix: Alphabetical sorting of Installed
- Fix: Nested scrolling of AppSheet
- Fix: Showing install action while download is running
- Fix: StatusBar icons visibility on dynamic colors' theme
- Update Translations
- Add: System dynamic theme (aka. Material You)
- Add: 7 new preset repositories
- Add: Architecture label on releases for a specific architecture
- Remove: UnifiedPush repo (dead)
- Fix: Links in settings
- Fix: Annoying 0 updates notification
- Fix: Hide Author's website when it isn't available
- Fix: Parsing clipboard's content for repo URI
- Fix: Not showing update action
- Renamed package to com.machaiv3lli.fdroid
- Fully new UI/UX with Material Design 3
- Add: Update all
- Add: Favorite (further features to come later)
- Add: Snackbar with action on long press actions
- Add: Flexibel extended card actions
- Add: Expandable extra actions for AppSheet
- Add: Option to not show screenshots
- Add: Cross-compatibility of root and normal installer
- Add: Language preference
- Add: IPv6 Support with fast fallback to IPv4 (@Mynacol)
- Add: Session-root-installer option (Needed for +A13)
- Add: Only ask for root when selected
- Update: Show repository host name instead of developer name on repository card
- Update: horizontal scrolling screenshots
- Fix: Auto updating installed/updates lists
- Fix: Crash on A12+ (gotta disable battery optimization)
- Fix: Root installer
- Fix: Delete Cached File After Uninstall
- Fix: Crash on pressing download when offline
- Remove: Unused list animation preference
- Fix: Screenshot placeholder icon
- Fix: Soft crash when starting AppDetails
- Fix: Run only one instance of root installer
- Fix: Root installer
- Update: More of Material Design 3
- Clean up: Huge parts of the code base
- Update: Optimize installer
- Fix: Delete Cached File After Uninstall
- Fix: Freeze with Root Installer
- Fix: Links' icon tint
- Fix: Crash on pressing download when offline
- Fix: Accidental scrolling on back gesture
- Fix: Screenshots size before loading
- Fix: Action Text Color visibility
- Fix: App version text being colored when not planed
- Update translations: Hindi, Hungarian, Finnish, Norwegian, Chinese(Simplified), Turkish, Russian, Portoguese(Brazil), German, French, Italian, Arabic (Saudi Arabia), Spanish, Sinhala, Polish, Dutch, Greek
- Fix Normal Install Crash
- Add: Language preference
- Update: horizontal scrolling screenshots
- Fix: Background root installer
- Add: Only ask for root when selected
- Tons of UI/UX tweaks
- Add Icon for opening Details
- Top App Bar Differences made more prominent
- Root Permission will only be asked when used
- Switch Visibility fixes
- Added Arabic Translation
- Long press on source Icon to copy link
- Replace Toast with Snackbar