Skip to content

Commit 5167547

Browse files
committed
Prepare version 0.13.0
1 parent ca05ca8 commit 5167547

File tree

4 files changed

+88
-77
lines changed

4 files changed

+88
-77
lines changed

CHANGELOG.md

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,77 @@ Fixed:
1212
- Nothing yet!
1313

1414

15+
## [0.13.0] - 2024-05-28
16+
17+
New:
18+
- Support Kotlin 2.0.0!
19+
20+
Changed:
21+
- Remove our Gradle plugin in favor of JetBrains' (see below for more).
22+
23+
Note: Version 0.12.0 was also released today, but it still supports Kotlin 1.9.24.
24+
Check out [its release entry](https://github.com/JakeWharton/mosaic/releases/tag/0.12.0) for more on what's new.
25+
26+
27+
### Gradle plugin removed
28+
29+
This version of Mosaic removes the custom Gradle plugin in favor of [the official JetBrains Compose compiler plugin](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compiler.html) which ships as part of Kotlin itself.
30+
Each module in which you had previously applied the `com.jakewharton.mosaic` plugin should be changed to apply `org.jetbrains.kotlin.plugin.compose` instead.
31+
The Mosaic runtime will no longer be added as a result of the plugin change, and so any module which references Mosaic APIs should apply the `com.jakewharton.mosaic:mosaic-runtime` dependency.
32+
33+
For posterity, the Kotlin version compatibility table and compiler version customization for our old Mosaic Gradle plugin will be archived here:
34+
35+
<details>
36+
<summary>Mosaic 0.12.0 Gradle plugin Kotlin compatibility table</summary>
37+
<p>
38+
39+
Since Kotlin compiler plugins are an unstable API, certain versions of Mosaic only work with
40+
certain versions of Kotlin.
41+
42+
| Kotlin | Mosaic |
43+
|--------|---------------|
44+
| 1.9.24 | 0.12.0 |
45+
| 1.9.22 | 0.11.0 |
46+
| 1.9.20 | 0.10.0 |
47+
| 1.9.10 | 0.9.1 |
48+
| 1.9.0 | 0.8.0 - 0.9.0 |
49+
| 1.8.22 | 0.7.1 |
50+
| 1.8.21 | 0.7.0 |
51+
| 1.8.20 | 0.6.0 |
52+
| 1.8.10 | 0.5.0 |
53+
| 1.8.0 | 0.3.0 - 0.4.0 |
54+
| 1.7.10 | 0.2.0 |
55+
| 1.5.10 | 0.1.0 |
56+
57+
</p>
58+
</details>
59+
60+
<details>
61+
<summary>Mosaic 0.12.0 Gradle plugin Compose compiler customization instructions</summary>
62+
<p>
63+
64+
Each version of Mosaic ships with a specific JetBrains Compose compiler version which works with
65+
a single version of Kotlin (see [version table](#usage) above). Newer versions of the Compose
66+
compiler or alternate Compose compilers can be specified using the Gradle extension.
67+
68+
To use a new version of the JetBrains Compose compiler version:
69+
```kotlin
70+
mosaic {
71+
kotlinCompilerPlugin.set("1.4.8")
72+
}
73+
```
74+
75+
To use an alternate Compose compiler dependency:
76+
```kotlin
77+
mosaic {
78+
kotlinCompilerPlugin.set("com.example:custom-compose-compiler:1.0.0")
79+
}
80+
```
81+
82+
</p>
83+
</details>
84+
85+
1586
## [0.12.0] - 2024-05-28
1687

1788
New:
@@ -206,7 +277,8 @@ Breaking:
206277
Initial release!
207278

208279

209-
[Unreleased]: https://github.com/JakeWharton/mosaic/compare/0.12.0...HEAD
280+
[Unreleased]: https://github.com/JakeWharton/mosaic/compare/0.13.0...HEAD
281+
[0.13.0]: https://github.com/JakeWharton/mosaic/releases/tag/0.13.0
210282
[0.12.0]: https://github.com/JakeWharton/mosaic/releases/tag/0.12.0
211283
[0.11.0]: https://github.com/JakeWharton/mosaic/releases/tag/0.11.0
212284
[0.10.0]: https://github.com/JakeWharton/mosaic/releases/tag/0.10.0

README.md

Lines changed: 13 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -79,73 +79,34 @@ fun main() = runMosaic {
7979

8080
## Usage
8181

82-
In order to use Mosaic you must write your code in Kotlin and must apply the Compose Kotlin
83-
compiler plugin.
82+
Mosaic is a library for Compose, and it relies on JetBrains' Kotlin Compose plugin to be present for use.
83+
Any module which wants to call `runMosaic` or define `@Composable` functions for use with Mosaic must have this plugin applied.
84+
For more information, see [the JetBrains Compose compiler documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compiler.html).
8485

85-
For Gradle users, the Mosaic Gradle plugin will take care of applying the compiler plugin.
86+
Mosaic itself can then be added like any other dependency:
8687

8788
```groovy
88-
buildscript {
89-
repositories {
90-
mavenCentral()
91-
}
92-
dependencies {
93-
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24'
94-
classpath 'com.jakewharton.mosaic:mosaic-gradle-plugin:0.12.0'
95-
}
89+
dependencies {
90+
implementation("com.jakewharton.mosaic:mosaic-runtime:0.13.0")
9691
}
97-
98-
apply plugin: 'org.jetbrains.kotlin.jvm'
99-
apply plugin: 'com.jakewharton.mosaic'
10092
```
10193

102-
The runtime APIs will be made available automatically by applying the plugin.
10394
Documentation is available at [jakewharton.github.io/mosaic/docs/0.x/](https://jakewharton.github.io/mosaic/docs/0.x/).
10495

105-
**Note**: Any module which contains a `@Composable`-annotated function or lambda must apply the
106-
Mosaic plugin. While the runtime dependency will be available to downstream modules as a
107-
transitive dependency, the compiler plugin is not inherited and must be applied to every module.
108-
109-
Since Kotlin compiler plugins are an unstable API, certain versions of Mosaic only work with
110-
certain versions of Kotlin.
111-
112-
| Kotlin | Mosaic |
113-
|--------|---------------|
114-
| 1.9.24 | 0.12.0 |
115-
| 1.9.22 | 0.11.0 |
116-
| 1.9.20 | 0.10.0 |
117-
| 1.9.10 | 0.9.1 |
118-
| 1.9.0 | 0.8.0 - 0.9.0 |
119-
| 1.8.22 | 0.7.1 |
120-
| 1.8.21 | 0.7.0 |
121-
| 1.8.20 | 0.6.0 |
122-
| 1.8.10 | 0.5.0 |
123-
| 1.8.0 | 0.3.0 - 0.4.0 |
124-
| 1.7.10 | 0.2.0 |
125-
| 1.5.10 | 0.1.0 |
126-
127-
Versions newer than those listed may be supported but are untested.
128-
12996
<details>
13097
<summary>Snapshots of the development version are available in Sonatype's snapshots repository.</summary>
13198
<p>
13299

133100
```groovy
134-
buildscript {
135-
repository {
136-
mavenCentral()
137-
maven {
138-
url 'https://oss.sonatype.org/content/repositories/snapshots/'
139-
}
140-
}
141-
dependencies {
142-
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24'
143-
classpath 'com.jakewharton.mosaic:mosaic-gradle-plugin:0.13.0-SNAPSHOT'
101+
repository {
102+
mavenCentral()
103+
maven {
104+
url 'https://oss.sonatype.org/content/repositories/snapshots/'
144105
}
145106
}
146-
147-
apply plugin: 'org.jetbrains.kotlin.jvm'
148-
apply plugin: 'com.jakewharton.mosaic'
107+
dependencies {
108+
implementation("com.jakewharton.mosaic:mosaic-runtime:0.14.0-SNAPSHOT")
109+
}
149110
```
150111

151112
Snapshot documentation is available at [jakewharton.github.io/mosaic/docs/latest/](https://jakewharton.github.io/mosaic/docs/latest/).
@@ -214,27 +175,6 @@ fun main() = runMosaic {
214175
}
215176
```
216177

217-
### Custom Compose Compiler
218-
219-
Each version of Mosaic ships with a specific JetBrains Compose compiler version which works with
220-
a single version of Kotlin (see [version table](#usage) above). Newer versions of the Compose
221-
compiler or alternate Compose compilers can be specified using the Gradle extension.
222-
223-
To use a new version of the JetBrains Compose compiler version:
224-
```kotlin
225-
mosaic {
226-
kotlinCompilerPlugin.set("1.4.8")
227-
}
228-
```
229-
230-
To use an alternate Compose compiler dependency:
231-
```kotlin
232-
mosaic {
233-
kotlinCompilerPlugin.set("com.example:custom-compose-compiler:1.0.0")
234-
}
235-
```
236-
237-
238178
# License
239179

240180
Copyright 2020 Jake Wharton

RELEASING.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99

1010
3. Update the `README.md`:
1111
1. Change the "Download" section to reflect the new release version.
12-
2. Update the compatibility chart with our new version and if it supports a new Kotlin version.
13-
3. Change the snapshot section to reflect the next "SNAPSHOT" version, if it is changing.
12+
2. Change the snapshot section to reflect the next "SNAPSHOT" version, if it is changing.
1413

1514
4. Commit
1615

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
GROUP=com.jakewharton.mosaic
2-
VERSION_NAME=0.13.0-SNAPSHOT
2+
VERSION_NAME=0.13.0
33

44
SONATYPE_HOST=DEFAULT
55
SONATYPE_AUTOMATIC_RELEASE=true

0 commit comments

Comments
 (0)