cd /news/developer-tools/compose-multiplatform-1-12-0-release… · home topics developer-tools article
[ARTICLE · art-111866] src=blog.jetbrains.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Compose Multiplatform 1.12.0 Released

JetBrains released Compose Multiplatform 1.12.0, introducing an experimental Model Context Protocol (MCP) server for AI coding agents in Compose Hot Reload, automatic font fallback for web, and a v2 API for desktop window and dialog state management. The MCP server lets agents trigger reloads, take screenshots, inspect the semantic tree, simulate clicks and text input, and read application logs to verify their own edits. The v2 API provides finer control over window positioning and sizing, including screen selection, custom positioning logic, and explicit asynchronous state changes.

read2 min views1 publishedAug 26, 2026
Compose Multiplatform 1.12.0 Released
Image: Blog (auto-discovered)

Kotlin #

A concise multiplatform language developed by JetBrains

Multiplatform

Releases

Compose Multiplatform 1.12.0 is out! This version brings new tooling for AI assistants, improvements to web resource management, and finer control over desktop window states.

Here are the highlights of this release:

For a complete overview of the changes, check out What’s new in Compose Multiplatform 1.12.0 or the release notes on GitHub.

Get Started with Compose Multiplatform

MCP server for AI agents in Compose Hot Reload #

Compose Hot Reload now ships with an experimental Model Context Protocol (MCP) server that connects AI coding agents to your running application.

Using the MCP server, an agent can trigger reloads, take screenshots, inspect the semantic tree, simulate clicks and text input, and read application logs. In practice, this means the agent can verify the results of its own edits. It can confirm that the reload succeeded, inspect the rendered UI, catch a runtime exception, and iterate – all without you describing what’s on screen.

For the full list of available tools and instructions on connecting your agent, see the Compose Hot Reload documentation.

Automatic font fallback for web #

Compose Multiplatform for web now handles characters that your application’s fonts don’t cover. When it encounters an unresolved character during rendering, it downloads the matching Noto font subset on demand and recomposes the affected text. As a result, Japanese, Arabic, Devanagari, and emoji render correctly without you having to bundle fonts for them.

Window and dialog v2 #

This release introduces an experimental v2 API for WindowState

and DialogState

in the androidx.compose.ui.window.v2

package. It gives you finer control over how windows and dialogs are positioned and sized. You can:

  • Select the screen a window appears on.
  • Provide custom positioning and sizing logic, including logic based on the content’s intrinsic size.
  • Set minimum and maximum window sizes.
  • Position dialogs relative to their parent window.

The v2 API also makes the asynchronous nature of window state changes explicit: It distinguishes the state you request from the state the window currently has.

For example, to center a window and give it a fixed size, use WindowPositionProvider

and WindowSizeProvider

:

val windowState = rememberWindowState(
    initialBoundsProvider = WindowBoundsProvider(
        positionProvider = WindowPositionProvider.CenteredOnScreen,
        sizeProvider = WindowSizeProvider.Fixed(DpSize(400.dp, 200.dp))
    )
)

With the v2 API, you can also use WindowSizeProvider.Unconstrained

to size the window to its content initially, while still letting that content expand with fillMaxSize()

when the user enlarges the window:

WindowBoundsProvider(
    positionProvider = WindowPositionProvider.CenteredOnScreen,
    sizeProvider = WindowSizeProvider.Unconstrained
)

See the Window and dialog v2 documentation for the full details.

Update your dependencies, try out the new APIs, and let us know what you think about Compose Multiplatform 1.12.0.

For everything that didn’t make it into this post, check out the full release notes or What’s new.

Subscribe to Kotlin Blog updates

── more in #developer-tools 4 stories · sorted by recency
── more on @jetbrains 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/compose-multiplatfor…] indexed:0 read:2min 2026-08-26 ·