What's Changed
- Default to strict file-type registration (fixes #477) by @andiwand in #479
- Update core to 5.4.0 and switch to odr-only engine by @andiwand in #480
- update odrcore 5.5.0 by @andiwand in #486
- Log odrcore version and commit hash during initialize by @andiwand in #487
- Go back to landing screen instead of closing the app by @andiwand in #488
- Remove upload hint snackbar after loading a document by @andiwand in #489
- Only show per-page tabs for spreadsheets by @andiwand in #490
- Update dependencies and modernize gradle setup by @andiwand in #491
- Make CI independent of artifactory and add JVM unit tests by @andiwand in #492
- Bump excon from 0.110.0 to 1.5.0 by @dependabot[bot] in #496
- Bump addressable from 2.8.6 to 2.9.0 by @dependabot[bot] in #493
- Bump faraday from 1.10.3 to 1.10.6 by @dependabot[bot] in #494
- Fix mime detection and API<26 upload crash in the loaders by @andiwand in #497
- Make lint errors fail the build and publish findings to code scanning by @andiwand in #498
- Raise minSdk to 26 and drop the guards it makes dead by @andiwand in #499
- Take signing secrets out of the repo and drop dead Crashlytics wiring by @andiwand in #500
- Move to AGP 9 / Gradle 9, add a version catalog and dependabot by @andiwand in #501
- Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #507
- Bump actions/setup-python from 5 to 7 by @dependabot[bot] in #511
- Bump actions/cache from 4 to 6 by @dependabot[bot] in #510
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #509
- Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #508
- Add spotless with google-java-format and check it in CI by @andiwand in #502
- Add a release workflow and split building from uploading in fastlane by @andiwand in #503
- Modernize deprecated APIs and delete the dead remote config layer by @andiwand in #504
- Replace startActivityForResult, retained fragments and action bar tabs by @andiwand in #505
- Start the kotlin migration: build support, ktfmt and the leaf classes by @andiwand in #506
- Convert the remaining leaf classes and the unit tests to kotlin by @andiwand in #512
- Update conan-odr-index and bump odrcore to 5.7.0 by @andiwand in #513
- Rename the java package to app.opendocument.droid by @andiwand in #514
- Use odrcore's own JNI bindings instead of the hand-written wrapper by @andiwand in #515
- Log why the consent flow hid the ad banner by @andiwand in #516
- Convert the loaders and the ui leaf classes to kotlin by @andiwand in #517
- Convert MainActivity and DocumentFragment to kotlin by @andiwand in #518
- Convert the instrumented tests to kotlin by @andiwand in #519
- Drop the java interop annotations the migration made obsolete by @andiwand in #520
- Pin the ruby version the release workflow sets up by @andiwand in #521
- Check the keystore before the release build, not after by @andiwand in #522
- Fix the release workflow's play store upload, conan cache key and debug symbols step by @andiwand in #532
- Build the pro apk and attach it to the github release by @andiwand in #533
- Attach the apk from a job of its own so it can be retried by @andiwand in #534
- Always release both flavors, and archive both apks by @andiwand in #535
- Fix the flaky instrumented tests, and the app bug hiding behind one of them by @andiwand in #536
- Correct what the native bind actually sets by @andiwand in #537
Full Changelog: v4.6...v4.8.0