Skip to content

Releases: oxygen-updater/oxygen-updater

v6.3.0

22 May 06:59
8d40e3d
Compare
Choose a tag to compare

Get it on Google Play

Added

  • ping server on device boot to track OS info (f690b1d)
    This helps us be aware of rollouts more immediately, so we can react quicker if necessary.
    Before this release, users needed to open the app after updating their device for us to get the same info, which resulted in unnecessary delays in potentially adding new OTA ZIPs to the app.

Translations

  • Fixed duplicate percentage symbol (%) in Croatian & Dutch (download progress strings)

Miscellaneous

  • Updated dependencies (f92e7a9)
    Gradle                 8.5    -> 8.7
    Google Services Plugin 4.4.0  -> 4.4.1
    Android Gradle Plugin  8.2.2  -> 8.4.1 (including fix for https://issuetracker.google.com/issues/327696048)
    Crashlytics Plugin     2.9.9  -> 3.0.1
    Kotlin                 1.9.22 -> 1.9.24
    KSP                    1.0.17 -> 1.0.20
    Kotlin Coroutines      1.7.3  -> 1.8.1
    
    Compose            1.6.0      ->  1.6.7
    Compose M3         1.2.0-rc01 ->  1.2.1
    Compose Compiler   1.5.8      ->  1.5.14
    Navigation-Compose 2.7.6      -> 2.7.7
    Activity-Compose   1.8.2      -> 1.9.0
    
    Coil                 2.5.0 ->  2.6.0
    Google Play Billing  6.1.0 ->  7.0.0
    AndroidX Annotation  1.7.1 ->  1.8.0
    AndroidX Browser     1.7.0 ->  1.8.0
    AndroidX Core       1.12.0 -> 1.13.1
    AndroidX Lifecycle   2.7.0 ->  2.8.0
    Firebase BOM        32.7.1 -> 33.0.0
    Play Services Ads   23.0.0 -> 23.1.0
    Dagger               2.50  -> 2.51.1
    Hilt                 1.1.0 ->  1.2.0
    Moshi               1.15.0 -> 1.15.1
    Retrofit            2.10.0 -> 2.11.0
    
    AndroidX Test core      1.6.0-alpha05 -> 1.6.0-beta01
    AndroidX Test runner    1.6.0-alpha06 -> 1.6.0-beta01
    AndroidX Test rules     1.6.0-alpha04 -> 1.6.0-beta01
    AndroidX Test ext.junit 1.2.0-alpha04 -> 1.2.0-beta01
    Jacoco                  0.8.11        -> 0.8.12
  • [ci] #249: add Compose UI instrumentation tests
  • [ci] support skipping individual jobs via opt-out phrase in commit message (02b8c25)
    For example, adding [ci skip-debug] or [ci skip-instrumentation] (without tilde) as the last line of the message.
    This extends GitHub's workflow skipping feature.
  • [ci] use API 22 instead of 21 to avoid InstallException: INSTALL_FAILED_DEXOPT (2fbc7b9)

In case you missed it, see the news article we published that detailed changes & improvements in v6 (Jetpack Compose rewrite).

Full APK size reduced by 266 KB relative to the previous release, v6.2.0.

v6.2.0

02 Feb 14:37
ac80f89
Compare
Choose a tag to compare

Get it on Google Play

Added

  • [fcm] introduce device-only topic in addition to the existing device+method one (dcd7893)
    We often need to send notifications to a large group of devices, regardless of the selected update method.
    Given how many device/method combinations there are, it doesn't make sense to send notifications to num(devices) * num(methods) topics in total.

    Now we can cut it by a factor of ~10, though it won't be used until much later when most people have updated to v6.2.0+.

Changed

  • [update]: advanced mode reminder text is now coloured as an error to make it stand out more (55bffca)
  • Reworked top app bar for edge-to-edge (af68a85)
    Both the app bar and the rest of the app's content can now flow under the status bar.
  • Removed status/nav bar scrims below Android 6/Marshmallow if the app's theme is "dark" (af68a85)
    This gives the same edge-to-edge look as in newer Android versions.
  • CollapsingAppBar's nav icon is no longer shown in landscape mode (2b1572f)
    SideRail already showed a nav icon with the same behaviour, so having it in CollapsingAppBar right next to it was unnecessarily redundant.

Fixed

  • [update] error state was shown even if server response was successful (22caacb)
    This was encountered only if our database did not have any entries for the user's chosen device/method, e.g. with the OnePlus 12/12R given that they're new devices with not OTA ZIPs available yet (well, except for the Indian variant).
  • [update] Install guide didn't always open automatically after MD5 verification (1a9c8d9)
  • [update] Download button's secondary action was inaccessible under the 2/3-button nav bar in landscape mode (8d47c41)
  • [settings] advanced mode's switch state wasn't maintained upon returning to the screen (67b28b6)
    This was a UI-only bug, and didn't affect anything outside of this screen.

Miscellaneous

  • Updated dependencies (6a8486a)
    Android Gradle Plugin 8.2.0  -> 8.2.2
    Kotlin                1.9.21 -> 1.9.22
    KSP                   1.0.16 -> 1.0.17
    
    Compose          1.6.0-beta03 ->  1.6.0
    Compose M3       1.2.0-beta01 ->  1.2.0-rc01
    Compose Compiler 1.5.7        ->  1.5.8
    Accompanist      0.33.2-alpha ->  0.34.0
    
    Firebase BOM        32.7.0     ->  32.7.1
    Dagger              2.48.1     ->  2.50
    LibSU               5.2.1      ->  5.2.2
    AndroidX Lifecycle  2.7.0-rc02 ->  2.7.0
    Play Services Base 18.2.0      -> 18.3.0
    Google UMP          2.1.0      ->  2.2.0

In case you missed it, see the news article we published that detailed changes & improvements in v6 (Jetpack Compose rewrite).

Full APK size did not change noticeably compared to the previous release, v6.1.1.

v6.1.1

21 Dec 14:36
ac44df2
Compare
Choose a tag to compare

Get it on Google Play

Fixed

  • [main] rare crashes when opening the app via an external link (aba3e02)
  • [article] interstitial ad was shown even to users who purchased the ad-free unlock (7eebac3)

In case you missed it, see the news article we published that detailed changes & improvements in v6 (Jetpack Compose rewrite).

v6.1.0

20 Dec 19:10
ca22e44
Compare
Choose a tag to compare

Get it on Google Play

Added

  • Toggling between read & unread states in the "News" screen will now animate visible items that changed their positions
    It was temporarily removed in v6.0.1 due to a Jetpack Compose bug.

Changed

  • Simplified code to use only a single activity (4a13a85)
    This should reduce memory footprint and improve runtime performance, especially on weaker hardware.
  • Top app bar will now transition if navigating to a different screen, e.g. opening an article from the "News" screen
  • FCM notification topic is now resubscribed if registration token changes
    This improves notification reliability from a backend perspective.
  • Our own language selection sheet will now be shown if the Android 13+ app-specific locale screen fails for whatever reason

Fixed

  • Incorrect Google Mobile Ads SDK initialization (d51ce55)
  • Crashes on Android versions before 8/Oreo when the app would log warnings/exceptions (d51ce55)
  • Rare crashes when clicking on links (97f2497)

Miscellaneous

  • Migrated DI framework from Koin to Hilt (6bf13a5)
    This should slightly improve startup & runtime performance.
  • Removed code meant for legacy backwards compatibility (1453cdb, 9c251e6)
  • Updated dependencies (7264257)
    Gradle 8.4    -> 8.5
    Kotlin 1.9.20 -> 1.9.21
    KSP    1.0.14 -> 1.0.16
    
    Compose              1.6.0-beta02  -> 1.6.0-beta03
    Compose M3           1.2.0-alpha12 -> 1.2.0-beta01
    Compose Compiler     1.5.5         -> 1.5.7
    Activity Compose     1.8.1         -> 1.8.2
    Navigation Compose   2.7.5         -> 2.7.6
    AndroidX Annotation  1.7.0         -> 1.7.1
    AndroidX Lifecycle   2.7.0-rc01    -> 2.7.0-rc02
    Firebase BOM        32.6.0         -> 32.7.0
    Play Services Ads   22.5.0         -> 22.6.0

In case you missed it, see the news article we published that detailed changes & improvements in v6 (Jetpack Compose rewrite).

Full APK reduced by 18 KB compared to the previous release, v6.0.3.

v6.0.3

21 Nov 09:28
a22f2b4
Compare
Choose a tag to compare

Get it on Google Play

Fixed

  • [NewsItem] Bugged/stuck AppBar UI in the article screen when scrolling (9b0a104)
    Regression since v6.0.2
  • [Settings] "GDPR ad consent" item's subtitle not being shown (8c1b74f)
  • [Main] Crashes when re-launching the app after getting a snackbar displayed, e.g. for no network connection, or app update status (ecf71a4)
  • [About] Rare crash when clicking the "Email" button (e26b2df)

See the news article we published that (1) announced early access releases on Patreon and subsequently the Play Store Open Beta; (2) detailed changes between v5.11.3 and v6.0.0.

v6.0.0

21 Nov 09:21
v6.0.0
79680ca
Compare
Choose a tag to compare

Get it on Google Play

This release marks the ground-up rewrite into Jetpack Compose. It was released to Play Store on 17th November. There were a few undocumented releases before this one:

  • [alpha] on Patreon: v6.0.0-patreon.1 (101), v6.0.0-patreon.2 (102), v6.0.0-patreon.3 (103)
  • [beta] on Play Store: v6.0.0-beta.1 (104), v6.0.0-beta.2 (105), v6.0.0-beta.3 (106)

See the news article we published that (1) announced early access releases on Patreon and subsequently the Play Store Open Beta; (2) detailed changes between v5.11.3 and v6.0.0.

Added

  • Support for distinguishing between all OnePlus Pad regional variants
    You will no longer see pesky "Unsupported device" or "Selected device mismatch" dialogs
  • GDPR ad consent form is now shown to EEA/UK users via Google UMP (user messaging platform)
    As a reminder, our app is ad-supported because we're just a few people involved in this whole project, and any amount of monetary gains go right back into Oxygen Updater & its team. It helps us pay for server and infrastructure costs, and also motivates us to continue taking out time from our lives to work on this. We hate ads as much as most of you do, but currently there is no other way to support this project long-term. Our Patreon subscribers are a huge help nonetheless.
  • Simplified code in some areas that should improve general performance, though it may not be noticeable

Translations

v6.0.2

21 Nov 09:25
4b2d01e
Compare
Choose a tag to compare

Get it on Google Play

This was released to Play Store on 18th November.

Fixed

  • GDPR ad consent form being shown even at onboarding/first-launch (fd86c4a)
  • Rare crashes when expanding/collapsing appbar (ed59ab8)

See the news article we published that (1) announced early access releases on Patreon and subsequently the Play Store Open Beta; (2) detailed changes between v5.11.3 and v6.0.0.

v6.0.1

21 Nov 09:23
7d33c09
Compare
Choose a tag to compare

Get it on Google Play

This was released to Play Store on 18th November.

Changed

  • Added "Don't show again" checkbox to notif permission sheet
  • Temporarily removed news list item animation because of a bug: https://issuetracker.google.com/issues/304435200
    It should've animated only when toggling between read & unread states, as before, but some recent dependency updates also made it animate (with jank) even when just scrolling

See the news article we published that (1) announced early access releases on Patreon and subsequently the Play Store Open Beta; (2) detailed changes between v5.11.3 and v6.0.0.

v5.11.3

15 Jun 07:29
c5bc95d
Compare
Choose a tag to compare

Get it on Google Play

Added

  • Support reading the new OxygenOS 13.1 version format (5b87840)
    Example: KB2001_13.1.0.513(EX01) instead of KB2001_11_F.66
  • [news] vertical scrollbars for better UX (1e93bc5)

Changed

  • [update] advanced mode tip won't be shown when not useful (76ee93e)
    We noticed a few people mistakenly selected a different device/method, were shown this tip, then proceeded to enable advanced mode without reading its explanation. It would probably reduce confusion if we stop showing this tip when it's not useful to the user.
    Earlier, it was shown if incoming OTA version did not match current OTA version. Now, we're adding the following checks too:
    • incoming must not be older than current
      Why: Older builds cannot be installed due to standard Android security measures, so there's no point in showing it to the user
    • incoming must be a full ZIP
      Why: Incremental ZIPs are meant for a specific source -> target version combo. If the user doesn't see it without advanced mode, then it's not meant for their device/method/version, so letting them download it is just a waste of bandwidth.

v5.11.2

14 Jun 11:36
f35aff5
Compare
Choose a tag to compare

Get it on Google Play

Fixed

  • [onboarding] last page did not layout correctly on some devices (67a2600)
    Culprit: hasty release of v5.11.1 without testing