Release notes — 2.1.2
Connection
Connect via JRiver Access Key. Enter the 6-character key shown in JRiver under "Library Server" and the app resolves the host/port automatically through webplay.jriver.com. Username/password still used for MCWS auth.
Public-vs-session HTTP boundary tightened: split createDio / createPublicDio factories; lookup uses its own retrofit api (JRiverLookupApi) with no auth interceptor.
Local player
Resumes where you left off after a restart: track index, position, and volume are persisted to SharedPreferences and restored on launch (no auto-play).
LocalPlayerProvider upgraded to AsyncNotifier so init-time emissions can't overwrite the saved state.
Richer error logging: PlayerException code/message and the current track tag are surfaced when playback fails. IcyMetadata fields (info + headers) are logged individually for streaming-radio diagnosis.
Cleanup
Removed the unused "Playback Range" field from the Track model.