tag:github.com,2008:https://github.com/apollographql/apollo-kotlin/releases
Release notes from apollo-kotlin
2024-11-05T10:46:13Z
tag:github.com,2008:Repository/69469299/v4.1.0
2024-12-21T17:50:20Z
v4.1.0
<h3>Ktor 3.0.0</h3>
<p>Version 4.1.0 updates usages of Ktor from 2.3.11 to 3.0.0:</p>
<ul>
<li>If you are using <code>apollo-runtime-js</code> or <code>apollo-debug-server-jvm</code>, you need to update your app to Ktor 3.0.0+ at the same time as updating to Apollo 4.1.0 (<code>apollo-debug-server-android</code> is unaffected).</li>
<li>If you are using the deprecated <code>apollo-mockserver</code> or <code>apollo-ktor-support</code> from this repo, you need to update to the <a href="https://www.apollographql.com/docs/kotlin/migration/4.0#moved-artifacts" rel="nofollow">new coordinates</a>.</li>
</ul>
<p>All other cases are unaffected. In particular, <code>apollo-runtime</code> on Android and iOS uses OkHttp and NsUrlConnection respectively and is not impacted by the Ktor update.</p>
<p>You can read more details in the <a href="https://github.com/apollographql/apollo-kotlin/pull/6214" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6214/hovercard">pull request</a>.</p>
<h3>New media type: <code>application/graphql-response+json</code></h3>
<p><code>application/graphql-response+json</code> is a new media type being introduced by the <a href="https://graphql.github.io/graphql-over-http/draft/" rel="nofollow">GraphQL over HTTP draft</a>. It allows differentiating a valid GraphQL response from an error JSON response that could be transmitted by a cache or proxy in the HTTP chain.</p>
<p>If your server uses <code>application/graphql-response+json</code> and returns non-2xx response, Apollo Kotlin will now parse those responses and expose <code>data</code> and <code>errors</code> instead of returning an <code>ApolloHttpException</code> before.</p>
<h3>K2 support for the IntelliJ plugin</h3>
<p>The IntelliJ plugin is now compatible with K2 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2528959227" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6150" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6150/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6150">#6150</a>)</p>
<h3>Removed <code>apollo-mockserver</code> and <code>apollo-ktor-support</code></h3>
<ul>
<li><code>apollo-mockserver</code> is now at <code>com.apollographql.mockserver:apollo-mockserver:0.1.0</code> and developed at <a href="https://github.com/apollographql/apollo-kotlin-mockserver">https://github.com/apollographql/apollo-kotlin-mockserver</a></li>
<li><code>apollo-ktor-support</code> is now at <code>com.apollographql.ktor:apollo-engine-ktor:0.1.0</code> and developed at <a href="https://github.com/apollographql/apollo-kotlin-ktor-support/">https://github.com/apollographql/apollo-kotlin-ktor-support/</a></li>
</ul>
<h3>π·ββοΈ All changes</h3>
<ul>
<li>[all] Update kotlinpoet to 2.0.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2607869889" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6215" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6215/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6215">#6215</a>)</li>
<li>[all] Update to Ktor 3 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2604804310" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6214" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6214/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6214">#6214</a>)</li>
<li>[all] Remove <code>apollo-mockserver</code> and <code>apollo-ktor-support</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2607869889" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6215" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6215/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6215">#6215</a>)</li>
<li>[all] Remove mockserver as a dependency of apollo-testing-support (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2611173751" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6218" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6218/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6218">#6218</a>)</li>
<li>[ast] Do not escape slashes in single quoted strings (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2572489392" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6190" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6190/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6190">#6190</a>)</li>
<li>[runtime] Add support for application/graphql-response+json (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2558739091" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6170" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6170/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6170">#6170</a>)</li>
<li>[runtime] Do not call experimental webSocket() method re-entrently (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2578665800" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6197" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6197/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6197">#6197</a>)</li>
<li>[debug server] Remove Ktor dependency from apollo-debug-server JVM (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2618456851" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6224" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6224/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6224">#6224</a>)</li>
<li>[codegen] Do not add internal to private members (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2604654106" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6213" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6213/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6213">#6213</a>)</li>
<li>[codegen] Fix name clash in data builder names when two types differ only by their case (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2578188561" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6195" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6195/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6195">#6195</a>)</li>
<li>[gradle plugin] Allow null in KSP arguments for Apollo Compiler Plugins (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2579500240" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6200" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6200/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6200">#6200</a>)</li>
<li>[gradle plugin] Do not log the full introspection JSON (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2579278266" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6199" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6199/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6199">#6199</a>)</li>
<li>[gradle plugin] Deprecate TargetLanguage.KOTLIN_1_5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2575522068" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6193" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6193/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6193">#6193</a>)</li>
<li>[IJ Plugin] Make the cache viewer understand the blob db format (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2566648342" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6187" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6187/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6187">#6187</a>)</li>
<li>[IJ Plugin] Bump IJ Platform Gradle Plugin to 2.0.1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2565824994" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6185" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6185/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6185">#6185</a>)</li>
<li>[IJ Plugin] Migrate to the K2 compatible Analysis API (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2528959227" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6150" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6150/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6150">#6150</a>)</li>
<li>[IJ Plugin] Schedule the GraphQL configuration reload early (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2621446453" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6228" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6228/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6228">#6228</a>)</li>
<li>[IJ Plugin] Rename related generated code when renaming an Operation/Fragment (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2620777321" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6227" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6227/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6227">#6227</a>)</li>
<li>[IJ Plugin] Only highlight the name of unused operations, rather than the whole operation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2618614239" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6226" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6226/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6226">#6226</a>)</li>
</ul>
martinbonnin
tag:github.com,2008:Repository/69469299/v4.0.1
2024-10-01T16:29:26Z
v4.0.1
<p>This release contains a handful of bug fixes and improvements.</p>
<h2>βοΈ Add <code>ApolloCompilerPlugin.schemaListener()</code></h2>
<p>The <a href="https://www.apollographql.com/docs/kotlin/advanced/compiler-plugins" rel="nofollow">compiler plugins</a> API has been extended to allow listening to schema changes.<br>
This can be used to have plugins generate code based on the schema. To do this, implement the <a href="https://www.apollographql.com/docs/kotlin/kdoc/apollo-compiler/com.apollographql.apollo.compiler/-apollo-compiler-plugin/schema-listener.html" rel="nofollow"><code>schemaListener</code></a><br>
function on your plugin:</p>
<div class="highlight highlight-source-kotlin notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="class MyCompilerPlugin() : ApolloCompilerPlugin {
@ApolloExperimental
override fun schemaListener(): SchemaListener {
return object : SchemaListener {
override fun onSchema(schema: Schema, outputDirectory: File) {
// Generate some code inside outputDirectory based on schema
}
}
}
}"><pre><span class="pl-k">class</span> <span class="pl-en">MyCompilerPlugin</span>() : ApolloCompilerPlugin {
@ApolloExperimental
<span class="pl-k">override</span> <span class="pl-k">fun</span> <span class="pl-en">schemaListener</span>(): <span class="pl-en">SchemaListener</span> {
<span class="pl-k">return</span> <span class="pl-k">object</span> <span class="pl-k">:</span> <span class="pl-en">SchemaListener</span> {
<span class="pl-k">override</span> <span class="pl-k">fun</span> <span class="pl-en">onSchema</span>(<span class="pl-smi">schema</span><span class="pl-k">:</span> <span class="pl-en">Schema</span>, <span class="pl-smi">outputDirectory</span><span class="pl-k">:</span> <span class="pl-en">File</span>) {
<span class="pl-c"><span class="pl-c">//</span> Generate some code inside outputDirectory based on schema</span>
}
}
}
}</pre></div>
<h2>π Allow mapping scalars to simple generic types</h2>
<p>Previously, to <a href="https://www.apollographql.com/docs/kotlin/essentials/custom-scalars" rel="nofollow">map a scalar</a> to a generic type, you had to use a <code>typealias</code>.<br>
Now, simple generic types are accepted, and common types like <code>List</code> and <code>String</code> don't need to be fully qualified:</p>
<div class="highlight highlight-source-kotlin notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="mapScalar("MassList", "List<com.example.Measure<com.example.Mass>>", "com.example.MassListAdapter")"><pre>mapScalar(<span class="pl-s"><span class="pl-pds">"</span>MassList<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>List<com.example.Measure<com.example.Mass>><span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>com.example.MassListAdapter<span class="pl-pds">"</span></span>)</pre></div>
<h2>π Contributors</h2>
<p>Many thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ebrattli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ebrattli">@ebrattli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agrosner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agrosner">@agrosner</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cvb941/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cvb941">@cvb941</a> for their contributions to this release π!</p>
<h2>π· All changes</h2>
<ul>
<li>[gradle-plugin] Deprecate <code>"operationOutput"</code> and <code>./gradlew downloadApolloSchema</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2448766546" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6097" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6097/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6097">#6097</a>)</li>
<li>[gradle-plugin] Use <code>registerJavaGeneratingTask</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2527877339" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6149" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6149/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6149">#6149</a>)</li>
<li>[apollo-ast] Add GQLDocument.validate(SchemaValidationOptions) to allow adding external schemas. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2550978401" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6164" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6164/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6164">#6164</a>)</li>
<li>[compiler] Add ApolloCompilerPlugin.schemaDocumentListener() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2556612795" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6165" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6165/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6165">#6165</a>)</li>
<li>[compiler] Pass schema to ApolloCompilerPlugin.schemaListener (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2557061657" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6166" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6166/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6166">#6166</a>)</li>
<li>[compiler] Avoid enum value clashing with the getter <code>field</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445889434" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6093" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6093/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6093">#6093</a>)</li>
<li>[compiler] Fix a few additional instances of %L used instead of %N (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2462719818" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6117" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6117/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6117">#6117</a>)</li>
<li>[compiler] Escape properties in input builder function body (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2462650701" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6116" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6116/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6116">#6116</a>)</li>
<li>[compiler] Provide a more descriptive error message when a resolution of a specific <code>ResolverKey</code> fails (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2495347667" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6136" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6136/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6136">#6136</a>)</li>
<li>[compiler] Deprecate <code>@nonnull</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2533296404" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6152" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6152/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6152">#6152</a>)</li>
<li>[compiler] Allow mapping scalars to simple generic types (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2539264644" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6158" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6158/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6158">#6158</a>)</li>
<li>[tooling] Allow to shutdown SchemaDownloader (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445232227" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6091" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6091/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6091">#6091</a>)</li>
<li>[tooling] Remove warning (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445279723" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6092" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6092/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6092">#6092</a>)</li>
<li>[WebSockets] connectionParams -> connectionPayload (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2452777406" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6103" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6103/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6103">#6103</a>)</li>
<li>[WebSockets] add NetworkTransport.closeConnection() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2453557728" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6105" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6105/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6105">#6105</a>)</li>
<li>[BREAKING][runtime] Change NetworkMonitor to expose a StateFlow directly (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2463453371" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6119" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6119/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6119">#6119</a>)</li>
<li>[runtime] Add 'OfflineException' as a cause when using failFastIfOffline (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2452791382" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6104" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6104/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6104">#6104</a>)</li>
<li>[apollo-api] Fix reading <code>JsonNumber</code> in <code>MapJsonReader</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2513345372" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6141" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6141/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6141">#6141</a>)</li>
<li>[cache] Allow to store <code>JsonNumber</code> in <code>Record</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2506390394" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6139" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6139/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6139">#6139</a>)</li>
<li>[cache] Fix cascade SQL cache remove loops forever on cyclic references (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2503092652" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6137" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6137/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6137">#6137</a>)</li>
<li>[IJ Plugin] Bump pluginUntilBuild to 242 and pluginSinceBuild to 241 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2456418422" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6111" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6111/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6111">#6111</a>)</li>
<li>[IJ Plugin] Add ApolloOneOfGraphQLViolationInspection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2473016737" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6125" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6125/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6125">#6125</a>)</li>
<li>[IJ Plugin] Improve performance of ApolloGraphQLConfigFilePresentInspection and ApolloGraphQLConfigFilePresentAnnotator (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2473253146" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6126" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6126/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6126">#6126</a>)</li>
<li>[IJ Plugin] Fix high latency field inspection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2516043731" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6142" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6142/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6142">#6142</a>)</li>
<li>[IJ Plugin] Correctly name Open In items (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2529048784" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6151" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6151/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6151">#6151</a>)</li>
<li>[infra] Bump Kotlin to 2.0.10 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2453699858" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6107" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6107/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6107">#6107</a>)</li>
<li>[infra] Bump Kotlin to 2.0.20 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2482597777" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6131" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6131/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6131">#6131</a>)</li>
<li>[infra] Bump develocity (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2474998397" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6128" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6128/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6128">#6128</a>)</li>
<li>[infra] Update Apollo Execution (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505880183" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6138" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6138/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6138">#6138</a>)</li>
<li>[infra] Bump develocity (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2519009286" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6144" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6144/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6144">#6144</a>)</li>
<li>[infra] Allow compiling the project with Java22 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2519258383" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6145" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6145/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6145">#6145</a>)</li>
</ul>
BoD
tag:github.com,2008:Repository/69469299/v4.0.0
2024-07-29T20:54:52Z
v4.0.0
<p>Apollo Kotlin 4 is a maturity release. It focuses on tooling, stability and making the library more maintainable, so it can evolve smoothly for the many years to come.</p>
<p>While most of the core APIs stayed the same, Apollo Kotlin 4 contains a few binary breaking changes. To account for that, and in order to be more future-proof, we changed the package name to <code>com.apollographql.apollo</code>.</p>
<p>You need to replace all the <code>com.apollographql.apollo3</code> with <code>com.apollographql.apollo</code> in your codebase.</p>
<ul>
<li>Migration guide: <a href="https://www.apollographql.com/docs/kotlin/migration/4.0" rel="nofollow">https://www.apollographql.com/docs/kotlin/migration/4.0</a>.</li>
<li>Evolution policy: <a href="https://www.apollographql.com/docs/kotlin/essentials/evolution" rel="nofollow">https://www.apollographql.com/docs/kotlin/essentials/evolution</a>.</li>
</ul>
<p>Thanks again to everyone who provided feedback during the alphas/betas.</p>
<h3>Main changes</h3>
<ul>
<li>New package name (<a href="https://www.apollographql.com/docs/kotlin/migration/4.0" rel="nofollow">migration guide</a>)</li>
<li>Moved artifacts (<a href="https://www.apollographql.com/docs/kotlin/advanced/galaxy" rel="nofollow">Apollo Kotlin galaxy documentation page</a>)</li>
<li>Improved error handling (<a href="https://www.apollographql.com/docs/kotlin/migration/4.0#fetch-errors-do-not-throw" rel="nofollow">migration guide</a>)</li>
<li>Android Studio/IntelliJ Plugin (<a href="https://www.apollographql.com/docs/kotlin/testing/android-studio-plugin" rel="nofollow">installation instructions</a>)</li>
<li>Multiplatform GraphQL parser (<a href="https://www.apollographql.com/docs/kotlin/advanced/apollo-ast" rel="nofollow">doc</a>)</li>
<li>Apollo Compiler Plugin API (<a href="https://www.apollographql.com/docs/kotlin/advanced/compiler-plugins" rel="nofollow">doc</a>)</li>
<li>WasmJs support</li>
<li>NetworkMonitor API (<a href="https://www.apollographql.com/docs/kotlin/advanced/network-connectivity" rel="nofollow">doc</a>)</li>
<li>Experimental WebSocket API (<a href="https://www.apollographql.com/docs/kotlin/advanced/experimental-websockets" rel="nofollow">doc</a>)</li>
<li>Experimental support for <code>@oneOf</code> (<a href="https://github.com/graphql/graphql-spec/pull/825" data-hovercard-type="pull_request" data-hovercard-url="/graphql/graphql-spec/pull/825/hovercard">GraphQL RFC</a>)</li>
<li>Experimental support for <code>@semanticNonNull</code> and <code>@catch</code> (<a href="https://www.apollographql.com/docs/kotlin/advanced/nullability" rel="nofollow">doc</a>)</li>
</ul>
<h3>Changes against 3.8.5</h3>
<ul>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5984" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5984/hovercard">#5984</a> - Add doNotStoreOnDisk()</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5982" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5982/hovercard">#5982</a> - RetryOnNetworkErrorInterceptor should be configurable</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5971" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5971/hovercard">#5971</a> - writeOperation/writeFragment no longer publish updates by default</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5966" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5966/hovercard">#5966</a> - Move apollo-execution out of the main repo</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5952" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5952/hovercard">#5952</a> - [IJ Plugin] Cache GraphQL project config</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5946" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5946/hovercard">#5946</a> - Sub-protocol not included when opening websocket [4.0.0-beta6]</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5933" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5933/hovercard">#5933</a> - [IJ/AS plugin] Internal error: NullPointerException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5929" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5929/hovercard">#5929</a> - Unnecessary AndroidX Multidex library included</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5922" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5922/hovercard">#5922</a> - Apply com.apollographql.apollo3 plugin will break the dependencies in Kotlin Multiplatform according to IDEA</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5917" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5917/hovercard">#5917</a> - Enabling apollo metadata generation for multi-module codegen causes build cache misses</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5901" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5901/hovercard">#5901</a> - A request with any enum having rawValue = null hangs forever</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5899" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5899/hovercard">#5899</a> - [IJ Plugin] UI for 'Go to declaration' is too wide</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5896" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5896/hovercard">#5896</a> - [IJ Plugin] Cache viewer icon has wrong color in "new ui" theme</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5887" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5887/hovercard">#5887</a> - [IJ Plugin] Warn when .graphqlrc files are present</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5885" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5885/hovercard">#5885</a> - Cronet request lifecycle not behaving correctly with Apollo.</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5884" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5884/hovercard">#5884</a> - [IJ/AS plugin] Internal error: NullPointerException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5834" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5834/hovercard">#5834</a> - SQL cache is unusably slow</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5833" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5833/hovercard">#5833</a> - Make apollo-mockserver a separate repository</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5832" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5832/hovercard">#5832</a> - MegaIssue: Independant versioning</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5827" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5827/hovercard">#5827</a> - [IJ Plugin] Incorrect error when repeating <code>@semanticNonNullField</code></li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5819" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5819/hovercard">#5819</a> - "Could not read normalized cache" in AS plugin</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5808" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5808/hovercard">#5808</a> - Support for tree shaking in the __Schema.possibleTypes()</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5801" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5801/hovercard">#5801</a> - ClassCastException is thrown when building an ApolloClient using a builder in KotlinJS</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5799" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5799/hovercard">#5799</a> - isFromCache is potentially confusing</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5796" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5796/hovercard">#5796</a> - Make it impossible to pass as input some type which was generated only to preserve forwards compatibility but was not meant to be used as input</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5795" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5795/hovercard">#5795</a> - WasmJs support for apollo-adapters</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5781" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5781/hovercard">#5781</a> - Codegen: rework how compiled field arguments are generated</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5777" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5777/hovercard">#5777</a> - ApolloClient.Builder.okHttpClient() returns null instead of this</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5775" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5775/hovercard">#5775</a> - Lazy version of okHttpCallFactory?</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5771" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5771/hovercard">#5771</a> - [IJ Plugin] Crash when navigating to GraphQL operation via margin marker</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5768" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5768/hovercard">#5768</a> - [IJ/AS plugin] Internal error: NullPointerException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5757" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5757/hovercard">#5757</a> - ApolloParseException is wrapping SocketException, StreamResetException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5753" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5753/hovercard">#5753</a> - [IJ/AS plugin] Internal error: NullPointerException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5745" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5745/hovercard">#5745</a> - Run subscriptions like queries with IDE plugins</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5738" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5738/hovercard">#5738</a> - [IJ Plugin] Tweak navigation from GraphQL to generated code</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5727" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5727/hovercard">#5727</a> - [Intellij Plugin] Truncate "go to" data</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5723" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5723/hovercard">#5723</a> - Remove sendApqExtensions and sendDocument from MutableExecutionOptions</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5715" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5715/hovercard">#5715</a> - Make NetworkMonitor work without androidx.startup</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5714" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5714/hovercard">#5714</a> - Upgrade IJ platform minVersion</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5713" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5713/hovercard">#5713</a> - Make benchmarks a composite build</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5712" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5712/hovercard">#5712</a> - generateServiceApolloSources task fails with nondescript NullPointerException when type extension references unknown key field</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5697" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5697/hovercard">#5697</a> - Websocket won't reopen on iOS</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5667" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5667/hovercard">#5667</a> - Experimental <code>@defer</code> support does not work with AutoPersistedQueryInterceptor</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5659" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5659/hovercard">#5659</a> - Use StreamingNSURLSessionHttpEngine by default on Apple</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5648" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5648/hovercard">#5648</a> - Megaissue: improvements to WebSockets</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5647" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5647/hovercard">#5647</a> - [IJ Plugin] Try the new IntelliJ Platform Gradle Plugin 2.0</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5641" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5641/hovercard">#5641</a> - Introspection is broken in the beta</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5616" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5616/hovercard">#5616</a> - [IJ Plugin] Send telemetry only for projects using Apollo</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5575" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5575/hovercard">#5575</a> - [IJ/AS plugin] Internal error: Throwable</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5568" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5568/hovercard">#5568</a> - Disallow <code>@typePolicy</code> on unions</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5507" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5507/hovercard">#5507</a> - 𧩠[IJ Plugin] Remove client only directives before sending the query to the server</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5500" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5500/hovercard">#5500</a> - [IJ Plugin] v3 -> v4 Migration: add <code>@link</code> imports for used kotlin_labs directives</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5481" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5481/hovercard">#5481</a> - [IJ/AS plugin] Internal error: ClassCastException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5468" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5468/hovercard">#5468</a> - Publish apollo-cli</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5455" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5455/hovercard">#5455</a> - Build fails after schema file rename when Gradle configuration cache enabled</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5449" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5449/hovercard">#5449</a> - [gradle-plugin] download{Service}SchemaFromIntrospection fails</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5431" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5431/hovercard">#5431</a> - Support <code>@oneOf</code> for Input Objects</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5415" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5415/hovercard">#5415</a> - Compiler plugin API + classloader isolation</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5413" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5413/hovercard">#5413</a> - [IJ plugin] Automatically import certain directives</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5379" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5379/hovercard">#5379</a> - Allow the cache viewer to sort items more "intelligently" when showing cache entries that have a number at the end</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5374" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5374/hovercard">#5374</a> - [IJ Plugin] Inspection to warn when using input types constructors</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5372" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5372/hovercard">#5372</a> - [IJ plugin] Normalized cache: reload button for file caches</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5345" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5345/hovercard">#5345</a> - [RFC] Remove X-APOLLO-... custom headers</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5342" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5342/hovercard">#5342</a> - [IJ/AS plugin] Internal error: IllegalArgumentException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5338" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5338/hovercard">#5338</a> - Unexpected behavior of <code>@include</code> directive on a fragment</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5337" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5337/hovercard">#5337</a> - [RFC] Error handling -- <code>@catch</code> & partial data</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5331" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5331/hovercard">#5331</a> - [IJ plugin] Quality of life improvements</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5329" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5329/hovercard">#5329</a> - [IJ plugin] Sometimes db files are not in the list from "Pull from device"</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5312" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5312/hovercard">#5312</a> - useV3ExceptionHandling should populate data even if errors are present</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5311" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5311/hovercard">#5311</a> - Warnings are surfaced during build when fragments with params are used in queries</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5299" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5299/hovercard">#5299</a> - [IJ/AS plugin] Cache viewer</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5266" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5266/hovercard">#5266</a> - [IJ/AS plugin] Internal error: PluginException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5261" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5261/hovercard">#5261</a> - [IJ/AS plugin] Internal error: PluginException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5241" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5241/hovercard">#5241</a> - Apollo Parse Exception - failed to parse</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5239" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5239/hovercard">#5239</a> - [IJ/AS plugin] Analytics</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5235" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5235/hovercard">#5235</a> - [IJ/AS Plugin] Use JetBrains Marketplace for weekly snapshots instead of Repsy</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5233" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5233/hovercard">#5233</a> - NullPointerException for Request with single-quote character</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5230" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5230/hovercard">#5230</a> - useV3ExceptionHandling should not throw ApolloGraphQLException</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5224" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5224/hovercard">#5224</a> - generateServiceApolloSources crashes if a fragment definition references itself</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5221" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5221/hovercard">#5221</a> - Implicit task dependency not working</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5220" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5220/hovercard">#5220</a> - [IDE Plugin] Sandbox Button Does Not Carry Over Fragments from other Modules</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5217" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5217/hovercard">#5217</a> - Retrying a subscription does not renew the id and may cause an error on the server because the id is already used</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5213" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5213/hovercard">#5213</a> - Gradle crash when <code>@typePolicy</code> defined for nonexistant field.</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5207" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5207/hovercard">#5207</a> - Add options to not generate data classes</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5200" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5200/hovercard">#5200</a> - Subscriptions: support SUBSCRIPTION_SCHEMA_RELOAD</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5186" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5186/hovercard">#5186</a> - Cache: Variable defaultValues are not taken into account for cache keys</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5173" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5173/hovercard">#5173</a> - [IJ/AS Plugin] Middle click on Fragment definition overrides GraphQL Go to usages.</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5172" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5172/hovercard">#5172</a> - [IJ/AS plugin] Ignore id field in Unused field inspection</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5171" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5171/hovercard">#5171</a> - Consider migrating generated code to use Enum.entries instead of Enum.values() for Kotlin 1.9 and onwards</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5159" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5159/hovercard">#5159</a> - Increase the maximum JSON nesting level, or make it customisable</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5112" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5112/hovercard">#5112</a> - :app:generateStorefrontApolloSources Variables used in the query are warned as unused.</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5066" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5066/hovercard">#5066</a> - 𧩠[IJ/AS plugin] "Find unused fields" inspection</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5057" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5057/hovercard">#5057</a> - [IJ plugin] Quick fix for expensive field: add <code>@defer</code></li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5040" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5040/hovercard">#5040</a> - [IJ/AS plugin] Operation renaming improvement</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5039" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5039/hovercard">#5039</a> - [IJ/AS plugin] Migration helper for the v4 multi-module syntax</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5035" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5035/hovercard">#5035</a> - Android Studio Plugin - Navigate to Query Gutter Icon Missing</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5033" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5033/hovercard">#5033</a> - [IJ plugin] "Go to declaration" doesn't offer graphql target when used on an import alias</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5028" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5028/hovercard">#5028</a> - [IJ/AS plugin] Feature: Apollo Studio field insights</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/5000" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/5000/hovercard">#5000</a> - Un-minimized query in comment has parse errors</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4977" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4977/hovercard">#4977</a> - [IJ/AS plugin] Show errors when mixing .graphql / .graphqls file contents</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4942" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4942/hovercard">#4942</a> - [IJ/AS plugin] Don't crash when ToolingModel method are not present</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4931" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4931/hovercard">#4931</a> - False positives on unused(?) input fields, Apollo: Use of deprecated input field {{ name }}</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4925" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4925/hovercard">#4925</a> - Task downloadFooApolloSchemaFromIntrospection fails to comply with configuration cache</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4921" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4921/hovercard">#4921</a> - Support for AGP 8.2.0</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4920" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4920/hovercard">#4920</a> - apollo-ast: support merging definitions without validation</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4919" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4919/hovercard">#4919</a> - [IJ/AS plugin] Navigation from code to GQL definition</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4889" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4889/hovercard">#4889</a> - [IJ/AS plugin] Support both AS stable and IJ stable</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4858" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4858/hovercard">#4858</a> - Remove initRuntimeIfNeeded() in Project</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4805" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4805/hovercard">#4805</a> - With more than one subscription and network off for long duration, webSocketReopenWhen can take unexpectedly long to establish connection when network is back on.</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4797" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4797/hovercard">#4797</a> - Cannot use GQLDocument.toUtf8() on documents that include the extend keyword</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4784" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4784/hovercard">#4784</a> - Fragments are skipped when the if condition is a variable with a false default value</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4775" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4775/hovercard">#4775</a> - WebSockets: allow changing the serverUrl of WebSocketNetworkTransport</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4761" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4761/hovercard">#4761</a> - IntelliJ plugin description, link to terms, etc.</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4760" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4760/hovercard">#4760</a> - [IJ/AS plugin] Make the GQL plugin setting to handle Apollo directives always checked</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4759" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4759/hovercard">#4759</a> - Automatic "compat" -> "operationBased" migration</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4747" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4747/hovercard">#4747</a> - generateOptionalOperationVariables setting is ignored.</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4744" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4744/hovercard">#4744</a> - Use Apollo Kotlin inside Apollo Kotlin</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4732" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4732/hovercard">#4732</a> - External interfaces for JS interop</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4728" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4728/hovercard">#4728</a> - Poor Performance of Kotlin/JS</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4711" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4711/hovercard">#4711</a> - RFC: v4 error handling</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4710" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4710/hovercard">#4710</a> - RFC: v4 package name</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4701" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4701/hovercard">#4701</a> - Kotlin/Wasm</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4669" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4669/hovercard">#4669</a> - Unit testing error resolving class</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4625" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4625/hovercard">#4625</a> - [IJ/AS plugin] Support for multiple schemas according to configuration</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4623" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4623/hovercard">#4623</a> - [IJ/AS plugin v3</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4622" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4622/hovercard">#4622</a> - [IJ/AS plugin] Migration helpers v3</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4621" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4621/hovercard">#4621</a> - [IJ/AS plugin] Automatic codegen invocation</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4620" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4620/hovercard">#4620</a> - [IJ/AS plugin] Project setup</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4619" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4619/hovercard">#4619</a> - [IJ/AS plugin] Initial release umbrella ticket</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4576" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4576/hovercard">#4576</a> - Android (JAVA)Apollo subscription only onConnected() is called</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4574" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4574/hovercard">#4574</a> - js client requests can fail due to inclusion of apollo specific headers</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4542" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4542/hovercard">#4542</a> - Allow supplying something other than suspending functions to core builders</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4530" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4530/hovercard">#4530</a> - The POM for com.apollographql.apollo3:apollo-rx3-support-java:jar:3.7.1 is missing, no dependency information available</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4519" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4519/hovercard">#4519</a> - Update to SQLDelight 2</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4518" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4518/hovercard">#4518</a> - Enforce validation of operation directives</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4516" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4516/hovercard">#4516</a> - π Gradle config: mandate service name</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4504" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4504/hovercard">#4504</a> - Allow custom SqlDriver to support multi-platform encryption</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4416" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4416/hovercard">#4416</a> - enable configuration cache</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4350" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4350/hovercard">#4350</a> - maven-publish doesn't play well with -apollo modules generated when generateApolloMetadata is used</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4325" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4325/hovercard">#4325</a> - [Umbrella issue] modernize build system</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4283" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4283/hovercard">#4283</a> - [Umbrella issue] Better Java support in Apollo Kotlin</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4205" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4205/hovercard">#4205</a> - Validation for custom schema directives</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4171" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4171/hovercard">#4171</a> - π§Ή 4.0 cleanups</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4160" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4160/hovercard">#4160</a> - π Multiplatform AST parser</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4150" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4150/hovercard">#4150</a> - Deprecate dispose() methods and instead implement okio.Closeable</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4062" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4062/hovercard">#4062</a> - Deprecate ApolloCompositeException with Error level and use suppressed exceptions instead</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/4003" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/4003/hovercard">#4003</a> - ApolloCall execute / toFlow / exception handling improvements</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/3890" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/3890/hovercard">#3890</a> - Passing executionContext to the platform engine</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/3751" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/3751/hovercard">#3751</a> - Automatic "codegenModels" migration</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/3733" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/3733/hovercard">#3733</a> - <code>@nonull</code> could have surprising effects in error cases</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/3694" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/3694/hovercard">#3694</a> - [umbrella issue] Java Runtime</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/3283" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/3283/hovercard">#3283</a> - Trigger a compilation error on name clashes</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/3152" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/3152/hovercard">#3152</a> - Provide module information (JPMS)</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/3143" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/3143/hovercard">#3143</a> - Implement toString for InputTypes</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/2823" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/2823/hovercard">#2823</a> - Cache and connection restore for Subscription</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/2783" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/2783/hovercard">#2783</a> - ApolloParseException caused by SocketTimeoutError while reading response body</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/2765" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/2765/hovercard">#2765</a> - Subscription switched to DISCONNECTED</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/2673" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/2673/hovercard">#2673</a> - [Compiler] Validate operation directives</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/2520" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/2520/hovercard">#2520</a> - Feature request: Resilient Parsing</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/2079" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/2079/hovercard">#2079</a> - Ktlint should not warn on generated Apollo code</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/1692" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/1692/hovercard">#1692</a> - On the fly code generation</li>
<li><a href="https://github.com/apollographql/apollo-kotlin/pull/650" data-hovercard-type="issue" data-hovercard-url="/apollographql/apollo-kotlin/issues/650/hovercard">#650</a> - Create Android Studio Plugin</li>
</ul>
martinbonnin
tag:github.com,2008:Repository/69469299/v4.0.0-rc.2
2024-07-22T10:39:59Z
v4.0.0-rc.2
<p>We're on the road to v4 with this second release candidate which includes a few minor tweaks as well as one new feature.</p>
<p>Note: in v4.0.0-rc.1 <code>apollo-debug-server</code> and <code>apollo-tooling</code> depended on <code>com.apollographql.apollo3</code> artifacts. This is no longer the case with <code>v4.0.0-rc.2</code>, where all dependencies are under the <code>com.apollographql.apollo</code> group id.</p>
<h2>Add memoryCacheOnly (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2400940470" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6049" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6049/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6049">#6049</a>)</h2>
<p><code>.memoryCacheOnly(true)</code> can be set on calls to read and store records in the memory cache only even when a persistent cache is configured.<br>
This can be useful in scenarios where long term storage isn't needed and performance is important.</p>
<ul>
<li>[gradle-plugin] Use a better warning for Service.schemaFile users (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2395623708" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6036" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6036/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6036">#6036</a>)</li>
<li>[all] Update apollo-kotlin-execution (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2396159615" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6040" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6040/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6040">#6040</a>)</li>
<li>[IJ Plugin] Add com.apollographql.apollo:apollo-api-jvm to dependencySupport (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2395946159" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6039" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6039/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6039">#6039</a>)</li>
<li>[all] Update to Gradle 8.9 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2408519880" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6056" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6056/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6056">#6056</a>)</li>
<li>[gradle-plugin] Undeprecate schemaFile (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2408501583" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6055" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6055/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6055">#6055</a>)</li>
<li>[gradle-plugin] Disable service-loading <code>ApolloCompilerPlugin</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2408860406" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6059" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6059/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6059">#6059</a>)</li>
</ul>
BoD
tag:github.com,2008:Repository/69469299/v3.8.5
2024-07-11T15:30:07Z
v3.8.5
<p>Version 3.8.5 is a maintenance release. New developments happen in the 4.x versions.</p>
<ul>
<li>[all] Bump okio to 3.9.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2270774979" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5868" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5868/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5868">#5868</a>)</li>
<li>[runtime] Adding checks for json end_document in http transport (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2298979778" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5894" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5894/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5894">#5894</a>)</li>
<li>[runtime] Adding checks for json end_document in http batching interceptors (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2298892655" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5892" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5892/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5892">#5892</a>)</li>
<li>[codegen] Fix mapping of the builtin Float scalar type (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2400114050" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6047" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6047/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6047">#6047</a>)</li>
<li>[normalized-cache] SqlNormalizedCacheFactory make sqldriver public to support Sqlcipher data encryption. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2355414089" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5972" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5972/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5972">#5972</a>)</li>
</ul>
BoD
tag:github.com,2008:Repository/69469299/v4.0.0-rc.1
2024-07-08T19:31:44Z
v4.0.0-rc.1
<h2>New package name & evolution policy</h2>
<p>We changed the package name from <code>com.apollographql.apollo3</code> to <code>com.apollographql.apollo</code> for version 4. This is a safe default for the many years to come and works well with our new <a href="https://www.apollographql.com/docs/kotlin/v4/essentials/evolution" rel="nofollow">evolution policy</a>.</p>
<p>If you are updating from version 3 or an alpha/beta version 4, you need to replace all <code>com.apollographql.apollo3</code> with <code>com.apollographql.apollo</code></p>
<h2>Apollo galaxy</h2>
<p>As part of this release, some of the non-core artifacts have been moved to separate coordinates and GitHub repositories. Moving forward, this will allow us to iterate faster on those artifacts while keeping the core ones more maintainable.</p>
<p>Some of the existing symbols are kept as deprecated to ease the transition (like <code>MockServer</code> for an example). Others (the <code>-incubating</code> ones) have been removed, and you need to update them now.</p>
<p>You can read more in the <a href="https://go.apollo.dev/ak-moved-artifacts" rel="nofollow">migration guide</a>.</p>
<h2>All changes</h2>
<ul>
<li>[BREAKING][all] Change package name to <code>com.apollographql.apollo</code></li>
<li>[BREAKING][all] Remove incubating compose support (moved to a separate repo, see <a href="https://go.apollo.dev/ak-moved-artifacts" rel="nofollow">migration guide</a>)(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2366993173" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5987" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5987/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5987">#5987</a>)</li>
<li>[BREAKING][all] Remove incubating apollo-cli (moved to a separate repo, see <a href="https://go.apollo.dev/ak-moved-artifacts" rel="nofollow">migration guide</a>)(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2366791918" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5986" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5986/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5986">#5986</a>)</li>
<li>[BREAKING][all] Remove incubating normalized cache (moved to a separate repo, see <a href="https://go.apollo.dev/ak-moved-artifacts" rel="nofollow">migration guide</a>)(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2366706610" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5985" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5985/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5985">#5985</a>)</li>
<li>[BREAKING][all] Nullability: update nullability directives to <a href="https://specs.apollo.dev/nullability/v0.4/" rel="nofollow">v0.4</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2376336554" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6002" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6002/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6002">#6002</a>)</li>
<li>[BREAKING][all] Suffix ApolloStore write/publish overloads with <code>Sync</code> to avoid them taking precedence over their suspend counterparts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2356802753" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5976" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5976/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5976">#5976</a>)</li>
<li>[NEW][cache] SqlNormalizedCacheFactory make sqldriver public to support Sqlcipher data encryption. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2355420509" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5973" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5973/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5973">#5973</a>)</li>
<li>[NEW][runtime] Add ApolloClient.Builder.retryOnErrorInterceptor (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2369610188" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5989" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5989/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5989">#5989</a>)</li>
<li>[adapters] Deprecate apollo-adapters (moved to a separate repo, see <a href="https://go.apollo.dev/ak-moved-artifacts" rel="nofollow">migration guide</a>)(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2380996566" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6012" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6012/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6012">#6012</a>)</li>
<li>[mockserver] Deprecate com.apollographql.apollo3.mockserver.MockServer (moved to a separate repo, see <a href="https://go.apollo.dev/ak-moved-artifacts" rel="nofollow">migration guide</a>)(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2335348611" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5943" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5943/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5943">#5943</a>)</li>
<li>[πgradle-plugin] Rename the multi-module configurations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2390470457" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6027" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6027/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6027">#6027</a>)</li>
<li>[IJ Plugin] Tweak cache name display for Apollo 3, 4, and incubating (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2388609531" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/6026" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/6026/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/6026">#6026</a>)</li>
<li>[compiler] remove unused argument to scalarAdapterInitializer() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2372530755" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5996" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5996/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5996">#5996</a>)</li>
<li>[java] Use published version of the Java support libs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2370344581" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5991" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5991/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5991">#5991</a>)</li>
<li>[runtime] Deprecate apollo engine ktor and publish engine tests (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2367079490" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5988" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5988/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5988">#5988</a>)</li>
<li>[mpp-utils] Cleanup mpp utils (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2359576616" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5980" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5980/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5980">#5980</a>)</li>
<li>[CI] use <code>gradle/actions/setup-gradle</code> instead of <code>gradle-build-action</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2359871727" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5981" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5981/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5981">#5981</a>)</li>
<li>[infra] Update to develocity API (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2352996282" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5967" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5967/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5967">#5967</a>)</li>
<li>[incubating cache] Add a CacheKeyApolloResolver based on ApolloResolver (incubating) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2353582426" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5970" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5970/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5970">#5970</a>)</li>
<li>[mockserver] Robustify TCP server (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2353275550" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5968" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5968/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5968">#5968</a>)</li>
<li>[runtime] adding checks for json end_document in http batching interceptors (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2298919987" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5893" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5893/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5893">#5893</a>)</li>
<li>[IJ plugin] Cache ApolloKotlinService into project settings (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2351078423" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5962" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5962/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5962">#5962</a>)</li>
<li>[IJ plugin] Avoid a ConcurrentModificationException occurring in conjunction to the IJ Platform Gradle plugin. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2349049604" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5959" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5959/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5959">#5959</a>)</li>
<li>[websockets] Send Sec-WebSocket-Protocol (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2335801354" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5948" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5948/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5948">#5948</a>)</li>
</ul>
martinbonnin
tag:github.com,2008:Repository/69469299/v4.0.0-beta.7
2024-06-06T06:44:11Z
v4.0.0-beta.7
<h2>Main changes:</h2>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2331085698" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5931" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5931/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5931">#5931</a>: This version is built with K2. You need Kotlin 1.9+ on the JVM to build against it and Kotlin 2.0 for other platforms.</li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2269779269" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5865" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5865/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5865">#5865</a>: <code>ApolloCompilerPluginProvider</code> is introduced to allow passing arguments to compiler plugins. See the <a href="https://github.com/apollographql/apollo-kotlin/blob/408bcfeedcc58e4eafcbd1883968f5b5f5a049b6/docs/source/advanced/compiler-plugins.mdx#implementing-a-compiler-plugin">compiler plugins documentation</a> for more details.</li>
</ul>
<h2>π·β All changes</h2>
<p>[testing] Use com.apollographql.mockserver.MockServer (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2334007541" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5939" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5939/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5939">#5939</a>)<br>
[testing] Simplify our implementation of runTest (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2332161696" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5935" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5935/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5935">#5935</a>)<br>
[testing] Prepare apollo-testing-support to new MockServer (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2331857567" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5934" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5934/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5934">#5934</a>)<br>
[runtime] Remove multidex library (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2328167095" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5930" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5930/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5930">#5930</a>)<br>
[all] Bump languageVersion/apiVersion to Kotlin 2.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2331085698" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5931" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5931/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5931">#5931</a>)<br>
[codegen] fix mapping of the builtin Float type (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2327117138" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5928" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5928/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5928">#5928</a>)<br>
[IJ Plugin] Add inspection to warn about the presence of a GraphQL config file (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2306465833" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5908" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5908/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5908">#5908</a>)<br>
[codegen] Add a null-check to java enum safeValueOf (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2302895647" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5904" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5904/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5904">#5904</a>)<br>
[gradle-plugin] Remove eager configuration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2319558234" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5923" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5923/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5923">#5923</a>)<br>
[gradle-plugin] sort input files (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2319206924" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5919" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5919/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5919">#5919</a>)<br>
[IJ Plugin] Suppress GraphQLDuplicateDirective for certain directives (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2308392868" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5910" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5910/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5910">#5910</a>)<br>
[adapters] Add KtorHttpUrlAdapter (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2312302112" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5915" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5915/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5915">#5915</a>)<br>
[IJ Plugin] Add a "new UI" compatible icon (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2305699274" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5906" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5906/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5906">#5906</a>)<br>
[IJ Plugin] Operation and fragment definition rename (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2310920933" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5912" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5912/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5912">#5912</a>)<br>
[IJ Plugin] Add <code>@link</code> directives to extra.graphqls during v3->v4 migration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2307930552" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5909" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5909/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5909">#5909</a>)<br>
[IJ Plugin] Remove GraphQL IJ plugin issue workaround (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2306065961" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5907" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5907/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5907">#5907</a>)<br>
[cache] Pagination: use "field key" instead of "field name" (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2300773075" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5898" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5898/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5898">#5898</a>)<br>
[IJ Plugin] Improve the presentation of GraphQL elements when navigating to them (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2300932260" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5900" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5900/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5900">#5900</a>)<br>
[IJ Plugin] Include subfolders when contributing GraphQL config (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2272092110" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5871" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5871/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5871">#5871</a>)<br>
[runtime] Remove existing interceptors from ApolloClient.Builder before adding new ones (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2269086898" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5858" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5858/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5858">#5858</a>)<br>
[codegen] Add ApolloCompilerPluginProvider (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2269779269" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5865" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5865/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5865">#5865</a>)<br>
[runtime] Clear current ApolloStore related interceptors when calling <code>.store()</code> on builder (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2267690160" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5857" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5857/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5857">#5857</a>)<br>
[cache] Call through to loadRecords from the MemoryCache to the SQL one (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2261727431" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5848" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5848/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5848">#5848</a>)<br>
[runtime] deprecate operationIdGenerator (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2262109752" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5850" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5850/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5850">#5850</a>)</p>
martinbonnin
tag:github.com,2008:Repository/69469299/v3.8.4
2024-04-30T07:29:02Z
v3.8.4
<p>Version 3.8.4 is a maintenance release with one bug fix and 2 performance improvements. New developments happen in the 4.x versions.</p>
<ul>
<li>[java-runtime] Fix <code>ApolloClient.Builder.okHttpClient()</code> returns null instead of this (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2269176141" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5860" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5860/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5860">#5860</a>)</li>
<li>[normalized-cache] Use a single transaction when using MemoryCache chaining (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2269256529" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5861" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5861/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5861">#5861</a>)</li>
<li>[normalized-cache] Call through to loadRecords from the MemoryCache to the SQL one (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2269367042" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5863" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5863/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5863">#5863</a>)</li>
</ul>
BoD
tag:github.com,2008:Repository/69469299/v4.0.0-beta.6
2024-05-02T08:23:36Z
v4.0.0-beta.6
<h2>SQL cache performance improvements</h2>
<p>If you're using a chained memory + SQL cache, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2256749635" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5840" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5840/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5840">#5840</a> makes sure cache writes are wrapped in a transaction, making them much faster.</p>
<h2>Apollo Compiler Plugins</h2>
<p><code>Plugin</code> is renamed to <code>ApolloCompilerPlugin</code>. There is a new <code>documentTransform</code> API as well as other fixes. More details in the <a href="https://www.apollographql.com/docs/kotlin/v4/advanced/compiler-plugins" rel="nofollow">compiler plugins documentation</a>.</p>
<h2>Experimental WebSockets</h2>
<p>A new <code>.websocket</code> package is available that makes it easier to retry WebSockets and handle errors. More details and migration guide in the <a href="https://www.apollographql.com/docs/kotlin/v4/advanced/experimental-websockets" rel="nofollow">experimental websockets documentation</a>.</p>
<h2>ApolloIdlingResource is deprecated</h2>
<p>We recommend using reactive patterns to test your UI instead. See <a href="https://medium.com/androiddevelopers/alternatives-to-idling-resources-in-compose-tests-8ae71f9fc473" rel="nofollow">this article about ways to do so</a>.</p>
<h2>Removed androidx.startup dependency</h2>
<p>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 <a href="https://www.apollographql.com/docs/kotlin/v4/advanced/network-connectivity" rel="nofollow">network connectivity documentation</a>.</p>
<h2>WasmJS support for apollo-adapter</h2>
<p>You can see Wasm in action at <a href="https://wasm.confetti-app.dev/" rel="nofollow">https://wasm.confetti-app.dev/</a></p>
<h2>Threading changes</h2>
<p>In a effort to minimize the number of thread switches, the whole request is now run in the same dispatcher. See <a href="https://github.com/apollographql/apollo-kotlin/blob/39d76630277476004bbaed0e3a897feb5a959084/design-docs/Threading.md">Threading.md</a> for more details.</p>
<h2>Contributors π</h2>
<p>Many thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joreilly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joreilly">@joreilly</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ychescale9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ychescale9">@ychescale9</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/japhib/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/japhib">@japhib</a> for their contributions to this release π!</p>
<h2>π·β All changes</h2>
<ul>
<li>[normalized-cache]: use a single SQL transaction when using MemoryCache chaining (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2256749635" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5840" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5840/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5840">#5840</a>)</li>
<li>[compiler] expose apollo-ast as an api dependency (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2254002630" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5838" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5838/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5838">#5838</a>)</li>
<li>[compiler] Rename <code>Plugin</code> to <code>ApolloCompilerPlugin</code> and add error message for bad configurations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2246901747" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5821" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5821/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5821">#5821</a>)</li>
<li>[IJ Plugin] Fix pulling file from device not working on AS Koala (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2247568633" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5822" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5822/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5822">#5822</a>)</li>
<li>[compiler] Add <code>@ApolloEnumConstructor</code> and make enum as sealed class Unknown constructor opt-in (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2243613818" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5813" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5813/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5813">#5813</a>)</li>
<li>[runtime] Move ApolloParseException to ApolloNetworkException (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2244366356" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5816" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5816/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5816">#5816</a>)</li>
<li>[normalized-cache] Let isFromCache be about the ApolloResponse (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2240652752" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5805" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5805/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5805">#5805</a>)</li>
<li>[compiler] Add DocumentTransform API (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2242941927" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5809" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5809/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5809">#5809</a>)</li>
<li>[idling-resource] Deprecate ApolloIdlingResource (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2244513246" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5817" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5817/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5817">#5817</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2205471978" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5764" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5764/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5764">#5764</a>)</li>
<li>[runtime] Share the default OkHttpBuilder (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2242957818" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5811" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5811/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5811">#5811</a>)</li>
<li>[runtime] [BREAKING] change <code>isOnline</code> to a suspend fun</li>
<li>[adapters] Support Kotlin/Wasm for apollo-adapters (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2240040144" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5803" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5803/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5803">#5803</a>)</li>
<li>[all] Bump Kotlin to 2.0.0-RC1 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2239542632" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5802" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5802/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5802">#5802</a>)</li>
<li>[Codegen] Add CompiledArgumentDefinition (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2236017640" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5797" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5797/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5797">#5797</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2253814807" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5837" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5837/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5837">#5837</a>)</li>
<li>[runtime] Merge experimental WebSocketNetworkTransport in apollo-runtime (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2233622266" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5790" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5790/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5790">#5790</a>)</li>
<li>[normalized-cache] Cache pagination: add FieldNameGenerator and EmbeddedFieldsProvider (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2215740589" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5772" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5772/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5772">#5772</a>)</li>
<li>[runtime] Support configuring <code>ApolloClient</code> with lazily initialized <code>Call.Factory</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2230572962" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5784" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5784/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5784">#5784</a>)</li>
<li>[runtime] fix ApolloClient.Builder.okHttpClient() returns null instead of this (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2221266450" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5778" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5778/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5778">#5778</a>)</li>
<li>[normalized-cache] Fix variable coercion in lists. Absent variables are coerced to null (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2220048193" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5773" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5773/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5773">#5773</a>)</li>
<li>[IJ Plugin] Fix an NPE (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2210923639" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5770" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5770/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5770">#5770</a>)</li>
<li>[runtime] Simplify ApolloCall (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2205479638" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5765" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5765/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5765">#5765</a>)</li>
<li>[runtime] remove <code>androidx.startup</code> dependency (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2205383319" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5761" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5761/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5761">#5761</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184489714" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5720" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5720/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5720">#5720</a>)</li>
<li>[compiler] Bump kotlin_labs definitions to v0.3 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2205409532" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5762" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5762/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5762">#5762</a>)</li>
<li>[Pagination] Support nodes in Connection types (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2200662723" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5754" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5754/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5754">#5754</a>)</li>
<li>[compiler] Directive validation is now enforced by default (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2203014010" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5758" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5758/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5758">#5758</a>)</li>
<li>[cache] Make ApolloStore.publish() suspend (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2200936314" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5755" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5755/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5755">#5755</a>)</li>
<li>[runtime] Change the dispatcher earlier in the chain (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1328668986" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/4319" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/4319/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/4319">#4319</a>)</li>
<li>[IJ Plugin] Add an advanced setting to include generated code references in GraphQL "Go To Declaration" (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2195028214" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5743" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5743/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5743">#5743</a>)</li>
<li>[IJ Plugin] Fix presentation of Kotlin elements when navigating to them from GraphQL (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2192959461" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5739" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5739/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5739">#5739</a>)</li>
<li>[IJ Plugin] Consider all Gradle projects recursively (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2191889760" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5734" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5734/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5734">#5734</a>)</li>
<li>[runtime] Deprecate ApolloClient.Builder.addInterceptors() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2189166199" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5733" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5733/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5733">#5733</a>)</li>
<li>[all] use jdk-release (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2188577743" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5731" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5731/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5731">#5731</a>)</li>
<li>[http-cache] Ignore IOException when calling ApolloHttpCache.remove (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2186671809" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5729" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5729/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5729">#5729</a>)</li>
<li>[IJ plugin] Bump platformVersion and pluginSinceBuild from 232 to 233 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2186279842" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5726" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5726/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5726">#5726</a>)</li>
<li>[runtime] add ApolloClient.failFastIfOffline (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2185004327" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5725" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5725/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5725">#5725</a>)</li>
<li>[all] Introduce "filesystem" sourceSet and use okio 3.9.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184414005" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5719" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5719/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5719">#5719</a>)</li>
<li>[runtime] Do not use Ktor in Js HttpEngine, use fetch directly instead (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2179845986" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5702" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5702/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5702">#5702</a>)</li>
</ul>
martinbonnin
tag:github.com,2008:Repository/69469299/v3.8.3
2024-03-21T09:46:56Z
v3.8.3
<p>Version 3.8.3 is a maintenance release with two new convenience APIs and a Kotlin update. New developments happen in the 4.x versions.</p>
<p>Note: because Apollo Kotlin now depends on kotlin-stdlib version 1.9, you need the 1.8+ Kotlin compiler to compile your project.</p>
<ul>
<li>[all] update Kotlin to 1.9 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2016273499" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5412" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5412/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5412">#5412</a>)</li>
<li>[runtime] Add <code>ApolloClient.Builder(ApolloHttpCache)</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2147824130" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5638" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5638/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5638">#5638</a>) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2148698130" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5640" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5640/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5640">#5640</a>)</li>
<li>[runtime] Allow <code>buildPostBody</code> to write operation extensions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2144597189" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5631" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5631/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5631">#5631</a>)</li>
<li>[runtime] compose support: Catch exceptions and expose them in <code>.exception</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1752151729" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5018" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5018/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5018">#5018</a>)</li>
<li>[http-cache] Ignore <code>IOException</code> when calling <code>ApolloHttpCache.remove</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2186690813" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5730" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5730/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5730">#5730</a>)</li>
<li>[all] Add deprecations on symbols that are getting removed in v4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2197420163" data-permission-text="Title is private" data-url="https://github.com/apollographql/apollo-kotlin/issues/5746" data-hovercard-type="pull_request" data-hovercard-url="/apollographql/apollo-kotlin/pull/5746/hovercard" href="https://github.com/apollographql/apollo-kotlin/pull/5746">#5746</a>)</li>
</ul>
BoD