Hello! Minor nit-pick: the v4.1.1 <release notes> ...
# apollo-kotlin
e
Hello! Minor nit-pick: the v4.1.1 release notes don't mention the Coroutines bump. I think this might be a breaking change for some (at least, it is for us 😢)
m
Woops 😬 , I wasn't expecting a minor version bump to be breaking 🤔
Do you have a stacktrace?
e
Yes 🙂
Copy code
java.lang.NoSuchMethodError: 'kotlinx.coroutines.CoroutineDispatcher kotlinx.coroutines.CoroutineDispatcher.limitedParallelism$default(kotlinx.coroutines.CoroutineDispatcher, int, java.lang.String, int, java.lang.Object)'
	at com.apollographql.apollo.network.ws.WebSocketNetworkTransport.<init>(WebSocketNetworkTransport.kt:89)
	at com.apollographql.apollo.network.ws.WebSocketNetworkTransport.<init>(WebSocketNetworkTransport.kt)
	at com.apollographql.apollo.network.ws.WebSocketNetworkTransport$Builder.build(WebSocketNetworkTransport.kt:442)
	at com.apollographql.apollo.ApolloClient.<init>(ApolloClient.kt:177)
	at com.apollographql.apollo.ApolloClient.<init>(ApolloClient.kt)
	at com.apollographql.apollo.ApolloClient$Builder.build(ApolloClient.kt:918)
Probably this is more of a self-inflicted wound. We are actually forcing the Coroutines version to 1.8 in our project, because we can't update just yet due to our testing setup breaking 🙈
m
Mmm, limited parallelism was experimental for some time but I think it became stable in 1.9
So that might be it, Apollo requires 1.9 probably
There's a high chance the
limitedParallelism
symbols changed in 1.9
1
e
Yes, but 1.9 removes some deprecated stuff which are painful to migrate away from, so some people like us might've not done it yet xD That's why I think it would've been nice to mention it in the release notes 😛
m
Wow, did they remove non-experimental deprecated symbols?
Usually that's only for major versions but 🤷
Anyways, you're right about the mention, I opened https://github.com/apollographql/apollo-kotlin/pull/6367
thank you color 1
e
Ok, not remove-remove, but @Deprecated(level = ERROR) "remove" 😄
m
Interesing... That should still work 🤔
What is the error you get if you upgrade coroutines to 1.9?
Ah you get a compile error of course
👌 1
So yea, "works as designed" 😅
e
pretty much 😆
but going back to the Apollo-upgrade error we get, just to confirm, they changed the experimental API's signature, like you suspected: https://github.com/Kotlin/kotlinx.coroutines/commit/dfbd4a8d86f167504aaa79a0ba0a1ffaab885571#diff-b1e48f76ce39658c6733e[…]ad572fe1081ea7925f5be1dR15
m
Right 👍
e
Just to close the loop, we updated the Coroutines library, and as a result we could also update Apollo without any issues 🙂
🎉 2