Releases: ImranR98/Obtainium
Releases · ImranR98/Obtainium
Release list
v1.6.17
What's Changed
- Update ru.json by @solokot in #3314
- Translation: Update hu.json by @summoner001 in #3315
- Restore track-only pseudo-version controls on the app page by @ImranR98 in #3316
- Translation: Update hu.json by @summoner001 in #3317
- Update ja.json by @bluefly000 in #3318
- Update zh.json translations by @Jursin in #3319
- docs: Initial documentation for Contributing policies and procedures by @master-bob in #3216
Plus all changes from v1.6.16 which was marked as pre-release.
Full Changelog: v1.6.16...v1.6.17
v1.6.16
What's Changed
- Fix GitHub issue templates by @DonDae001 in #3284
- i18n: update
pl.jsonby @krvstek in #3302 - Update ja.json by @bluefly000 in #3291
- Update ru.json by @solokot in #3286
- Translation: Update hu.json by @summoner001 in #3285
- Update bs.json by @Errudar in #3287
- Add Huawei AppGallery .ru host by @skrimix in #3295
- HTML source: discover URLs in parsed HTML attributes by @Scott-Nx in #3294
- Fix Uptodown downloads and add search by @skrimix in #3305
- docs:README change sig hash formatting by @master-bob in #3304
- By @ImranR98 in #3307:
- Add an app list density setting (#2620)
- Fix version detection, GitLab APK assets, app dir recovery and AGP build (#3215) (#2732) (#2860) (#3188)
- Fix HTML source link extraction for relative and quoted URLs (#2816)
- Verify APK signing certificates before installing (#2922)
- Detect external install completion from the installer's own result (#3091)
- External-installer completion tracking includes code and research adapted from ObtainX by Bikram Agarwal (@bikram-agarwal).
- Show a specific error for RuStore external-source listings (#3298)
- Support multiple split APK URLs in one apkUrls entry (#3298)
- Resolve RuStore split APKs using a device profile request (#3298)
- Sum all split APK sizes in the download size probe (#3298)
- Add shared minimum update age helpers and fix update suppression (#3303)
- Honor the minimum update age when adding apps (#3303)
- Skip releases younger than the minimum update age in list-based sources (#3303)
- Refactored the source/provider structure and UI code, and reworked version detection including rolling version tags.
- Added emulator end-to-end test suites with a local runner.
- Broad Android TV UI/UX polish
- Various networking and download/install related improvements
- Various other bugfixes
- By @ImranR98 in #3308:
- ci: tighten up auxiliary workflows by @master-bob in #3309
- Improve APKMirror tracking with release pages, changelogs, sizes and package IDs by @ImranR98 in #3310
- APKMirror tracking improvements include code and research adapted from ObtainX by Bikram Agarwal (@bikram-agarwal).
- Persist the ForgeJo token globally and drop GitHub-only settings (#2788) by @ImranR98 in #3313
New Contributors
- @DonDae001 made their first contribution in #3284
- @Scott-Nx made their first contribution in #3294
Full Changelog: v1.6.15...v1.6.16
v1.6.15
What's Changed
- Translation: Update hu.json by @summoner001 in #3260
- fix: GitHub app releases not obtaining with certificate pinning enabled by @flexxxxer in #3263
- Update ja.json by @bluefly000 in #3264
- i18n: update
pl.jsonby @krvstek in #3266 - Update Turkish translation by @MrRaita in #3271
- /lib/app_sources/: Correct redirecting URLs to dest, add notes for track-only sources by @BlackWinnerYoshi in #3276
- ci: Harden Github Actions by Pinning Version to SHA by @master-bob in #3265
- Deleting a Category was Plural, this Makes it Singular by @master-bob in #3274
- Add search support for RuStore and Huawei AppGallery by @skrimix in #3268
- feat: Root installer by @inmaldrerah in #3277
- By @ImranR98 in #3283:
- Handle missing document picker and revoked export-dir grants gracefully (#3227)
- Give TV app list more bottom clearance and stop auto-focusing the add button (#3228)
- Replace dead share action with copy-to-clipboard in log viewer on TV (#3235)
- Stop WorkManager periodic runs when background update checks are disabled (#3272)
- Expose zip APK filter option for Direct APK Link and HTML sources (#3278)
New Contributors
- @MrRaita made their first contribution in #3271
- @BlackWinnerYoshi made their first contribution in #3276
- @inmaldrerah made their first contribution in #3277
Full Changelog: v1.6.14...v1.6.15
v1.6.14
What's Changed
- Update zh.json translations by @Jursin in #3256
- Update ru.json by @solokot in #3234
- Update nl.json by @ojppe in #3239
- Translation: Update hu.json by @summoner001 in #3238
- Update ja.json by @bluefly000 in #3236
- Point README at the new Deep Links wiki page by @LifetimeLabsDev in #3232
- fix(forgejo): support private overridden hosts by @mdalnamer in #3198
- Fixup: RuStore, certificate pinning ignored for subdomains, RuStore certificate pinning by @flexxxxer in #3244
- By @ImranR98 in #3259
- Make the new category button flow inline with the category chips (#3221)
- Race install confirmation against polling so bulk updates can't hang (#3255)
- Space out background update retries for failing apps (#3187)
- Add index-v2.json support to third-party F-Droid repositories (#3249)
- Fix bug with F-Droid repo search not filling in ID for selected app
- Fix slider form item missing required parameter and const lint (#3251)
- Fix Huawei AppGallery app ID inference after removing the appdl fallback (#3247)
- Stop using APK filename timestamps as versions when the Huawei AppGallery API fails (#3247)
- Show real GitHub token rejection errors and fall back to unauthenticated requests when a PAT is rejected (#3211)
- Fix edit category sheet action buttons hidden behind the system navigation bar (#3240)
- Add slider for per-app minimum update age with 'use global default' and no-delay options (#3251)
New Contributors
- @LifetimeLabsDev made their first contribution in #3232
- @mdalnamer made their first contribution in #3198
Full Changelog: v1.6.13...v1.6.14
v1.6.13
What's Changed
- Allow HTTPS-to-HTTP redirect downgrades for sources that opt in, fixing Vivo source downloads (#3229)
- Add minimum age for updates setting (global and per-app) to delay/suppress fresh releases (#3004)
- Add optional setting to skip the bulk update/install confirmation dialog (#3099)
- Add global APK filter regex setting applied when no per-app filter is set (#2979)
- Add setting to collapse all app groups upon startup (#3168)
- Update German translations for background silent installs and hide downgrades settings (#3182)
- Support direct links to zipped APKs and preserve container file extensions on download (#3208)
- Log uncaught framework errors to the in-app log store (#3226)
- Fix continue/cancel confirmation dialog always returning false, breaking log deletion, categorization, and release-date confirmations (#3226, #3213)
- Minor UI tweaks
Full Changelog: v1.6.12...v1.6.13
v1.6.12
What's Changed
- Fix RuStore 419 by @skrimix in #3209
- Fix RTL version-update arrow direction by @xhon-pelushi in #3199
- Update zh.json translations by @Jursin in #3195
- i18n: update
pl.jsonby @krvstek in #3193 - Update nl.json by @ojppe in #3192
- Update ru.json by @solokot in #3185
- Translation: Update hu.json by @summoner001 in #3184
- Update ja.json by @bluefly000 in #3180
- style: tab changed from 2 spaces -> 4 spaces in en translations by @master-bob in #3197
- Validate file paths in archive extraction and downloads by @ethicnology in #3175
- fix: stop forwarding credentials to cross-origin redirect targets by @ethicnology in #3174
- feat: warn before exporting settings that may include secrets by @ethicnology in #3178
- Implement certificate pinning by @flexxxxer in #3065
- Сentralize logging by @dordzhiev in #2906
- Add a setting for a fixed auto-export file name (#2343) by @bhavit04 in #3079
- Fetch AppGallery app details via API by @skrimix in #3217
- By @ImranR98 in #3222
- Add Samsung Galaxy Store source by @BingoKingo in #3220
- New translation placeholders by @ImranR98 in #3224
New Contributors
- @skrimix made their first contribution in #3209
- @xhon-pelushi made their first contribution in #3199
- @master-bob made their first contribution in #3197
- @ethicnology made their first contribution in #3175
- @flexxxxer made their first contribution in #3065
- @dordzhiev made their first contribution in #2906
- @bhavit04 made their first contribution in #3079
- @BingoKingo made their first contribution in #3220
Full Changelog: v1.6.11...v1.6.12
v1.6.11
What's Changed
- Improve french translation by @mgdx in #3165
- Update ar.json by @jermanuts in #3156
- Update ko.json by @justcontributor in #3135
- Update zh.json translations by @Jursin in #3126
- i18n: update
pl.jsonby @krvstek in #3125 - Update ja.json by @bluefly000 in #3120
- Fix vivo app store by @iKirby in #3140
- Begin app installation immediately after each download completes during batch updates by @Psychosoc1al in #3162
- By @ImranR98 in #3173:
- Include app name in duplicate-detection error messages (#3038)
- Add obtainium://refresh deep link action for triggering update checks (#3050)
- Separate background checks from silent installs: interval gates checks, toggle gates installs only (#3070)
- Prevent downgrades in update check when showAppDowngradeError is enabled and versions share a standard format (#3078)
- Persist in-memory install status corrections from loadApps to disk (#3090)
- Use versionCode as version string in F-Droid sources when toggle is enabled (#3117)
- Fix FGBG stream conflict and extend external installer polling to 30s (#3121, #3091)
- Add inline TV add-app button and fix settings bottom padding on TV (#3124)
- Fix double-decode in obtainium:// import causing unicode errors (#3127)
- Reorganize settings into separate navigable sub-pages (#3134)
- Read import file via bytes fallback when path is null, fixing Samsung import (#3142)
- Add export installed-only filter (#3144)
- Fix category chip alignment in narrow portrait layouts (#3147)
- Force English locale for uptodown non-English URLs (#3158)
- Increase pinned app background contrast using primaryContainer colour (#3160)
- Defensive copy of additionalSettings values on save to prevent toggle persistence issues (#3161)
- Fix uptodown files downloading without .apk extension (#3164)
- Add haptic feedback across UI actions and download/install lifecycle
- Convert filter dialog to bottom sheet
- Don't cap RateLimitError retries and reduce HandshakeException retries from 5 to 2
- Fix download size display and probe it regardless of update availability
- Fix per-app empty string shadowing global GitHub token in getSourceConfigValues
- Move app import into the renamed Import/export settings page
- refactor: comprehensive code review — bugfixes, dead code removal, perf improvements, architectural cleanup
- Set parallel downloads default to true; hide action banner when fewer than 2 pending updates/installs
New Contributors
- @mgdx made their first contribution in #3165
- @justcontributor made their first contribution in #3135
- @opekope2 made their first contribution in #3169
Full Changelog: v1.6.10...v1.6.11
v1.6.10
What's Changed
- By @ImranR98 in #3114
- Compact page headers — The "Apps", "Settings", "Add App" and other page titles now use smaller headers, giving more room to content (#3107).
- Per-app checkboxes in the update dialog — Instead of all-or-nothing toggles, the dialog now lists each app individually with a checkbox, so you can choose exactly which apps to update or install (#3107).
- 3-way action banner setting — The banner can now show for all actions, updates only, or be hidden entirely, controlled from Settings → Appearance (#3100).
- Settings reorganization — Settings are now grouped logically under Updates, Appearance, and Categories. Unused "page transition" toggles have been removed.
- Segmented buttons replaced with dropdowns — The install method, action banner, and group-by controls now use dropdown menus for a cleaner look.
- Consistent form input styling — All text fields, dropdowns, and toggles across the entire app now share the same filled, borderless look with rounded corners, including the add-app page, import page, and category editor.
- Download size shown inside the update button — The estimated APK size now appears directly in the Update or Install button text (e.g., "Update · 12 MB"), and is only looked up when an update or install is actually available.
- Fix wrong download size preview for sources like Uptodown (#3104) By @ImranR98 in #3119
- More UI tweaks
Full Changelog: v1.6.9...v1.6.10
v1.6.9
What's Changed
- Fix RuStore 400 Error by @nikitenich in #3098
- Update ru.json by @solokot in #3101
New Contributors
- @nikitenich made their first contribution in #3098
Full Changelog: v1.6.8...v1.6.9