Version 3.0.0-alpha07 has new builtin Adapters for java.time, better custom scalar handling for multi module projects and multiple fixes for MPP and json parsers.
💜 Many thanks to @ProVir, @ychescale9 and @pauldavies83 for all the feedback and investigations !💜
✨[new] Adapters for java.time
Like there were adapters for kotlinx.datetime, you can now use java.time adapters from the apollo-adapters package:
com.apollographql.apollo3.adapter.JavaInstantAdaptercom.apollographql.apollo3.adapter.JavaLocalDateAdaptercom.apollographql.apollo3.adapter.JavaLocalDateTimeAdapter
🚧[breaking] renamed kotlinx.datetime Adapters
To keep things symmetrical with the java.timeadapters, the kotlinx.datetime adapters are now named:
com.apollographql.apollo3.adapter.KotlinxInstantAdaptercom.apollographql.apollo3.adapter.KotlinxLocalDateAdaptercom.apollographql.apollo3.adapter.KotlinxLocalDateTimeAdapter
🚧[breaking] new LongAdapter package name
Because LongAdapter is widely used and doesn't require any additional dependencies, it is now in the builtin apollo-api package
// Replace
com.apollographql.apollo3.adapter.LongAdapter
// With
com.apollographql.apollo3.api.LongAdapter👷 All Changes
- Fix OutOfBoundsException in MapJsonReader (#3375)
- Add Long support to JsonReader and JsonWriter (#3370)
- Fix structured concurrency issues dur to runCatching (#3364)
- add a convenience ApolloClient.apolloStore (#3367)
- simplify scalar handling (#3362)
- add java.time Adapters (#3360)
- relax freezing restrictions on the store (#3358)