[!WARNING]
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
apollographql/apollo-kotlin (com.apollographql.apollo3)
### [`v4.0.0-beta.6`](https://togithub.com/apollographql/apollo-kotlin/blob/HEAD/CHANGELOG.md#Version-400-beta6)
*2024-04-23*
#### SQL cache performance improvements
If you're using a chained memory + SQL cache, [#5840](https://togithub.com/apollographql/apollo-kotlin/issues/5840) makes sure cache writes are wrapped in a transaction, making them much faster.
#### Apollo Compiler Plugins
`Plugin` is renamed to `ApolloCompilerPlugin`. There is a new `documentTransform` API as well as other fixes. More details in the [compiler plugins documentation](https://www.apollographql.com/docs/kotlin/v4/advanced/compiler-plugins).
#### Experimental WebSockets
A new `.websocket` package is available that makes it easier to retry WebSockets and handle errors. More details and migration guide in the [experimental websockets documentation](https://www.apollographql.com/docs/kotlin/v4/advanced/experimental-websockets).
#### ApolloIdlingResource is deprecated
We recommend using reactive patterns to test your UI instead. See [this article about ways to do so](https://medium.com/androiddevelopers/alternatives-to-idling-resources-in-compose-tests-8ae71f9fc473).
#### Removed androidx.startup dependency
androidx.startup was introduced in beta.5 but is problematic for unit tests and other cases. beta.6 removes that dependency. More details in the [network connectivity documentation](https://www.apollographql.com/docs/kotlin/v4/advanced/network-connectivity).
#### WasmJS support for apollo-adapter
You can see Wasm in action at https://wasm.confetti-app.dev/
Many thanks to [@joreilly](https://togithub.com/joreilly), [@ychescale9](https://togithub.com/ychescale9) and [@japhib](https://togithub.com/japhib) for their contributions to this release 💙!
#### 👷 All changes
- \[normalized-cache]: use a single SQL transaction when using MemoryCache chaining ([#5840](https://togithub.com/apollographql/apollo-kotlin/issues/5840))
- \[compiler] expose apollo-ast as an api dependency ([#5838](https://togithub.com/apollographql/apollo-kotlin/issues/5838))
- \[compiler] Rename `Plugin` to `ApolloCompilerPlugin` and add error message for bad configurations ([#5821](https://togithub.com/apollographql/apollo-kotlin/issues/5821))
- \[IJ Plugin] Fix pulling file from device not working on AS Koala ([#5822](https://togithub.com/apollographql/apollo-kotlin/issues/5822))
- \[compiler] Add `@ApolloEnumConstructor` and make enum as sealed class Unknown constructor opt-in ([#5813](https://togithub.com/apollographql/apollo-kotlin/issues/5813))
- \[runtime] Move ApolloParseException to ApolloNetworkException ([#5816](https://togithub.com/apollographql/apollo-kotlin/issues/5816))
- \[normalized-cache] Let isFromCache be about the ApolloResponse ([#5805](https://togithub.com/apollographql/apollo-kotlin/issues/5805))
- \[compiler] Add DocumentTransform API ([#5809](https://togithub.com/apollographql/apollo-kotlin/issues/5809))
- \[idling-resource] Deprecate ApolloIdlingResource ([#5817](https://togithub.com/apollographql/apollo-kotlin/issues/5817), [#5764](https://togithub.com/apollographql/apollo-kotlin/issues/5764))
- \[runtime] Share the default OkHttpBuilder ([#5811](https://togithub.com/apollographql/apollo-kotlin/issues/5811))
- \[runtime] \[BREAKING] change `isOnline` to a suspend fun
- \[adapters] Support Kotlin/Wasm for apollo-adapters ([#5803](https://togithub.com/apollographql/apollo-kotlin/issues/5803))
- \[all] Bump Kotlin to 2.0.0-RC1 ([#5802](https://togithub.com/apollographql/apollo-kotlin/issues/5802))
- \[Codegen] Add CompiledArgumentDefinition ([#5797](https://togithub.com/apollographql/apollo-kotlin/issues/5797), [#5837](https://togithub.com/apollographql/apollo-kotlin/issues/5837))
- \[runtime] Merge experimental WebSocketNetworkTransport in apollo-runtime ([#5790](https://togithub.com/apollographql/apollo-kotlin/issues/5790))
- \[normalized-cache] Cache pagination: add FieldNameGenerator and EmbeddedFieldsProvider ([#5772](https://togithub.com/apollographql/apollo-kotlin/issues/5772))
- \[runtime] Support configuring `ApolloClient` with lazily initialized `Call.Factory`. ([#5784](https://togithub.com/apollographql/apollo-kotlin/issues/5784))
- \[runtime] fix ApolloClient.Builder.okHttpClient() returns null instead of this ([#5778](https://togithub.com/apollographql/apollo-kotlin/issues/5778))
- \[normalized-cache] Fix variable coercion in lists. Absent variables are coerced to null ([#5773](https://togithub.com/apollographql/apollo-kotlin/issues/5773))
- \[IJ Plugin] Fix an NPE ([#5770](https://togithub.com/apollographql/apollo-kotlin/issues/5770))
- \[runtime] Simplify ApolloCall ([#5765](https://togithub.com/apollographql/apollo-kotlin/issues/5765))
- \[runtime] remove `androidx.startup` dependency ([#5761](https://togithub.com/apollographql/apollo-kotlin/issues/5761), [#5720](https://togithub.com/apollographql/apollo-kotlin/issues/5720))
- \[compiler] Bump kotlin_labs definitions to v0.3 ([#5762](https://togithub.com/apollographql/apollo-kotlin/issues/5762))
- \[Pagination] Support nodes in Connection types ([#5754](https://togithub.com/apollographql/apollo-kotlin/issues/5754))
- \[compiler] Directive validation is now enforced by default ([#5758](https://togithub.com/apollographql/apollo-kotlin/issues/5758))
- \[cache] Make ApolloStore.publish() suspend ([#5755](https://togithub.com/apollographql/apollo-kotlin/issues/5755))
- \[runtime] Change the dispatcher earlier in the chain ([#4319](https://togithub.com/apollographql/apollo-kotlin/issues/4319))
- \[IJ Plugin] Add an advanced setting to include generated code references in GraphQL "Go To Declaration" ([#5743](https://togithub.com/apollographql/apollo-kotlin/issues/5743))
- \[IJ Plugin] Fix presentation of Kotlin elements when navigating to them from GraphQL ([#5739](https://togithub.com/apollographql/apollo-kotlin/issues/5739))
- \[IJ Plugin] Consider all Gradle projects recursively ([#5734](https://togithub.com/apollographql/apollo-kotlin/issues/5734))
- \[runtime] Deprecate ApolloClient.Builder.addInterceptors() ([#5733](https://togithub.com/apollographql/apollo-kotlin/issues/5733))
- \[all] use jdk-release ([#5731](https://togithub.com/apollographql/apollo-kotlin/issues/5731))
- \[http-cache] Ignore IOException when calling ApolloHttpCache.remove ([#5729](https://togithub.com/apollographql/apollo-kotlin/issues/5729))
- \[IJ plugin] Bump platformVersion and pluginSinceBuild from 232 to 233 ([#5726](https://togithub.com/apollographql/apollo-kotlin/issues/5726))
- \[runtime] add ApolloClient.failFastIfOffline ([#5725](https://togithub.com/apollographql/apollo-kotlin/issues/5725))
- \[all] Introduce "filesystem" sourceSet and use okio 3.9.0 ([#5719](https://togithub.com/apollographql/apollo-kotlin/issues/5719))
- \[runtime] Do not use Ktor in Js HttpEngine, use fetch directly instead ([#5702](https://togithub.com/apollographql/apollo-kotlin/issues/5702))
Configuration
📅 Schedule: Branch creation - "on sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
4.0.0-beta.5
->4.0.0-beta.6
4.0.0-beta.5
->4.0.0-beta.6
4.0.0-beta.5
->4.0.0-beta.6
Release Notes
apollographql/apollo-kotlin (com.apollographql.apollo3)
### [`v4.0.0-beta.6`](https://togithub.com/apollographql/apollo-kotlin/blob/HEAD/CHANGELOG.md#Version-400-beta6) *2024-04-23* #### SQL cache performance improvements If you're using a chained memory + SQL cache, [#5840](https://togithub.com/apollographql/apollo-kotlin/issues/5840) makes sure cache writes are wrapped in a transaction, making them much faster. #### Apollo Compiler Plugins `Plugin` is renamed to `ApolloCompilerPlugin`. There is a new `documentTransform` API as well as other fixes. More details in the [compiler plugins documentation](https://www.apollographql.com/docs/kotlin/v4/advanced/compiler-plugins). #### Experimental WebSockets A new `.websocket` package is available that makes it easier to retry WebSockets and handle errors. More details and migration guide in the [experimental websockets documentation](https://www.apollographql.com/docs/kotlin/v4/advanced/experimental-websockets). #### ApolloIdlingResource is deprecated We recommend using reactive patterns to test your UI instead. See [this article about ways to do so](https://medium.com/androiddevelopers/alternatives-to-idling-resources-in-compose-tests-8ae71f9fc473). #### Removed androidx.startup dependency androidx.startup was introduced in beta.5 but is problematic for unit tests and other cases. beta.6 removes that dependency. More details in the [network connectivity documentation](https://www.apollographql.com/docs/kotlin/v4/advanced/network-connectivity). #### WasmJS support for apollo-adapter You can see Wasm in action at https://wasm.confetti-app.dev/ Many thanks to [@joreilly](https://togithub.com/joreilly), [@ychescale9](https://togithub.com/ychescale9) and [@japhib](https://togithub.com/japhib) for their contributions to this release 💙! #### 👷 All changes - \[normalized-cache]: use a single SQL transaction when using MemoryCache chaining ([#5840](https://togithub.com/apollographql/apollo-kotlin/issues/5840)) - \[compiler] expose apollo-ast as an api dependency ([#5838](https://togithub.com/apollographql/apollo-kotlin/issues/5838)) - \[compiler] Rename `Plugin` to `ApolloCompilerPlugin` and add error message for bad configurations ([#5821](https://togithub.com/apollographql/apollo-kotlin/issues/5821)) - \[IJ Plugin] Fix pulling file from device not working on AS Koala ([#5822](https://togithub.com/apollographql/apollo-kotlin/issues/5822)) - \[compiler] Add `@ApolloEnumConstructor` and make enum as sealed class Unknown constructor opt-in ([#5813](https://togithub.com/apollographql/apollo-kotlin/issues/5813)) - \[runtime] Move ApolloParseException to ApolloNetworkException ([#5816](https://togithub.com/apollographql/apollo-kotlin/issues/5816)) - \[normalized-cache] Let isFromCache be about the ApolloResponse ([#5805](https://togithub.com/apollographql/apollo-kotlin/issues/5805)) - \[compiler] Add DocumentTransform API ([#5809](https://togithub.com/apollographql/apollo-kotlin/issues/5809)) - \[idling-resource] Deprecate ApolloIdlingResource ([#5817](https://togithub.com/apollographql/apollo-kotlin/issues/5817), [#5764](https://togithub.com/apollographql/apollo-kotlin/issues/5764)) - \[runtime] Share the default OkHttpBuilder ([#5811](https://togithub.com/apollographql/apollo-kotlin/issues/5811)) - \[runtime] \[BREAKING] change `isOnline` to a suspend fun - \[adapters] Support Kotlin/Wasm for apollo-adapters ([#5803](https://togithub.com/apollographql/apollo-kotlin/issues/5803)) - \[all] Bump Kotlin to 2.0.0-RC1 ([#5802](https://togithub.com/apollographql/apollo-kotlin/issues/5802)) - \[Codegen] Add CompiledArgumentDefinition ([#5797](https://togithub.com/apollographql/apollo-kotlin/issues/5797), [#5837](https://togithub.com/apollographql/apollo-kotlin/issues/5837)) - \[runtime] Merge experimental WebSocketNetworkTransport in apollo-runtime ([#5790](https://togithub.com/apollographql/apollo-kotlin/issues/5790)) - \[normalized-cache] Cache pagination: add FieldNameGenerator and EmbeddedFieldsProvider ([#5772](https://togithub.com/apollographql/apollo-kotlin/issues/5772)) - \[runtime] Support configuring `ApolloClient` with lazily initialized `Call.Factory`. ([#5784](https://togithub.com/apollographql/apollo-kotlin/issues/5784)) - \[runtime] fix ApolloClient.Builder.okHttpClient() returns null instead of this ([#5778](https://togithub.com/apollographql/apollo-kotlin/issues/5778)) - \[normalized-cache] Fix variable coercion in lists. Absent variables are coerced to null ([#5773](https://togithub.com/apollographql/apollo-kotlin/issues/5773)) - \[IJ Plugin] Fix an NPE ([#5770](https://togithub.com/apollographql/apollo-kotlin/issues/5770)) - \[runtime] Simplify ApolloCall ([#5765](https://togithub.com/apollographql/apollo-kotlin/issues/5765)) - \[runtime] remove `androidx.startup` dependency ([#5761](https://togithub.com/apollographql/apollo-kotlin/issues/5761), [#5720](https://togithub.com/apollographql/apollo-kotlin/issues/5720)) - \[compiler] Bump kotlin_labs definitions to v0.3 ([#5762](https://togithub.com/apollographql/apollo-kotlin/issues/5762)) - \[Pagination] Support nodes in Connection types ([#5754](https://togithub.com/apollographql/apollo-kotlin/issues/5754)) - \[compiler] Directive validation is now enforced by default ([#5758](https://togithub.com/apollographql/apollo-kotlin/issues/5758)) - \[cache] Make ApolloStore.publish() suspend ([#5755](https://togithub.com/apollographql/apollo-kotlin/issues/5755)) - \[runtime] Change the dispatcher earlier in the chain ([#4319](https://togithub.com/apollographql/apollo-kotlin/issues/4319)) - \[IJ Plugin] Add an advanced setting to include generated code references in GraphQL "Go To Declaration" ([#5743](https://togithub.com/apollographql/apollo-kotlin/issues/5743)) - \[IJ Plugin] Fix presentation of Kotlin elements when navigating to them from GraphQL ([#5739](https://togithub.com/apollographql/apollo-kotlin/issues/5739)) - \[IJ Plugin] Consider all Gradle projects recursively ([#5734](https://togithub.com/apollographql/apollo-kotlin/issues/5734)) - \[runtime] Deprecate ApolloClient.Builder.addInterceptors() ([#5733](https://togithub.com/apollographql/apollo-kotlin/issues/5733)) - \[all] use jdk-release ([#5731](https://togithub.com/apollographql/apollo-kotlin/issues/5731)) - \[http-cache] Ignore IOException when calling ApolloHttpCache.remove ([#5729](https://togithub.com/apollographql/apollo-kotlin/issues/5729)) - \[IJ plugin] Bump platformVersion and pluginSinceBuild from 232 to 233 ([#5726](https://togithub.com/apollographql/apollo-kotlin/issues/5726)) - \[runtime] add ApolloClient.failFastIfOffline ([#5725](https://togithub.com/apollographql/apollo-kotlin/issues/5725)) - \[all] Introduce "filesystem" sourceSet and use okio 3.9.0 ([#5719](https://togithub.com/apollographql/apollo-kotlin/issues/5719)) - \[runtime] Do not use Ktor in Js HttpEngine, use fetch directly instead ([#5702](https://togithub.com/apollographql/apollo-kotlin/issues/5702))Configuration
📅 Schedule: Branch creation - "on sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.