Releases: ryanw-mobile/OctoMeter
Release v2.3.1
This release contains some bug fixes:
- Account screen: Fixed to make "Switch to demo mode" button work again
- Agile screen: Fixed unit rate rounding and blink effect
- Usage screen: Fixed to correctly display day-night and three-way tariffs (e.g.: Octopus Go)
What's Changed
- (#534) Fixed to make switch to demo mode button work again by @ryanw-mobile in #355
- [chore] Renovate: Update ktor monorepo 3.0.0 to v3.0.1 by @renovate in #356
- [docs] README.md: tidying up contents by @ryanw-mobile in #357
- (#358) fix agile glitches rounding and blink by @ryanw-mobile in #360
- (#364) Usage screen: fix tiles section to support more tariff types by @ryanw-mobile in #365
Full Changelog: release/v2.3.0...release/v2.3.1
Release v2.3.0
This is a small release, mainly to address my immediate needs to note and avoid expensive electricity time slots.
- Agile Screen: added to flash "overpriced" tag when the current rate is beyond the reference tariff rates.
- Agile Screen: added to flash the cheapest times lot coming
- Tariffs Screen: updated the bottom sheet layout to make it more visually appealing
- Account Screen: wrapped the account details using a Card, and add greetings using the users' preferred name
What's Changed
- AgileScreen: update CurrentRateTile to show overpriced tag by @ryanw-mobile in #349
- (#344) agile screen: blink cheapest timeslots by @ryanw-mobile in #350
- (#351) Account Screen UI update by @ryanw-mobile in #353
Full Changelog: release/v2.2.0...release/v2.3.0
Release v2.2.0
- Fixed Agile Screen to also consider fixed tariffs other than 12M for comparison
- Updated mobile splash screen to use image with transparent background
- Updated tiles layout on Agile Screen and Usage Screen
- Updated Account screen to hide "return to demo mode" message in an AlertDialog
- Various dependency updates
What's Changed
- [chore] Renovate: Update composeUiTooling 1.7.1 to v1.7.2 by @renovate in #320
- [chore] Renovate: Update dependency androidx.compose:compose-bom 2024.09.01 to v2024.09.02 by @renovate in #321
- (#323) add local detekt and further improve code quality by @ryanw-mobile in #324
- [chore] Renovate: Update dependency gradle 8.9 to v8.10.2 by @renovate in #316
- Renovate: lift manual approval for Gradle updates by @ryanw-mobile in #326
- AgileViewModel: update keyword for latest fixed tariff lookup by @ryanw-mobile in #331
- [chore] Renovate: Update dependency org.jetbrains.compose 1.7.0-rc01+build1844-release-1.7 to v1.7.0-rc01 by @renovate in #327
- SplashScreen: provide a new hi-res splash screen image by @ryanw-mobile in #332
- (#330) update screenshot animated gif by @ryanw-mobile in #333
- README.md: update to invite OE customers for collaboration by @ryanw-mobile in #334
- (#337) AgileScreen: tiles revamp by @ryanw-mobile in #339
- Update Usage screen tiles by @ryanw-mobile in #340
- Dimension: change to extend from ScreenSizeInfo rather than Density by @ryanw-mobile in #341
- [chore] Renovate: Update ktor monorepo 2.3.12 to v3 (major) by @renovate in #336
- Account UI update by @ryanw-mobile in #343
Full Changelog: release/v2.1.0...release/v2.2.0
Release v2.1.0
Thank you for your support and interest.
This could be the last public release for now. 👋
- Updated App Icon
- Updated UI layouts
- Agile Screen: Implemented caching to enhance offline support; improved to show unit rates up to 23:00 the next day if available
What's Changed
- Add TestFlight QR Code for app download by @ryanw-mobile in #288
- (#289) Fix Chart RichToolTip and update Navigation Compose by @ryanw-mobile in #290
- [chore] Renovate: Update dependency io.github.koalaplot:koalaplot-core 0.6.1 to v0.6.3 by @renovate in #284
- [chore] Renovate: Update room 2.7.0-alpha05 to v2.7.0-alpha06 by @renovate in #291
- (#276) Run Android UI tests during Renovate update check by @ryanw-mobile in #293
- Add more unit tests by @ryanw-mobile in #294
- (#295) Migrate codecov to codacy by @ryanw-mobile in #296
- Update Account Screen layout by @ryanw-mobile in #297
- TariffsViewModel: add unit tests by @ryanw-mobile in #298
- Add unit test by @ryanw-mobile in #299
- Add unit test = by @ryanw-mobile in #300
- [chore] Renovate: Update kotlin by @renovate in #301
- Add unit tests for UsageViewModel by @ryanw-mobile in #303
- Minor UI layout update: Agile and Usage screen widget row by @ryanw-mobile in #304
- [docs] README.md: add renovate badge by @ryanw-mobile in #305
- Agile Screen: Showing unit rates up to 23:00 the next day by @ryanw-mobile in #306
- Minor UI retouch by @ryanw-mobile in #309
- [chore] Renovate: Update dependency org.jetbrains.compose 1.7.0-alpha03 to v1.7.0-beta01+build1796-release-1.7.0-beta01 by @renovate in #308
- (#310) update readme and copyright by @ryanw-mobile in #312
- (#307) Update app icon by @ryanw-mobile in #313
- Downgrade Gradle for iOS app to build successfully by @ryanw-mobile in #315
- (#281) AgileScreen: cache API results to minimise refreshes by @ryanw-mobile in #317
- CI: apply workaround for Windows installer workflow by @ryanw-mobile in #318
- CI: apply workaround for Windows installer workflow by @ryanw-mobile in #319
Full Changelog: release/v2.0.0...release/v2.1.0
Release v2.0.0
🕸️ We use the latest Apollo GraphQL v4 stable for Kotlin Multiplatform
In this major release, we have migrated Account, Meters, Products, and Tariff APIs from RestAPI to GraphQL, using the Apollo Kotlin v4 stable version released less than 12 hours ago. In this version, we use both Ktor/RestAPI and Apollo/GraphQL.
Major changes:
- TariffsScreen: We now support checking available tariffs using postcodes and can display all tariff types.
- AccountScreen: We now support displaying each electricity meter's latest smart meter reading and the full contract history with all tariff types.
What's Changed
- README.md: add easter egg by @ryanw-mobile in #265
- (#260) Apollo GraphQL set up and getTariff() migration by @ryanw-mobile in #266
- README.md: add badges by @rwmobi in #268
- (#269) Fix variable tariff product detection by @ryanw-mobile in #270
- Update Proguard rules for Apollo GraphQL by @ryanw-mobile in #272
- (#273) Redesign Tariffs Screen by @ryanw-mobile in #275
- (#277) migrate product details graphql by @ryanw-mobile in #278
- (#279) UsageScreen: update latest button icon and style by @ryanw-mobile in #280
- (#274) Migrate Account Screen to use GraphQL APIs by @ryanw-mobile in #282
- (#267) Merge android and windows build scripts by @ryanw-mobile in #283
Full Changelog: winRelease/v1.4.0...release/v2.0.0
Release v1.4.0
🗿 This version contains some minor bug-fixes.
Unless it does not work, this should be the last milestone release we use Ktor-Rest API in this project. After that, we will explore using GraphQL on Kotlin Multi-platform.
Improvements
- UI: Widgets on the Agile Screen and Usage Screen now have a maximum width.
- Agile Screen: The Y-axis of the chart is now scaled to show the referencing fixed and variable tariffs when their unit rates exceed the maximum Agile unit rates.
- Usage Screen: The date format of the chart tool-tip for Daily in week view is now aligned with other layouts.
Fixes
- Android App: Resolved an issue that prevented proper clearing of the navigation stack.
- Agile Screen: Addressed an issue to hide the blurred loading effects correctly.
- Usage Screen: Corrected determining the first tariff start date and implemented an error message to prevent loading when tariff details cannot be retrieved.
- Account Screen: For authenticated users, fixed an issue to indicate variable tariffs with variable unit rates correctly.
Release v1.3.0
Highlights - Say hello to RoomDB!
In this release, we have set up RoomDB as a local cache for meter readings and unit rates. We are testing if that works on all supported platforms.
UI changes
- Updated loading animation. We now show the blurred background with a smaller animated icon.
- Applied animation to Agile Screen rate change indicator
- Updated Agile Screen to check and show the latest Octopus fixed and flexible tariff unit rates on the chart for quick reference.
- Updated widget layouts for the Agile Screen and Usage Screen, so they don't aimlessly take full-screen width on the Desktop.
- Added a button on the Usage Screen to jump back to the latest available readings.
- Applied animation to the Usage Screen Consumption-Standing Charge progress bar.
- Update the Account screen to show full tariff history for logged-in users.
New features
- Added support to retrieve a complete set of data when there are more than 100 records.
- Under the Usage Screen, when viewing half-hourly usage, we can now correctly match the unit rate to produce actual Agile consumption charges for the day.
- Changed to first consider the user's active Agile tariff rather than the hard-coded one on the Agile Screen.
- Added the functionality to clear the local database cache, as we now use RoomDB to reduce API traffic.
Fixes
- Fixed to properly retry under the Usage Screen when the network error is reported.
Known issues
- The calculation of usage charges under the Usage Screen for non-half-hourly views is pretty rough. The implementation will be changed to map accurately with the standing charge and unit rates for a more realistic bill calculation.
What's Changed
- AnimatedRatioBar: make it animated by values by @ryanw-mobile in #207
- (#206) Refactor build.gradle.kts by @ryanw-mobile in #208
- Add unit tests by @ryanw-mobile in #209
- (#191) propagate tariff history and hide unit rate if tariff is variable by @ryanw-mobile in #210
- (#205) Phase out kotest assertions and introduce Kotlin Power Assert by @ryanw-mobile in #216
- (#142) Usage: implement rate-matching cost calculation to half-hourly view by @ryanw-mobile in #220
- (#23) Introduce Room Multiplatform Database by @ryanw-mobile in #223
- (#222) Replace discrete Instant parameters with ClosedRange by @ryanw-mobile in #224
- (#79) Enable repository to handle paging and full data-set download by @ryanw-mobile in #225
- (#211) Fix Usage Screen retry when returning from network error by @ryanw-mobile in #226
- (#213) Account screen: show past tariffs by @ryanw-mobile in #229
- (#174) Cache user profile in repository by @ryanw-mobile in #230
- (#221) AgileScreen: prefers user's Agile tariff by @ryanw-mobile in #231
- (#227) Cache half-hourly consumption data using RoomDB in repository by @ryanw-mobile in #232
- (#233) DesktopApp: Update proguard rules by @ryanw-mobile in #235
- (#234) Account screen: add clear cache option by @ryanw-mobile in #236
- (#228) Cache unit rates and standing charges by @ryanw-mobile in #237
- (#212) Improve widget section presentation by @ryanw-mobile in #239
- UsageScreen: Add button to jump back to latest readings by @ryanw-mobile in #241
- (#240) Create local cache data source by @ryanw-mobile in #242
- (#198) AgileScreen: Show latest fixed and flexible tariffs for comparison by @ryanw-mobile in #243
Full Changelog: winRelease/v1.2.0...release/v1.3.0
Release v1.2.0
Windows & MacOS installers are both available!
Attached in this release, we have DMG (MacOS), EXE & MSI (Windows) Installers.
All of them are release builds with obfuscations and resource shrinking enabled for smaller file sizes.
Major Updates
- App: Improve Agile Screen negative unit rate presentations
- App: Add indicator to show consumption : standing charge ratio
- App: Improved Agile Screen dashboard widget text scaling
- Android: Fxied crash when user preferences failed to decrypt user data
- Android: Switched Ktor engine from CIO to OkHttp
- Desktop: Fixed ProGuard settings for desktop release builds
What's Changed
- Animated screenshot: update to show v1.1.0 layout by @ryanw-mobile in #173
- Github Action: add new android build to artifact yaml by @ryanw-mobile in #175
- Github Action: fix create_artifact_release yaml by @ryanw-mobile in #176
- (#172) Fix Android App crash in release build by @ryanw-mobile in #177
- (#167) GitHub actions for windows installer by @ryanw-mobile in #179
- Github Actions: turn of CI triggers for windows build by @rwmobi in #180
- Github Actions: fix to build debug rather than release by @rwmobi in #181
- (#146) Hide empty columns on Agile and Usage screens by @ryanw-mobile in #182
- (#183) Fix Agile chart to properly set range floor to 0 for all-positive rate dataset by @ryanw-mobile in #185
- Announcing Windows Installer availability by @ryanw-mobile in #186
- [chore] Renovate: Update composeUiTooling 1.6.7 to v1.6.8 by @renovate in #169
- Agile Screen: Compare Tariff Code and show Retail Region descriptive text by @ryanw-mobile in #192
- (#184) Fix proguard rules for desktop release builds by @ryanw-mobile in #193
- Add Codacy check and badge by @ryanw-mobile in #195
- Ktor: switch engine from CIO to OkHttp for Android by @ryanw-mobile in #196
- (#187) dashboard widget text scaling by @ryanw-mobile in #197
- (#178) improve negative rate representation by @ryanw-mobile in #199
- (#189) add standing charge ratio indicator by @ryanw-mobile in #200
Full Changelog: release/v1.1.0...release/v1.2.0
Release v1.1.0
🎉 MacOS & Windows desktop app installers are now available!
Major changes in this release:
- Improved dark theme
- Improved the Tariff Details screen UI
- Introduced the ability to restore the previous window size on Desktop
- Made App title bar static on iOS
- Fixed British Summer Time calculations for the Usage screen
- Fixed the unit rate countdown to work after 23:00 BST every night for the Agile screen
- Fixed to show negative unit rates for the Agile screen
- Added configuration to produce MacOS desktop app for distribution
What's Changed
- [docs] add screenshot by @ryanw-mobile in #149
- (#144) Provide DemoRestApiRepository thru DI by @ryanw-mobile in #152
- (#132) update icons copyright by @ryanw-mobile in #154
- (#151) Change sticky header to static header by @ryanw-mobile in #155
- (#153) improve tariff details screen by @ryanw-mobile in #156
- (#147) Kotlinx.datetime usage refactoring and add BST unit tests by @ryanw-mobile in #157
- Add some unit tests by @ryanw-mobile in #158
- (#125) desktop: preserve window size by @ryanw-mobile in #159
- (#160) Fix android app crash on pixel 7 by @ryanw-mobile in #161
- Update Dark Theme color by @ryanw-mobile in #162
- (#163) AgileScreen: render negative unit rates by @ryanw-mobile in #164
- (#143) Fix Agile screen countdown pass API boundaries by @ryanw-mobile in #165
- (#145) Set up MacOS Desktop App distribution by @ryanw-mobile in #166
Full Changelog: release/v1.0.0...release/v1.1.0
Release v1.0.0
This is the first release of OctoMeter.
It works for me, but it should also work for you as a demo app without a need to input the required API Key.
For Android, you may download the apk without a need to build locally.
For iOS, you may simply get it from Test Flight.
Desktop App distributable is coming soon. Right now you may build it from Android Studio, or IntelliJ Idea.