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

    ๐Ÿฑ โš™๏ธ 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!