From 63846c63c0b7399340638de0645369dd3bb6ef1c Mon Sep 17 00:00:00 2001 From: Igor Demin Date: Mon, 7 Nov 2022 14:46:37 +0100 Subject: [PATCH] Compose 1.2.1 (#2453) --- CHANGELOG.md | 246 ++++++++++-------- VERSIONING.md | 1 + ci/compose-uber-jar/gradle.properties | 2 +- components/gradle.properties | 2 +- examples/codeviewer/gradle.properties | 2 +- examples/falling-balls/gradle.properties | 2 +- examples/imageviewer/gradle.properties | 2 +- examples/intellij-plugin/gradle.properties | 2 +- examples/issues/gradle.properties | 2 +- examples/notepad/gradle.properties | 2 +- examples/todoapp-lite/gradle.properties | 2 +- examples/todoapp/gradle.properties | 4 +- examples/visual-effects/gradle.properties | 2 +- examples/web-compose-bird/gradle.properties | 4 +- examples/web-compose-in-js/gradle.properties | 4 +- examples/web-landing/gradle.properties | 2 +- examples/web-with-react/gradle.properties | 4 +- examples/widgets-gallery/gradle.properties | 2 +- .../compose/ComposeCompilerCompatability.kt | 2 +- .../integration/DesktopApplicationTest.kt | 8 +- .../integration/KotlinCompatabilityTest.kt | 6 +- gradle-plugins/gradle.properties | 6 +- templates/desktop-template/gradle.properties | 2 +- .../multiplatform-template/gradle.properties | 2 +- templates/web-template/gradle.properties | 4 +- tools/replaceVersion.sh | 2 + tutorials/Getting_Started/README.md | 4 +- tutorials/Web/Getting_Started/README.md | 4 +- web/build.gradle.kts | 2 +- web/gradle.properties | 2 +- 30 files changed, 180 insertions(+), 151 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfe50545..ef1cb2c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,83 +1,111 @@ +# 1.2.1 (November 2022) +## Common + +### Fixes +- [Fix `kotlinCompilerPlugin` property](https://github.com/JetBrains/compose-jb/pull/2396) +- Fix [runDistributable fails in v1.2.0-beta01](https://github.com/JetBrains/compose-jb/issues/2329) +- Fix [Packaging fails on JDK-19](https://github.com/JetBrains/compose-jb/issues/2328) + +## Desktop + +### Fixes +- Fix [`duplicate definition of resource file` when running packageRelease](https://github.com/JetBrains/compose-jb/issues/2393) +- [Fix support of GPU's which don't support DirectX 12 (Windows)](https://github.com/JetBrains/skiko/pull/603) + +## Web + +### Fixes +- [Support Kotlin 1.7.20](https://github.com/JetBrains/compose-jb/issues/2349) + +## Updated dependencies +This version of Compose Multiplatform is based on the next Jetpack Compose libraries: +- [Compiler 1.3.2](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.3.2) +- [Runtime 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.2.1) +- [UI 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.2.1) +- [Foundation 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.2.1) +- [Material 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.2.1) +- [Material3 1.0.0-alpha14](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.0-alpha14) + # 1.2.0 (October 2022) ## Common ### Features -* [Allow to use Compose on multiple Kotlin versions](https://github.com/JetBrains/compose-jb/pull/2366) -* [`import org.jetbrains.compose.compose` is no longer needed in build.gradle.kts](https://github.com/JetBrains/compose-jb/pull/2215) -* [Allow to use a custom Compose Compiler](https://github.com/JetBrains/compose-jb/pull/2347) +- [Allow to use Compose on multiple Kotlin versions](https://github.com/JetBrains/compose-jb/pull/2366) +- [`import org.jetbrains.compose.compose` is no longer needed in build.gradle.kts](https://github.com/JetBrains/compose-jb/pull/2215) +- [Allow to use a custom Compose Compiler](https://github.com/JetBrains/compose-jb/pull/2347) ## Desktop ### Features -* [Support Kotlin 1.7.20](https://github.com/JetBrains/compose-jb/pull/2357) -* [ProGuard integration for packaging](https://github.com/JetBrains/compose-jb/pull/2313) -* [New experimental event API (onClick, onDrag, WindowInfo.keyboardModifiers)](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Mouse_Events#new-experimental-onclick-handlers-only-for-desktop-jvm-platform) -* Focus - * [Make clickable, mouseClickable, toggleable request focus onClick](https://github.com/JetBrains/androidx/pull/257) - * [Toggle a toggleable component on Space key](https://github.com/JetBrains/androidx/pull/262) - * [Make Slider change the value with onKeyEvent for: all arrows, PgDn, PdUp, Home, End buttons](https://github.com/JetBrains/androidx/pull/254) - * [Navigate drop down menu items using up and down arrows](https://github.com/JetBrains/androidx/pull/259) -* [Ability to override text context menu globally](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Context_Menu#custom-text-context-menu) -* [Context menu implementation for integrating into Swing applications](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Context_Menu#swing-interoperability) -* [Animated image component](https://github.com/JetBrains/compose-jb/pull/2015) -* [Show a new window/dialog on the same display](https://github.com/JetBrains/androidx/pull/312) -* [Change default Font on MacOs to San Francisco](https://github.com/JetBrains/androidx/pull/296) -* Support [performKeyInput](https://github.com/JetBrains/androidx/pull/278), [performMouseInput, performTextInput](https://github.com/JetBrains/androidx/pull/260) in tests. -* Focus switches seamlessly between Swing and Compose components using [SwingPanel](https://github.com/JetBrains/androidx/pull/229) or [ComposePanel](https://github.com/JetBrains/androidx/pull/228) -* [Documentation for how to package apps using Conveyor](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Native_distributions_and_local_execution#available-tools) +- [Support Kotlin 1.7.20](https://github.com/JetBrains/compose-jb/pull/2357) +- [ProGuard integration for packaging](https://github.com/JetBrains/compose-jb/pull/2313) +- [New experimental event API (onClick, onDrag, WindowInfo.keyboardModifiers)](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Mouse_Events#new-experimental-onclick-handlers-only-for-desktop-jvm-platform) +- Focus + - [Make clickable, mouseClickable, toggleable request focus onClick](https://github.com/JetBrains/androidx/pull/257) + - [Toggle a toggleable component on Space key](https://github.com/JetBrains/androidx/pull/262) + - [Make Slider change the value with onKeyEvent for: all arrows, PgDn, PdUp, Home, End buttons](https://github.com/JetBrains/androidx/pull/254) + - [Navigate drop down menu items using up and down arrows](https://github.com/JetBrains/androidx/pull/259) +- [Ability to override text context menu globally](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Context_Menu#custom-text-context-menu) +- [Context menu implementation for integrating into Swing applications](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Context_Menu#swing-interoperability) +- [Animated image component](https://github.com/JetBrains/compose-jb/pull/2015) +- [Show a new window/dialog on the same display](https://github.com/JetBrains/androidx/pull/312) +- [Change default Font on MacOs to San Francisco](https://github.com/JetBrains/androidx/pull/296) +- Support [performKeyInput](https://github.com/JetBrains/androidx/pull/278), [performMouseInput, performTextInput](https://github.com/JetBrains/androidx/pull/260) in tests. +- Focus switches seamlessly between Swing and Compose components using [SwingPanel](https://github.com/JetBrains/androidx/pull/229) or [ComposePanel](https://github.com/JetBrains/androidx/pull/228) +- [Documentation for how to package apps using Conveyor](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Native_distributions_and_local_execution#available-tools) ### Fixes -* [Fix IDEA plugin compatability](https://github.com/JetBrains/compose-jb/pull/2318) -* Fixes for Right-to-Left languages support - * [LayoutDirection is detected from the system settings](https://github.com/JetBrains/androidx/pull/264) - * [Fix RTL selection in a multiline text](https://github.com/JetBrains/androidx/pull/285) - * [Fix cursor visual position at BiDi transition](https://github.com/JetBrains/androidx/pull/286) - * [Fix the cursor position after the '\n' character in RTL](https://github.com/JetBrains/androidx/pull/268) - * [In placeAutoMirrored for RTL, calculate the placement position using the placeable width respecting the constraints](https://github.com/JetBrains/androidx/pull/267) - * [Placing the root content properly for RTL layout](https://github.com/JetBrains/androidx/pull/265) -* TextField - * [Fix the cursor position when clicking at a position after a line-break](https://github.com/JetBrains/androidx/pull/284) - * [Fix selection with End, Home](https://github.com/JetBrains/androidx/pull/279) - * [Fix the cursor height on a new empty line](https://github.com/JetBrains/androidx/pull/277) -* [Fix DesktopMenu and DesktopAlertDialog to invoke dismiss callback once](https://github.com/JetBrains/androidx/pull/256) -* [Fix a large icon in macOs menu](https://github.com/JetBrains/androidx/pull/248) -* [Fix hover in LazyColumn](https://github.com/JetBrains/androidx/pull/249) -* [Fix pointerHoverIcon: update icon when it's changed conditionally](https://github.com/JetBrains/androidx/pull/231) -* [Fix focusable parameter for Window and Dialog](https://github.com/JetBrains/androidx/pull/225) -* [Fix 2 SplitPanel minor bugs](https://github.com/JetBrains/compose-jb/pull/2175) -* [Fix `java.lang.IllegalStateException: cannot open system clipboard` crash](https://github.com/JetBrains/skiko/pull/586) -* [Fix `System.setProperty("skiko.renderApi", "SOFTWARE"` on macOS](https://github.com/JetBrains/skiko/pull/599) +- [Fix IDEA plugin compatability](https://github.com/JetBrains/compose-jb/pull/2318) +- Fixes for Right-to-Left languages support + - [LayoutDirection is detected from the system settings](https://github.com/JetBrains/androidx/pull/264) + - [Fix RTL selection in a multiline text](https://github.com/JetBrains/androidx/pull/285) + - [Fix cursor visual position at BiDi transition](https://github.com/JetBrains/androidx/pull/286) + - [Fix the cursor position after the '\n' character in RTL](https://github.com/JetBrains/androidx/pull/268) + - [In placeAutoMirrored for RTL, calculate the placement position using the placeable width respecting the constraints](https://github.com/JetBrains/androidx/pull/267) + - [Placing the root content properly for RTL layout](https://github.com/JetBrains/androidx/pull/265) +- TextField + - [Fix the cursor position when clicking at a position after a line-break](https://github.com/JetBrains/androidx/pull/284) + - [Fix selection with End, Home](https://github.com/JetBrains/androidx/pull/279) + - [Fix the cursor height on a new empty line](https://github.com/JetBrains/androidx/pull/277) +- [Fix DesktopMenu and DesktopAlertDialog to invoke dismiss callback once](https://github.com/JetBrains/androidx/pull/256) +- [Fix a large icon in macOs menu](https://github.com/JetBrains/androidx/pull/248) +- [Fix hover in LazyColumn](https://github.com/JetBrains/androidx/pull/249) +- [Fix pointerHoverIcon: update icon when it's changed conditionally](https://github.com/JetBrains/androidx/pull/231) +- [Fix focusable parameter for Window and Dialog](https://github.com/JetBrains/androidx/pull/225) +- [Fix 2 SplitPanel minor bugs](https://github.com/JetBrains/compose-jb/pull/2175) +- [Fix `java.lang.IllegalStateException: cannot open system clipboard` crash](https://github.com/JetBrains/skiko/pull/586) +- [Fix `System.setProperty("skiko.renderApi", "SOFTWARE"` on macOS](https://github.com/JetBrains/skiko/pull/599) ### API changes -* [Deprecate experimental pointerMoveFilter in favor of onPointerEvent](https://github.com/JetBrains/androidx/pull/247) -* [Deprecate experimental Modifier.mouseClickable in favor of Modifier.onClick](https://github.com/JetBrains/androidx/pull/243) +- [Deprecate experimental pointerMoveFilter in favor of onPointerEvent](https://github.com/JetBrains/androidx/pull/247) +- [Deprecate experimental Modifier.mouseClickable in favor of Modifier.onClick](https://github.com/JetBrains/androidx/pull/243) ## Web ### Features -* Support Kotlin 1.7.10 -* [Add support for transition in CSS api](https://github.com/JetBrains/compose-jb/pull/2228) -* [Add missing `background-blend-mode` property](https://github.com/JetBrains/compose-jb/pull/2128) -* [SVG: Publish custom attr functions](https://github.com/JetBrains/compose-jb/pull/2127) -* [Add list overload for `classes`](https://github.com/JetBrains/compose-jb/pull/2094) -* [Add support of dl, dt and dd](https://github.com/JetBrains/compose-jb/pull/1922) +- Support Kotlin 1.7.10 +- [Add support for transition in CSS api](https://github.com/JetBrains/compose-jb/pull/2228) +- [Add missing `background-blend-mode` property](https://github.com/JetBrains/compose-jb/pull/2128) +- [SVG: Publish custom attr functions](https://github.com/JetBrains/compose-jb/pull/2127) +- [Add list overload for `classes`](https://github.com/JetBrains/compose-jb/pull/2094) +- [Add support of dl, dt and dd](https://github.com/JetBrains/compose-jb/pull/1922) ### Fixes -* [Add pom information and license to Web artifacts](https://github.com/JetBrains/compose-jb/pull/2195) +- [Add pom information and license to Web artifacts](https://github.com/JetBrains/compose-jb/pull/2195) ### API changes -* [Deprecate 3 overloads of StyleScope.borderWidth with wrong parameter names](https://github.com/JetBrains/compose-jb/pull/2297) -* [Remove deprecated compose.web.web-widgets from the source code](https://github.com/JetBrains/compose-jb/pull/2294) -* [Remove unnecessary parameter for `required` attribute](https://github.com/JetBrains/compose-jb/pull/1988) +- [Deprecate 3 overloads of StyleScope.borderWidth with wrong parameter names](https://github.com/JetBrains/compose-jb/pull/2297) +- [Remove deprecated compose.web.web-widgets from the source code](https://github.com/JetBrains/compose-jb/pull/2294) +- [Remove unnecessary parameter for `required` attribute](https://github.com/JetBrains/compose-jb/pull/1988) ## Updated dependencies This version of Compose Multiplatform is based on the next Jetpack Compose libraries: -* [Compiler 1.3.2](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.3.2) -* [Runtime 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.2.1) -* [UI 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.2.1) -* [Foundation 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.2.1) -* [Material 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.2.1) -* [Material3 1.0.0-alpha14](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.0-alpha14) +- [Compiler 1.3.2](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.3.2) +- [Runtime 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.2.1) +- [UI 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.2.1) +- [Foundation 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.2.1) +- [Material 1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material#1.2.1) +- [Material3 1.0.0-alpha14](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.0-alpha14) # 1.1.1 (Mar 2022) ## Desktop @@ -159,12 +187,12 @@ fun main() = singleWindowApplication { ## Updated dependencies This version of Compose Multiplatform is based on the next Jetpack Compose libraries: -* [Compiler 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.1.0) -* [Runtime 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.1.0) -* [UI 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.1.0) -* [Foundation 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.1.0) -* [Material 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.1.0) -* [Material3 1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.0-alpha05) +- [Compiler 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.1.0) +- [Runtime 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.1.0) +- [UI 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.1.0) +- [Foundation 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.1.0) +- [Material 1.1.0](https://developer.android.com/jetpack/androidx/releases/compose-material#1.1.0) +- [Material3 1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.0-alpha05) # 1.0.1 (Dec 2021) This is basically 1.0.0 that works with Kotlin 1.6.10 @@ -194,12 +222,12 @@ This is basically 1.0.0 that works with Kotlin 1.6.10 ## Updated dependencies This version of Compose Multiplatform is based on the next Jetpack Compose libraries: -* [Compiler 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.1.0-beta02) -* [Runtime 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.1.0-beta02) -* [UI 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.1.0-beta02) -* [Foundation 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.1.0-beta02) -* [Material 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-material#1.1.0-beta02) -* [Material3 1.0.0-alpha03](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.0-alpha03) +- [Compiler 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.1.0-beta02) +- [Runtime 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.1.0-beta02) +- [UI 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.1.0-beta02) +- [Foundation 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.1.0-beta02) +- [Material 1.1.0-beta02](https://developer.android.com/jetpack/androidx/releases/compose-material#1.1.0-beta02) +- [Material3 1.0.0-alpha03](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.0.0-alpha03) # 1.0.0-beta (Oct 2021) ## Common @@ -288,49 +316,49 @@ This version of Compose Multiplatform is based on the next Jetpack Compose libra # M4 (Jun 2021) - * New experimental [Composable Window API](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Window_API_new) - * [Tooltips](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Desktop_Components#tooltips) - * Use [Metal renderer for macOS by default](https://github.com/JetBrains/skiko/pull/70) - * [Expose a swing mouse event in Modifier.pointerInput](https://github.com/JetBrains/compose-jb/issues/129#issuecomment-784149646) - * Improved [keyboard support in TextField](https://android-review.googlesource.com/c/platform/frameworks/support/+/1578803) - * Avoid forcing discrete GPU on multi-GPU MacOS machines in [Skiko](https://github.com/JetBrains/skiko/pull/83) and [native distributions](https://github.com/JetBrains/compose-jb/issues/545) - * [Make DropdownMenu focusable by default](https://github.com/JetBrains/compose-jb/issues/375) - * [Scrollbar. get rid of itemCount and averageItemSize from rememberScrollbarAdapte](https://github.com/JetBrains/compose-jb/issues/181) - * [Support scrollbars for LazyColumn with reverseLayout = true](https://github.com/JetBrains/compose-jb/issues/209) - * Fix [memory leak](https://github.com/JetBrains/compose-jb/issues/538) - * Fix [Scroll NaN rounding bug, desktop version](https://github.com/JetBrains/compose-jb/issues/304) - * Fix [Dragging prevents pointer move events](https://github.com/JetBrains/compose-jb/issues/134) - * Fix [Dragging window to another display makes Icon show up incorrectly](https://github.com/JetBrains/compose-jb/issues/677) - * Fix ["Padding must be non-negative" after resizing window with Slider and Box](https://github.com/JetBrains/compose-jb/issues/367) - * Breaking change [old Dialog/Menubar/Tray are moved to androidx.compose.ui.window.v1](https://android-review.googlesource.com/c/platform/frameworks/support/+/1685905) + - New experimental [Composable Window API](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Window_API_new) + - [Tooltips](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Desktop_Components#tooltips) + - Use [Metal renderer for macOS by default](https://github.com/JetBrains/skiko/pull/70) + - [Expose a swing mouse event in Modifier.pointerInput](https://github.com/JetBrains/compose-jb/issues/129#issuecomment-784149646) + - Improved [keyboard support in TextField](https://android-review.googlesource.com/c/platform/frameworks/support/+/1578803) + - Avoid forcing discrete GPU on multi-GPU MacOS machines in [Skiko](https://github.com/JetBrains/skiko/pull/83) and [native distributions](https://github.com/JetBrains/compose-jb/issues/545) + - [Make DropdownMenu focusable by default](https://github.com/JetBrains/compose-jb/issues/375) + - [Scrollbar. get rid of itemCount and averageItemSize from rememberScrollbarAdapte](https://github.com/JetBrains/compose-jb/issues/181) + - [Support scrollbars for LazyColumn with reverseLayout = true](https://github.com/JetBrains/compose-jb/issues/209) + - Fix [memory leak](https://github.com/JetBrains/compose-jb/issues/538) + - Fix [Scroll NaN rounding bug, desktop version](https://github.com/JetBrains/compose-jb/issues/304) + - Fix [Dragging prevents pointer move events](https://github.com/JetBrains/compose-jb/issues/134) + - Fix [Dragging window to another display makes Icon show up incorrectly](https://github.com/JetBrains/compose-jb/issues/677) + - Fix ["Padding must be non-negative" after resizing window with Slider and Box](https://github.com/JetBrains/compose-jb/issues/367) + - Breaking change [old Dialog/Menubar/Tray are moved to androidx.compose.ui.window.v1](https://android-review.googlesource.com/c/platform/frameworks/support/+/1685905) # M3 (Feb 2021) - * Improve [TextField](https://github.com/JetBrains/compose-jb/issues/277) - * Support [SVG](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Image_And_Icons_Manipulations#loading-svg-images) - * Support [vsync](https://github.com/JetBrains/skiko/pull/44), [sync composition with rendering frames](https://android-review.googlesource.com/c/platform/frameworks/support/+/1534675) - * Support [DirectX on Windows by default](https://github.com/JetBrains/skiko/pull/63) - * Support [software rendering fallback](https://github.com/JetBrains/skiko/pull/56) - * Implement [signing and notarization for macOS](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Signing_and_notarization_on_macOS) - * Improve Swing interoperability support [Swing component in Compose hierarchy](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Swing_Integration#adding-a-swing-component-to-cfd-composition-using-swingpanel) - * Support using [Compose in IntelliJ plugins](https://github.com/JetBrains/compose-jb/tree/master/examples/intelliJPlugin) - * Skiko native binaries are now signed on macOS (x64 and arm) - * Fix [Ambients are not transferred across pop ups](https://github.com/JetBrains/compose-jb/issues/135) - * Fix [Laggy UI on Linux](https://github.com/JetBrains/compose-jb/issues/23) - * Fix [Using AndroidX Compose specific dependencies for Android target](https://github.com/JetBrains/compose-jb/issues/272) + - Improve [TextField](https://github.com/JetBrains/compose-jb/issues/277) + - Support [SVG](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Image_And_Icons_Manipulations#loading-svg-images) + - Support [vsync](https://github.com/JetBrains/skiko/pull/44), [sync composition with rendering frames](https://android-review.googlesource.com/c/platform/frameworks/support/+/1534675) + - Support [DirectX on Windows by default](https://github.com/JetBrains/skiko/pull/63) + - Support [software rendering fallback](https://github.com/JetBrains/skiko/pull/56) + - Implement [signing and notarization for macOS](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Signing_and_notarization_on_macOS) + - Improve Swing interoperability support [Swing component in Compose hierarchy](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Swing_Integration#adding-a-swing-component-to-cfd-composition-using-swingpanel) + - Support using [Compose in IntelliJ plugins](https://github.com/JetBrains/compose-jb/tree/master/examples/intelliJPlugin) + - Skiko native binaries are now signed on macOS (x64 and arm) + - Fix [Ambients are not transferred across pop ups](https://github.com/JetBrains/compose-jb/issues/135) + - Fix [Laggy UI on Linux](https://github.com/JetBrains/compose-jb/issues/23) + - Fix [Using AndroidX Compose specific dependencies for Android target](https://github.com/JetBrains/compose-jb/issues/272) # M2 (Dec 2020) - * Swing interoperability support (Compose in Swing frame) - * Support [XML vector images](https://developer.android.com/guide/topics/graphics/vector-drawable-resources) - * [Support for Gradle 6.6 and 6.7](https://github.com/JetBrains/compose-jb/issues/66) - * [Support macOS 10.13 and 10.14](https://github.com/JetBrains/compose-jb/issues/76) - * Support Apple Silicon (arm64) natively - * [Support letter spacing in text](https://github.com/JetBrains/compose-jb/issues/82) - * [Implemented desktop "ActualDialog" and "ActualPopup"](https://github.com/JetBrains/compose-jb/issues/19) - * [Fix input method bar positioning](https://github.com/JetBrains/compose-jb/issues/67) - * [Fix text alignment](https://github.com/JetBrains/compose-jb/issues/92) - * [Fix dropdown/popup positioning](https://github.com/JetBrains/compose-jb/issues/139) - * [Fix using with Compose in same app as Java FX](https://github.com/JetBrains/compose-jb/issues/17) - * [Added screenshots of example apps](https://github.com/JetBrains/compose-jb/issues/90) + - Swing interoperability support (Compose in Swing frame) + - Support [XML vector images](https://developer.android.com/guide/topics/graphics/vector-drawable-resources) + - [Support for Gradle 6.6 and 6.7](https://github.com/JetBrains/compose-jb/issues/66) + - [Support macOS 10.13 and 10.14](https://github.com/JetBrains/compose-jb/issues/76) + - Support Apple Silicon (arm64) natively + - [Support letter spacing in text](https://github.com/JetBrains/compose-jb/issues/82) + - [Implemented desktop "ActualDialog" and "ActualPopup"](https://github.com/JetBrains/compose-jb/issues/19) + - [Fix input method bar positioning](https://github.com/JetBrains/compose-jb/issues/67) + - [Fix text alignment](https://github.com/JetBrains/compose-jb/issues/92) + - [Fix dropdown/popup positioning](https://github.com/JetBrains/compose-jb/issues/139) + - [Fix using with Compose in same app as Java FX](https://github.com/JetBrains/compose-jb/issues/17) + - [Added screenshots of example apps](https://github.com/JetBrains/compose-jb/issues/90) # M1 (Nov 2020) - * Initial release + - Initial release diff --git a/VERSIONING.md b/VERSIONING.md index 56fafef5..f3f74baa 100644 --- a/VERSIONING.md +++ b/VERSIONING.md @@ -31,3 +31,4 @@ Kotlin version | Minimal Compose version | Notes 1.6.20 | 1.1.1 1.7.10 | 1.2.0 1.7.20 | 1.2.0 | JS is not supported (will be fixed in the next versions) +1.7.20 | 1.2.1 diff --git a/ci/compose-uber-jar/gradle.properties b/ci/compose-uber-jar/gradle.properties index c40ccc96..fed64522 100644 --- a/ci/compose-uber-jar/gradle.properties +++ b/ci/compose-uber-jar/gradle.properties @@ -1,2 +1,2 @@ -compose.version=1.2.0 +compose.version=1.2.1 kotlin.code.style=official diff --git a/components/gradle.properties b/components/gradle.properties index e3465edb..bc6a73e0 100644 --- a/components/gradle.properties +++ b/components/gradle.properties @@ -5,4 +5,4 @@ kotlin.code.style=official # __KOTLIN_COMPOSE_VERSION__ kotlin.version=1.7.20 # __LATEST_COMPOSE_RELEASE_VERSION__ -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/codeviewer/gradle.properties b/examples/codeviewer/gradle.properties index 07a190fa..c18fa7d4 100644 --- a/examples/codeviewer/gradle.properties +++ b/examples/codeviewer/gradle.properties @@ -21,4 +21,4 @@ android.enableJetifier=true kotlin.code.style=official kotlin.version=1.7.20 agp.version=7.1.3 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/falling-balls/gradle.properties b/examples/falling-balls/gradle.properties index dbfb6452..f4e41d64 100644 --- a/examples/falling-balls/gradle.properties +++ b/examples/falling-balls/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official kotlin.version=1.7.20 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/imageviewer/gradle.properties b/examples/imageviewer/gradle.properties index 07a190fa..c18fa7d4 100755 --- a/examples/imageviewer/gradle.properties +++ b/examples/imageviewer/gradle.properties @@ -21,4 +21,4 @@ android.enableJetifier=true kotlin.code.style=official kotlin.version=1.7.20 agp.version=7.1.3 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/intellij-plugin/gradle.properties b/examples/intellij-plugin/gradle.properties index dbfb6452..f4e41d64 100644 --- a/examples/intellij-plugin/gradle.properties +++ b/examples/intellij-plugin/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official kotlin.version=1.7.20 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/issues/gradle.properties b/examples/issues/gradle.properties index 6e0cf3e5..2c1c3e3c 100644 --- a/examples/issues/gradle.properties +++ b/examples/issues/gradle.properties @@ -21,4 +21,4 @@ android.useAndroidX=true android.enableJetifier=true kotlin.version=1.7.20 agp.version=7.1.3 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/notepad/gradle.properties b/examples/notepad/gradle.properties index d97adcef..45803f79 100644 --- a/examples/notepad/gradle.properties +++ b/examples/notepad/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official kotlin.version=1.7.20 -compose.version=1.2.0 \ No newline at end of file +compose.version=1.2.1 \ No newline at end of file diff --git a/examples/todoapp-lite/gradle.properties b/examples/todoapp-lite/gradle.properties index 07a190fa..c18fa7d4 100755 --- a/examples/todoapp-lite/gradle.properties +++ b/examples/todoapp-lite/gradle.properties @@ -21,4 +21,4 @@ android.enableJetifier=true kotlin.code.style=official kotlin.version=1.7.20 agp.version=7.1.3 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/todoapp/gradle.properties b/examples/todoapp/gradle.properties index 8825e388..0c6ba748 100755 --- a/examples/todoapp/gradle.properties +++ b/examples/todoapp/gradle.properties @@ -27,5 +27,5 @@ kotlin.native.disableCompilerDaemon=true # After updating Compose Multiplatform version, update corresponding Jetpack Compose versions # in Android module (search "Workaround for https://github.com/JetBrains/compose-jb/issues/2340") #TODO also change version in buildSrc/gradle.properties -kotlin.version=1.7.10 -compose.version=1.2.0 \ No newline at end of file +kotlin.version=1.7.20 +compose.version=1.2.1 \ No newline at end of file diff --git a/examples/visual-effects/gradle.properties b/examples/visual-effects/gradle.properties index dbfb6452..f4e41d64 100644 --- a/examples/visual-effects/gradle.properties +++ b/examples/visual-effects/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official kotlin.version=1.7.20 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/examples/web-compose-bird/gradle.properties b/examples/web-compose-bird/gradle.properties index ba79da52..f4e41d64 100644 --- a/examples/web-compose-bird/gradle.properties +++ b/examples/web-compose-bird/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.10 -compose.version=1.2.0 +kotlin.version=1.7.20 +compose.version=1.2.1 diff --git a/examples/web-compose-in-js/gradle.properties b/examples/web-compose-in-js/gradle.properties index 07f5071b..9cbcd918 100644 --- a/examples/web-compose-in-js/gradle.properties +++ b/examples/web-compose-in-js/gradle.properties @@ -2,5 +2,5 @@ kotlin.code.style=official kotlin.mpp.enableGranularSourceSetsMetadata=true kotlin.native.enableDependencyPropagation=false kotlin.js.webpack.major.version=4 -kotlin.version=1.7.10 -compose.version=1.2.0 +kotlin.version=1.7.20 +compose.version=1.2.1 diff --git a/examples/web-landing/gradle.properties b/examples/web-landing/gradle.properties index ca45a2d4..f4e41d64 100644 --- a/examples/web-landing/gradle.properties +++ b/examples/web-landing/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official kotlin.version=1.7.20 -compose.version=1.2.1-rc03 +compose.version=1.2.1 diff --git a/examples/web-with-react/gradle.properties b/examples/web-with-react/gradle.properties index ba79da52..f4e41d64 100644 --- a/examples/web-with-react/gradle.properties +++ b/examples/web-with-react/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -kotlin.version=1.7.10 -compose.version=1.2.0 +kotlin.version=1.7.20 +compose.version=1.2.1 diff --git a/examples/widgets-gallery/gradle.properties b/examples/widgets-gallery/gradle.properties index 64161edf..83a972fb 100644 --- a/examples/widgets-gallery/gradle.properties +++ b/examples/widgets-gallery/gradle.properties @@ -20,5 +20,5 @@ android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official kotlin.version=1.7.20 -compose.version=1.2.0 +compose.version=1.2.1 agp.version=7.1.3 diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatability.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatability.kt index ef7a6bfe..3523a91e 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatability.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposeCompilerCompatability.kt @@ -5,7 +5,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType internal object ComposeCompilerCompatability { fun compilerVersionFor(kotlinVersion: String): ComposeCompilerVersion? = when (kotlinVersion) { "1.7.10" -> ComposeCompilerVersion("1.3.0") - "1.7.20" -> ComposeCompilerVersion("1.3.2.1-rc02") + "1.7.20" -> ComposeCompilerVersion("1.3.2.1") else -> null } } diff --git a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/DesktopApplicationTest.kt b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/DesktopApplicationTest.kt index 5f6fcf6d..7571e4a9 100644 --- a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/DesktopApplicationTest.kt +++ b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/DesktopApplicationTest.kt @@ -168,9 +168,11 @@ class DesktopApplicationTest : GradlePluginTestBase() { val packageFile = packageDirFiles.single() if (currentOS == OS.Linux) { - val expectedName = "test-package_1.0.0-1_amd64.$ext" - check(packageFile.name.equals(expectedName, ignoreCase = true)) { - "Expected '$expectedName' package in $packageDir, got '${packageFile.name}'" + val isTestPackage = packageFile.name.contains("test-package", ignoreCase = true) || + packageFile.name.contains("testpackage", ignoreCase = true) + val isDeb = packageFile.name.endsWith(".$ext") + check(isTestPackage && isDeb) { + "Expected contain testpackage*.deb or test-package*.deb package in $packageDir, got '${packageFile.name}'" } } else { Assert.assertEquals(packageFile.name, "TestPackage-1.0.0.$ext", "Unexpected package name") diff --git a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/KotlinCompatabilityTest.kt b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/KotlinCompatabilityTest.kt index 2d45460d..83311c2b 100644 --- a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/KotlinCompatabilityTest.kt +++ b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/KotlinCompatabilityTest.kt @@ -24,11 +24,7 @@ class KotlinCompatabilityTest : GradlePluginTestBase() { fun testKotlinMpp_1_7_20() = testMpp("1.7.20") @Test - fun testKotlinJsMpp_1_7_20() { - assertThrows { - testJsMpp("1.7.20") - } - } + fun testKotlinJsMpp_1_7_20() = testJsMpp("1.7.20") private fun testMpp(kotlinVersion: String) = with( testProject( diff --git a/gradle-plugins/gradle.properties b/gradle-plugins/gradle.properties index ddff7281..53f2223a 100644 --- a/gradle-plugins/gradle.properties +++ b/gradle-plugins/gradle.properties @@ -2,13 +2,13 @@ org.gradle.parallel=true kotlin.code.style=official # Default version of Compose Libraries used by Gradle plugin -compose.version=1.2.0 +compose.version=1.2.1 # The latest version of Compose Compiler used by Gradle plugin. Used only in tests. -compose.tests.compiler.version=1.3.2 +compose.tests.compiler.version=1.3.2.1 # The latest version of Kotlin compatible with compose.tests.compiler.version. Used only in tests. compose.tests.compiler.compatible.kotlin.version=1.7.20 # The latest version of Kotlin compatible with compose.tests.compiler.version for JS target. Used only on CI. -compose.tests.js.compiler.compatible.kotlin.version=1.7.10 +compose.tests.js.compiler.compatible.kotlin.version=1.7.20 # Version of Compose Compiler published by Google. # Used to check if our plugin is compatible with it. # https://developer.android.com/jetpack/androidx/releases/compose-kotlin diff --git a/templates/desktop-template/gradle.properties b/templates/desktop-template/gradle.properties index 5c878d80..d195c98d 100644 --- a/templates/desktop-template/gradle.properties +++ b/templates/desktop-template/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official kotlin.version=1.7.20 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/templates/multiplatform-template/gradle.properties b/templates/multiplatform-template/gradle.properties index c32d3119..8666c923 100644 --- a/templates/multiplatform-template/gradle.properties +++ b/templates/multiplatform-template/gradle.properties @@ -4,4 +4,4 @@ android.enableJetifier=true kotlin.code.style=official kotlin.version=1.7.20 agp.version=7.1.3 -compose.version=1.2.0 +compose.version=1.2.1 diff --git a/templates/web-template/gradle.properties b/templates/web-template/gradle.properties index 8f61b388..d195c98d 100644 --- a/templates/web-template/gradle.properties +++ b/templates/web-template/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official -kotlin.version=1.7.10 -compose.version=1.2.0 +kotlin.version=1.7.20 +compose.version=1.2.1 diff --git a/tools/replaceVersion.sh b/tools/replaceVersion.sh index 5fff3033..0ab7de9b 100755 --- a/tools/replaceVersion.sh +++ b/tools/replaceVersion.sh @@ -46,6 +46,8 @@ replaceVersionInFile() { replaceVersion 'id("org.jetbrains.compose") version ".*"' 'id("org.jetbrains.compose") version "'"$COMPOSE_VERSION"'"' $1 replaceVersion '"org.jetbrains.compose:compose-gradle-plugin:.*"' '"org.jetbrains.compose:compose-gradle-plugin:'"$COMPOSE_VERSION"'"' $1 replaceVersion '^kotlin.version=.*' 'kotlin.version='"$KOTLIN_VERSION"'' $1 + replaceVersion '^compose.tests.compiler.compatible.kotlin.version=.*' 'compose.tests.compiler.compatible.kotlin.version='"$KOTLIN_VERSION"'' $1 + replaceVersion '^compose.tests.js.compiler.compatible.kotlin.version=.*' 'compose.tests.js.compiler.compatible.kotlin.version='"$KOTLIN_VERSION"'' $1 replaceVersion 'kotlin("multiplatform") version ".*"' 'kotlin("multiplatform") version "'"$KOTLIN_VERSION"'"' $1 replaceVersion 'kotlin("jvm") version ".*"' 'kotlin("jvm") version "'"$KOTLIN_VERSION"'"' $1 } diff --git a/tutorials/Getting_Started/README.md b/tutorials/Getting_Started/README.md index 5aa489fc..3ec464f9 100644 --- a/tutorials/Getting_Started/README.md +++ b/tutorials/Getting_Started/README.md @@ -45,7 +45,7 @@ For the latest versions, see the [latest versions](https://github.com/JetBrains/ ``` plugins { kotlin("jvm") version "1.7.20" - id("org.jetbrains.compose") version "1.2.0" + id("org.jetbrains.compose") version "1.2.1" } ``` @@ -79,7 +79,7 @@ Then create `build.gradle.kts` with the following content: ``` kotlin plugins { kotlin("jvm") version "1.7.20" - id("org.jetbrains.compose") version "1.2.0" + id("org.jetbrains.compose") version "1.2.1" } repositories { diff --git a/tutorials/Web/Getting_Started/README.md b/tutorials/Web/Getting_Started/README.md index bdcdb540..a074b7fa 100644 --- a/tutorials/Web/Getting_Started/README.md +++ b/tutorials/Web/Getting_Started/README.md @@ -38,8 +38,8 @@ pluginManagement { ``` kotlin // Add compose gradle plugin plugins { - kotlin("multiplatform") version "1.7.10" - id("org.jetbrains.compose") version "1.2.0" + kotlin("multiplatform") version "1.7.20" + id("org.jetbrains.compose") version "1.2.1" } // Add maven repositories diff --git a/web/build.gradle.kts b/web/build.gradle.kts index 4c325bf9..a8063581 100644 --- a/web/build.gradle.kts +++ b/web/build.gradle.kts @@ -2,7 +2,7 @@ import org.gradle.api.tasks.testing.AbstractTestTask import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.jetbrains.compose.gradle.kotlinKarmaConfig import org.jetbrains.kotlin.gradle.dsl.kotlinExtension -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.targets +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.targets plugins { kotlin("multiplatform") apply false diff --git a/web/gradle.properties b/web/gradle.properties index 42de5f34..87828539 100644 --- a/web/gradle.properties +++ b/web/gradle.properties @@ -1,4 +1,4 @@ -compose.version=1.2.0 +compose.version=1.2.1 compose.web.buildSamples=false compose.web.tests.integration.withFirefox compose.web.tests.skip.benchmarks=false