apollo-android v2.3.0 Release Notes
Release Date: 2020-08-13 // over 3 years ago-
๐ฑ โ ๏ธ Auto Persisted Queries changes
โฌ๏ธ Enabling Auto Persisted Queries with
ApolloClient.Builder.enableAutoPersistedQueries(true)
will now enable mutations as well (#2509). This should cause no problem in the vast majority of cases. Server supporting auto persisted queries usually support auto persisted mutations as well. As a precautionary measure, we nonetheles recommend testing the integration with your server after upgrading.๐ JS support for generated models
๐ The generated models and parsers can now target Javascript thanks to @andersio and @omainegra ๐. Check out the documentation for adding it to your multiplatform project. For runtime support, follow this issue.
OperationOutputGenerator
In addition to
OperationIdGenerator
, you can now generate operation IDs in batch. This is useful if your backend requires a list of operations to whitelist that should be sent all at once.Exemple usage:
// build.gradle.ktsapollo { // ... operationOutputGenerator.set(object : com.apollographql.apollo.compiler.OperationOutputGenerator { // don't forget to bump the version if you change the implementation override val version = "v1"override fun generate(operationDescriptorList: Collection\<OperationDescriptor\>): OperationOutput { return operationDescriptorList.associate { it.source.md5() to it } } }) }
Full Changelog
๐ฑ โจ New
- ๐ [Gradle Plugin] add a way to generate operation ids as batch (#2476)
- ๐ [Multiplatform] JS support in apollo-api (#2467)
- โ [SDL] add a basic validation test (#2493)
๐ท ๐ทโโ๏ธ Fixes
- ๐ [Runtime] AutoPersistedQueries supported for mutations
- ๐ [Runtime] add missing @deprecated and
toBuilder
for ApolloMutationCall (#2501) - [Kotlin Runtime] do not use Java8 forEach which is not available on some older android versions (#2517)
- ๐ [SqlLite Cache] bump SqlDelight version, fixes compatibility with SqlDelight 1.4.0 (#2508)
- ๐ [Plugin] better error message for multiple schemas (#2488)
- 0๏ธโฃ [Compiler] allow
defaultValue="null"
for non-string scalar types (#2490) - [RxJava2] Add is disposed checking to single (#2480)
- [SQL Cache] Fix writeToCacheAsynchronously boolean always false when prepareInterceptorChain() is called (#2484)
๐ โก Performance
- ๐ [apollo-api] Parse Longs only once (#2473)
- ๐ [Performance] bump okio to 2.7.0. See https://publicobject.com/2020/07/26/optimizing-new-byte/ (#2475)
๐ฑ โ๏ธ Internal
- ๐ [apollo-api] prefix Boolean Kotlin properties with
is
for better java interop (#2474)
๐ฑ โค๏ธ External contributors
Many thanks to @JakeSteam, @nymerias, @s1ee, @andersio, @omainegra and @olivierg13 for their awesome contributions!