fix(deps): update apollo graphql packages to v3.8.2 #171
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.6.2
->3.8.2
3.6.2
->3.8.2
3.6.2
->3.8.2
3.6.2
->3.8.2
Release Notes
apollographql/apollo-kotlin (com.apollographql.apollo3:apollo-normalized-cache-sqlite)
v3.8.2
2023-05-25
A maintenance release with bugfixes, mostly around WebSockets and subscriptions as well as a LocalTime adapter and options to work with operation manifests.
Huge THANK YOU to @baconz, @AlexHartford, @Oleur for the love they put in WebSocket contributions as well as @Jephuff for their first contribution 💙 .
👷 All changes
Service.operationManifestFormat
(#4981)watch()
(#4914)v3.8.1
2023-04-21
This patch release contains 2 bug fixes.
👷 All changes
v3.8.0
2023-03-28
This release adds two new artifacts that contain Jetpack compose extensions amongst other fixes.
💙️ External contributors
Many thanks to @slinstacart and @hbmartin for their contributions to this release!
✨ [New] Jetpack compose extension (#4802)
You can now use the
apollo-compose-support
artifact:This artifact contains the
toState()
andwatchAsState()
extensions:If you are working with paginated data, you can also add
apollo-compose-paging-support
to your dependencies:This artifact contains a helper function to create
androidx.pagin.Pager
instances (androix documentation):As always, feedback is very welcome. Let us know what you think of the feature 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).
✨ [New] Gradle plugin: run codegen after gradle sync
If you import a new project or run a Gradle sync, your GraphQL models are now automatically generated so that the IDE can find the symbols and your files do not show red underlines. This takes into account Gradle up-to-date checks and it should be pretty fast. If you want to opt-out, you can do so with
generateSourcesDuringGradleSync.set(false)
:👷 All changes
v3.7.5
2023-03-14
This release contains a bunch of fixes and minor improvements.
Many thanks to @adubovkin and @ndwhelan for contributing to the project, and to all the people who sent feedback! 💜
🐛 Bug fixes
@JsName
annotation to Operation.name() (#4643)@include
or@skip
with default values (#4700)🔍 Deprecation warnings (#4610)
As we're starting to work on version 4.0 which will drop support for the "compat" codegen and a few other options dating from version 2, we've added in this release some deprecation warnings that will warn when they're used. If you haven't done already, now is a good time to migrate!
👷 Other changes
@skip
and@include
(#4645)v3.7.4
2023-01-13
This release contains a handful of bug fixes and improvements.
👷 All changes
v3.7.3
2022-12-20
This release contains a handful of bug fixes and improvements, and also discontinues the legacy JS artifacts.
Many thanks to @StefanChmielewski and @chao2zhang for contributing to the project! 🧡
⚙️ Removed JS legacy artifacts (#4591)
Historically, Kotlin Multiplatform has had 2 formats of JS artifacts: Legacy and IR, and Apollo Kotlin has been publishing both. However, the Legacy format is about to be deprecated with Kotlin 1.8 and moreover we've seen issues when using the Legacy artifact in the browser. That is why starting with this release, only the IR artifacts will be published. Please reach out if this causes any issue in your project.
👷 All changes
GraphQLWsProtocol.Factory.webSocketPayloadComposer
(#4589)alwaysGenerateTypesMatching
to execution time (#4578)service {}
in all messages/docs (#4572)v3.7.2
2022-12-05
This patch release brings a few fixes.
Many thanks to @davidshepherd7, @chao2zhang, @agrosner, @MyDogTom, @doucheng, @sam43 and @vincentjames501, for helping improve the library! 🙏
🔎 Explicit service declaration
Apollo Kotlin can be configured to work with multiple services and have the package name, schema files location, and other options specified for each of them. When using a single service however it is possible to omit the
service
block and set the options directly in theapollo
block - in that case, a default service namedservice
is automatically defined.While this saves a few lines, it relies on Gradle
afterEvaluate {}
block that makes the execution of the plugin less predictable and more subject to race conditions with other plugins (see here for an example).What's more, as we move more logic to build time, the name of the service is going to be used more and more in generated code. Since explicit is better than implicit, mandating that service name sounds a good thing to do and a warning is now printed if you do not define your service name.
To remove the warning, embed the options into a
service
block:👷 All changes
canBeBatched
andhttpHeaders
orthogonal (#4534)v3.7.1
2022-11-18
A patch release with a few fixes.
👷 All changes
Many thanks to @Holoceo, @juliagarrigos, @davidshepherd7 and @eduardb for the feedbacks 💙
v3.7.0
2022-11-08
This version adds multiple new low level features. These new features expose a lot of API surface, and they will probably stay experimental until 4.0. Feedback is always very welcome.
✨️ [new & experimental] compiler hooks API (#4474, #4026)
Compiler hooks allow you to tweak the generated models by exposing the underlying JavaPoet/KotlinPoet structures. You can use it for an example to:
__typename
(source)To do so, make sure to use the "external" version of the plugin:
And then register your hook to the plugin:
✨️ [new & experimental] operationBasedWithInterfaces codegen (#4370)
By default, Apollo Kotlin models fragments with synthetic nullable fields. If you have a lot of fragments, checking these fields requires using
if
statements. For an example, with a query like so:you can access data like so:
Some of the combinations could be impossible. Maybe all the pets in your schema are warm blooded. Or maybe only cat is a warm blooded. To model this better and work around KT-8819, @chalermpong implemented a new codegen that adds a base sealed interface. Different implementations contain the same synthetic fragment fields as in the default codegen except that their nullability will be updated depending the branch:
To try it out, add this to your Gradle scripts:
apollo { codegenModels.set("experimental_operationBasedWithInterfaces") }
Many many thanks to @chalermpong for diving into this 💙
✨️ [new & experimental] usedCoordinates auto detection (#4494)
By default, Apollo Kotlin only generates the types that are used in your queries. This is important because some schemas are really big and generating all the types would waste a lot of CPU cycles. In multi-modules scenarios, the codegen only knows about types that are used locally in that module. If two sibling modules use the same type and that type is not used upstream, that could lead to errors like this:
This version introduces new options to detect the used types automatically. It does so by doing a first pass at the GraphQL queries to determine the used type. Upstream modules can use the results of that computation without creating a circular dependency. To set up auto detection of used coordinates, configure your schema module to get the used coordinates from the feature module using the
apolloUsedCoordinates
configuration:And in each of your feature module, configure the
apolloSchema
dependency:👷 All changes
registerJavaGeneratingTask
, fixes lint trying to scan generated sources (#4486)generateModelBuilder
togenerateModelBuilders
and add test (#4476)JSWebSocketEngine
(#4445)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.