diff --git a/docs/main/updating/9-0.md b/docs/main/updating/9-0.md index f54700fc..95578b4b 100644 --- a/docs/main/updating/9-0.md +++ b/docs/main/updating/9-0.md @@ -61,6 +61,21 @@ If any of the steps for the migration are not able to be completed, additional i `androidx.core:core` 1.19.0 folds `core-ktx` into itself, and AGP 9 bundles the Kotlin Gradle Plugin natively while Gradle 9 fully removes `jcenter()`. These rarely affect an app directly, unless you (or an old/community plugin) still pin an old `core-ktx` version, apply Kotlin standalone, or reference `jcenter()` — see [Migrate core-ktx to core](#migrate-core-ktx-to-core) and [Update Kotlin and remove jcenter()](#update-kotlin-and-remove-jcenter) below. +Capacitor 9 also removes the Java APIs that were deprecated in previous major versions. If your app or plugin still uses any of them, replace them as follows. + +| Removed | Replacement | +| :------ | :---------- | +| `CapConfig(AssetManager, JSONObject)` constructor | `CapConfig.loadDefault(Context)` to load from `capacitor.config.json`, or `CapConfig.Builder` for embedded use | +| `CapConfig.getObject(String)`, `getString(...)`, `getBoolean(...)`, `getInt(...)`, `getArray(...)` | The typed getters on `CapConfig` for main config values and the `PluginConfig` accessors for plugin config values | +| `PluginCall.save()` | `setKeepAlive(true)` | +| `PluginCall.isSaved()` | `isKeptAlive()` | +| `PluginCall.hasOption(String)` | Typed accessors (`getString(...)`, `getInt(...)`, etc.) | +| `PluginCall.isReleased()` | No replacement, released calls are managed by the bridge | +| `Bridge.CAPACITOR_HTTPS_INTERCEPTOR_START` | `CAPACITOR_HTTP_INTERCEPTOR_START`, all proxied requests are handled by it | +| `Plugin.getConfigValue(String)` | `getConfig()` and the typed accessors on `PluginConfig` | +| `MessageHandler(Bridge, WebView, Object)` constructor | `MessageHandler(Bridge, WebView)` | +| `WebViewLocalServer.PathHandler.getResponseHeaders()` | `buildDefaultResponseHeaders()` | + ## Breaking changes in @capacitor/ios If you're updating from Capacitor 8.4 or earlier, you also need to adopt the iOS UIScene lifecycle, which Xcode 27 requires — see [Updating to 8.5](/main/updating/8-5.md) for the full steps. Apps already on 8.5 have nothing further to do here.