Skip to content

Commit 6bff124

Browse files
committed
Merge branch 'main' into release
Redeploy to GitHub Pages with the Dokka task fixed.
2 parents 9c0bada + 992fc80 commit 6bff124

4 files changed

Lines changed: 108 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 105 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,105 @@
1-
# Change log
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [0.6.0] - 2026-03-31
11+
12+
### Added
13+
14+
#### Common
15+
16+
- Add `ExperimentalApi` and `LikelyInconsistentApi` opt-in annotations.
17+
- Add `VerticalScrollColumn`, `HorizontalScrollRow`, `VerticalScrollBox`, and `HorizontalScrollBox` scrolling layout composables in the `layout.ext` package as replacements for the scroll modifiers (#95).
18+
- Initially add common text styling types (`SpanStyle`, `FontStyle`, `FontWeight`, `TextDecoration`, `TextAlign`, `TextOverflow`, `TextUnit`) and styled text composable overloads with `AnnotatedString` support (`buildAnnotatedString`, `withStyle`) (#124).
19+
- Use `ResizeObserver` to react to size changes on JS DOM in `BoxWithConstraints` (#51).
20+
21+
#### Material 3
22+
23+
- Add unified wrapper components for remaining Material 3 components based on [Compose HTML Material](https://github.com/huanshankeji/compose-html-material) [PR #21](https://github.com/huanshankeji/compose-html-material/pull/21) and [PR #32](https://github.com/huanshankeji/compose-html-material/pull/32) (which depends on [maicol07/material-web-additions](https://github.com/maicol07/material-web-additions)) (#70, #72):
24+
- badge: `Badge` (deprecated) in `ext`
25+
- chip: `AssistChip`, `FilterChip`, `InputChip`, `SuggestionChip` (and elevated variants) in `ext`
26+
- dialog: `AlertDialog` and `SimpleDialog`
27+
- divider: `HorizontalDivider`
28+
- navigation drawer: `ModalNavigationDrawer` (deprecated, may be replaced with navigation rails in the future)
29+
- radio button: `RadioButton`, and `RadioButtonRow` and `radioGroup` in `ext`, like the existing ones for Material 2
30+
- segmented button: `SingleChoiceSegmentedButtonRow`, `MultiChoiceSegmentedButtonRow`, and scoped `SegmentedButton` in `ext`
31+
- select: `FilledSelect`, `OutlinedSelect`, and `SelectOption` in `ext`
32+
- slider: `Slider` and `RangeSlider`
33+
- tab: `PrimaryTabRow`, `SecondaryTabRow`, and `PrimaryTab`, `SecondaryTab` in `ext`
34+
- Add the snackbar composables `SnackbarHost`, `SnackbarHostState`, and related types (`SnackbarVisuals`, `SnackbarData`, `SnackbarResult`, `SnackbarDuration`), similar to those for Material 2 (#91, #98).
35+
- Add the top app bar composables `TopAppBar`, `CenterAlignedTopAppBar`, `MediumTopAppBar`, `LargeTopAppBar` in `ext` (#91, #94).
36+
- Add the `Scaffold` composable with `FabPosition` enum (#103, #105).
37+
38+
#### Material Icons
39+
40+
- Support all common material icons with core and extended icon modules (#123).
41+
42+
#### Navigation
43+
44+
- Save the ViewModel states on JS DOM, especially during navigation (#55).
45+
46+
#### ViewModel
47+
48+
- Copy and adapt more ViewModel code from Compose Multiplatform, supporting `LocalViewModelStoreOwner` on JS DOM (#55).
49+
50+
### Changed
51+
52+
- Bump dependencies to the latest.
53+
- Kotlin 2.3.20
54+
- Compose Multiplatform 1.10.3
55+
- Kobweb 0.24.0
56+
- Compose HTML Material 0.5.0
57+
- AGP 8.12.3
58+
- Gradle 9.4.1
59+
- JVM toolchain 17
60+
- Android SDK 36
61+
- No longer publish the Material 2 module for release due to its decreasing popularity and the underlying KMDC library's incompatible Kotlin and Compose versions (kept for reference purposes).
62+
- Remove the Maven repository for Kobweb since it's published to Maven Central now.
63+
- Remove the `iosX64` targets.
64+
- Support ES2015 compilation target for JS DOM by replacing `require()` with ES module imports.
65+
- Use `Arrangement.spacedBy` from Kobweb (commit 53ff09f4d2aacfa7ec82c6afb6cfb352e8cc5e3a).
66+
67+
### Deprecated
68+
69+
- Deprecate the `Modifier.verticalScroll` and `Modifier.horizontalScroll` modifiers for external use. Use `VerticalScrollBox`/`VerticalScrollColumn` and `HorizontalScrollBox`/`HorizontalScrollRow` instead (#95).
70+
- Deprecate `ModalNavigationDrawer` upon review (may be replaced with navigation rails in the future).
71+
72+
### Fixed
73+
74+
- Fix `BoxWithConstraints` to react to size changes on JS DOM using `ResizeObserver` and fix its display issues (#51).
75+
- Fix `Column` component hiding content on JS DOM by moving max constraints from `imitateComposeUiLayout` to scroll modifiers (#95).
76+
- Fix typos in deprecation messages, comments, and CHANGELOG dates (#122).
77+
78+
### Internal
79+
80+
#### Added
81+
82+
##### Documentation and Tooling
83+
84+
- Add API documentation generated by Dokka hosted on [GitHub Pages](https://huanshankeji.github.io/compose-multiplatform-html-unified/) (#43).
85+
- Split GitHub Pages site into landing page, API docs, and side-by-side demo (#116).
86+
- Add `.github/copilot-instructions.md` for repository onboarding (#62, #65).
87+
- Add `AGENTS.md` and `copilot-setup-steps.yml`.
88+
- Add manual `api-dump` workflow on macOS (#128).
89+
90+
#### Changed
91+
92+
- Enable Gradle Configuration Cache (commit f0017ee475477c566d8a04d9280d8cd8d3052ee7).
93+
- Bump Dokka to 2.1.0 (#43).
94+
- Enable `kotlin.native.enableKlibsCrossCompilation` (commit 624955ddec49db603af36d52930d4a1417729059).
95+
- Refactor CI to use extracted actions (#57).
96+
- Port Maven publishing migration (#113).
97+
- Code clean-up: nullable composable patterns, null equality, trailing commas (#93).
98+
- Onboard with GitHub Copilot (#62, #65).
99+
100+
#### Fixed
101+
102+
- Fix the issue that `withAndroidTarget` was put in the wrong `group` in `applyDefaultHierarchyTemplate` (f13a85a).
2103

3104
## v0.5.0 / 2024-12-05
4105

@@ -77,3 +178,6 @@ Support Material 3. See the Updated README.md for more details.
77178
## v0.2.0 / 2024-04-17
78179

79180
The project now depends on Kobweb Silk on Kotlin/JS (Compose HTML) and there is a universal multiplatform interface for `Modifier`, scopes, etc. akin to those in `androidx.compose`. Obsolete code including `ModifierOrAttrsScope` is moved to a legacy module.
181+
182+
[Unreleased]: https://github.com/huanshankeji/compose-multiplatform-html-unified/compare/v0.6.0...HEAD
183+
[0.6.0]: https://github.com/huanshankeji/compose-multiplatform-html-unified/compare/v0.5.0...v0.6.0

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ com.huanshankeji:compose-multiplatform-html-unified-material3:$version
115115
- Icon: `Icon`
116116
- Icon button: `IconButton`, `IconToggleButton`, `FilledIconButton`, `FilledIconToggleButton`, `FilledTonalIconButton`,
117117
`FilledTonalIconToggleButton`, `OutlinedIconButton`, `OutlinedIconToggleButton`
118-
- Navigation drawer: `ModalNavigationDrawer` (deprecated)
118+
- Navigation drawer: `ModalNavigationDrawer` (deprecated, may be replaced with navigation rails in the future)
119119
- Progress indicator: `LinearProgressIndicator`, `CircularProgressIndicator`
120120
- Radio button: `RadioButton`
121121
- Segmented button: `SingleChoiceSegmentedButtonRow`, `MultiChoiceSegmentedButtonRow`

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ apiValidation {
2727
}
2828

2929
dependencies {
30-
subprojects.filter { it.name != demoProjectName }.forEach {
30+
subprojects.filter { it.name != demoProjectName && it.buildFile.exists() }.forEach {
3131
dokka(it)
3232
}
3333
}

buildSrc/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ dependencies {
1616
implementation("org.jetbrains.compose:compose-gradle-plugin:1.10.3")
1717
implementation("com.huanshankeji.team:gradle-plugins:0.11.0") // don't use a snapshot version in a main branch
1818
// https://developer.android.com/build/releases/gradle-plugin, https://mvnrepository.com/artifact/com.android.tools.build/gradle
19-
implementation("com.android.tools.build:gradle:8.12.3")
19+
implementation("com.android.tools.build:gradle:8.13.2")
2020
implementation("com.huanshankeji:common-gradle-dependencies:0.10.0-20251024") // don't use a snapshot version in a main branch
2121
}

0 commit comments

Comments
 (0)