v3.0.0
This is the first stable release for Apollo Android 3 Apollo Kotlin 3 🎉!
There is documentation, a migration guide and a blog post.
In a nutshell, Apollo Kotlin 3 brings:
- coroutine APIs for easier concurrency
- multiplatform support makes it possible to run the same code on Android, JS, iOS, MacOS and linux
- responseBased codegen is a new optional codegen that models fragments as interfaces
- SQLite batching makes reading from the SQLite cache significantly faster
- Test builders offer a simple APIs to build fake models for your tests
- The @typePolicy and @fieldPolicy directives make it easier to define your cache ids at compile time
- The @nonnull directive catches null values at parsing time, so you don't have to deal with them in your UI code
Feel free to ask questions by either opening an issue on our GitHub repo, joining the community or stopping by our channel in the KotlinLang Slack(get your invite here).
Changes compared to 3.0.0-rc03
:
- Fix rewinding the Json stream when lists are involved (#3727)
- Kotlin 1.6.10 (#3723)
- Disable key fields check if unnecessary and optimize its perf (#3720)
- Added an easy way to log cache misses (#3724)
- Add a Data.toJson that uses reflection to lookup the adapter (#3719)
- Do not run the cache on the main thread (#3718)
- Promote JsonWriter extensions to public API (#3715)
- Make customScalarAdapters and subscriptionsNetworkTransport public (#3714)