v1.8.0#1
Merged
Merged
Conversation
Bump version to 1.8.0 and upgrade the project toolchain to Gradle 9.5.1, AGP 9.2.1, Kotlin 2.3.21, and JDK 21. Enhance application security by migrating sensitive authentication tokens to EncryptedSharedPreferences and implementing package-based client validation for the MediaBrowserService. Additional changes include: - Improve token refresh logic and network authentication stability - Refactor playback queue management to use service-side methods - Optimize ViewModel memory usage and pagination handling - Update core dependencies including Media3, Room, and Retrofit BREAKING CHANGE: Minimum supported Android version increased from API 21 to API 23.
…I layer Bump version to 1.8.0 and upgrade the project toolchain to Gradle 9.5.1, AGP 9.2.1, Kotlin 2.3.21, and JDK 21. Enhance security by migrating authentication tokens to `EncryptedSharedPreferences` and implementing package-based validation for `MediaBrowserService` callers. Additional changes include: - Increase minimum supported Android version to API 23 and target SDK to API 36 - Refactor `MusicApi` to align with v1 spec, including updated endpoints, path parameters, and playlist pagination - Implement an `Authenticator`-based token refresh flow with improved persistence and error handling - Update `ScrobbleApi` and `ScrobbleManager` with structured error responses and type-safe scrobble types - Optimize playback queue management with service-side APIs and proactive prefetching - Improve null safety for `Artist` genres and `AuthenticationResponse` fields - Update core dependencies including Compose BOM, Media3, Retrofit, and OkHttp BREAKING CHANGE: Minimum supported Android version increased from API 21 to API 23.
…I layer Bump version to 1.8.0 and upgrade the project toolchain to Gradle 9.5.1, AGP 9.2.1, Kotlin 2.3.21, and JDK 21. Enhance security by migrating authentication tokens to `EncryptedSharedPreferences` and implementing package-based validation for `MediaBrowserService` callers. Additional changes include: - Increase minimum supported Android version to API 23 and target SDK to API 36 - Refactor `MusicApi` to align with v1 spec, including updated endpoints, path parameters, and playlist pagination - Implement an `Authenticator`-based token refresh flow with improved persistence and error handling - Update `ScrobbleApi` and `ScrobbleManager` with structured error responses and type-safe scrobble types - Optimize playback queue management with service-side APIs and proactive prefetching - Improve null safety for `Artist` genres and `AuthenticationResponse` fields - Update core dependencies including Compose BOM, Media3, Retrofit, and OkHttp BREAKING CHANGE: Minimum supported Android version increased from API 21 to API 23.
…r context initialization
…r context initialization
…security Migrate `HomeViewModel` and `PlaylistViewModel` to observe reactive flows from `MusicService` for playback state, position, and context, eliminating UI-side polling loops. Replace substring-based package validation for Android Auto with exact matching in a new `AndroidAutoBrowserClientValidator`. Additional changes include: - Expand test coverage for API v1 contracts, scrobble payloads, and token refresh edge cases - Enhance `SettingsManager` to preserve refresh token expiry when tokens are omitted in responses - Refactor `MusicService` and `MusicPlaybackManager` to expose playback state via `StateFlow` - Update `README.md` and `CHANGELOG.md` with detailed project overview and technical specs - Add `AGENTS.md` with repository instructions and validation workflows for coding assistants
Update the GitHub Actions workflow to install Android SDK 36 packages and transition to module-specific Gradle tasks for testing and reporting. Refactor the JaCoCo task in the app module to correctly identify Kotlin and Java class directories and target specific execution data paths. Additional changes include: - Add funding configuration via Ko-fi - Update CI to use `:app:` namespaced Gradle tasks for unit tests and coverage - Optimize JaCoCo task dependencies by removing redundant coverage report tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates Melodee Player for the current v1 API and 1.8.0 branch work, with focus on authentication persistence, Android Auto stability, playback state cleanup, and project documentation.
Testing