apollo-android v2.2.3 Release Notes

Release Date: 2020-07-24 // over 3 years ago
  • Highlights

    🐎 Normalized cache performance improvements:

    🐎 Continuing from version 2.2.2, this version adds even more cache performance improvements. For SqlNormalizedCache, reads are now wrapped in a transaction, which will make things faster, especially on large objects (#2422).
    You also have the option to opt-in asynchonous cache writes (#2416):

    apolloClient.normalizedCache(cacheFactory, cacheKeyResolver, true)
    

    💻 Passing true for writeToCacheAsynchronously will make your UI display faster since it will get the network response without waiting for the cache write to happen.

    👍 SDL schema support:

    👍 Apollo Android now supports SDL (Schema Definition Language) for schemas (#2417). SDL is more concise and easier to read than the introspection json. To use it, place your SDL file in src/main/graphql/$some/$subdirectory/schema.sdl

    🍱 ✨ New

    • 🔌 [Codegen] Enable SDL schema Apollo Plugin support (#2417)
    • 🐎 [Performance] Batch normalized sql cache reads (#2422)
    • 🐎 [Performance] Run ApolloCacheInterceptor store write on dispatcher thread (#2416)
    • [Runtime] add ApolloClient.autoPersistedOperationsInterceptorFactory (#2420)
    • 👍 [apollo-normalized-cache] multiplatform support (#2457)

    👷 👷‍♂️ Fixes

    • [Publication] Fix packaging of apollo-normalized-cache (#2465)
    • [Compiler] Fix issue with using inline fragment inside another inline fragment (#2462)
    • [LruNormalizedCache] Fix a most likely Java -> Kotlin conversion error in the weighteer implementation (#2428)
    • [Kotlin Runtime] calling cancel() on the connection closes it too early, keep the (#2426)
    • 🏗 [Build] unbreak the generation of com.apollo.compiler.VERSION (#2424)
    • [Subscriptions] Allow calls to WebSocketSubscriptionTransport#send when not connected. (#2419)
    • 👍 [Compiler] Support empty graphql files (#2418)
    • 👍 [Coroutines-support] expose runtime/coroutines dependencies (#2415)

    🍱 ⚙️ Internal

    • 🏗 [Runtime] deprecate the "builder" methods on ApolloCall and add them on the Builder instead (#2434)
    • 🏗 [Build scripts] make the project compile with jdk13 (#2449)
    • [Tooling] 🛠️ Add tasks to check if the API is backward compatible (#2408)
    • 🔨 [Compiler] Refactor package structure for GraphQL and SDL parsers (#2411)

    🍱 ❤️ External contributors

    Many thanks to @BenSchwab, @jeffnyauke, @DSteve595, @Shevatro and @baconz for their awesome contributions!