Skip to content

Commit

Permalink
Prepare version 0.12.0
Browse files Browse the repository at this point in the history
  • Loading branch information
JakeWharton committed Jun 18, 2024
1 parent 228d3f4 commit 935dcc2
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 48 deletions.
72 changes: 70 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# Change Log

## [Unreleased]
[Unreleased]: https://github.com/cashapp/redwood/compare/0.11.0...HEAD
[Unreleased]: https://github.com/cashapp/redwood/compare/0.12.0...HEAD

New:
- Nothing yet!

Changed:
- Nothing yet!

Fixed:
- Nothing yet!


## [0.12.0] - 2024-06-18
[0.12.0]: https://github.com/cashapp/redwood/releases/tag/0.12.0

New:
- Upgrade to Kotlin 2.0!
Expand Down Expand Up @@ -32,10 +45,65 @@ Breaking:

Upgraded:
- Kotlin 2.0.0
- Zipline 1.12.0
- Zipline 1.13.0
- kotlinx.serialization 1.7.0


### Gradle plugin removed

This version of Redwood 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.
Each module in which you had previously applied the `app.cash.redwood` plugin should be changed to apply `org.jetbrains.kotlin.plugin.compose` instead.
The Redwood dependencies will no longer be added as a result of the plugin change, and so any module which references Redwoods APIs should add those dependencies explicitly.

For posterity, the Kotlin version compatibility table and compiler version customization for our old Redwood Gradle plugin will be archived here:

<details>
<summary>Redwood 0.12.0 Gradle plugin Kotlin compatibility table</summary>
<p>

Since Kotlin compiler plugins are an unstable API, certain versions of Redwood only work with
certain versions of Kotlin.

| Kotlin | Redwood |
|--------|---------------|
| 1.9.24 | 0.11.0 |
| 1.9.23 | 0.10.0 |
| 1.9.22 | 0.8.0 - 0.9.0 |
| 1.9.10 | 0.7.0 |
| 1.9.0 | 0.6.0 |
| 1.8.22 | 0.5.0 |
| 1.8.20 | 0.3.0 - 0.4.0 |
| 1.7.20 | 0.1.0 - 0.2.1 |

</p>
</details>

<details>
<summary>Redwood 0.12.0 Gradle plugin Compose compiler customization instructions</summary>
<p>

Each version of Redwood ships with a specific JetBrains Compose compiler version which works with
a single version of Kotlin (see [version table](#version-compatibility) above). Newer versions of
the Compose compiler or alternate Compose compilers can be specified using the Gradle extension.

To use a new version of the JetBrains Compose compiler version:
```kotlin
redwood {
kotlinCompilerPlugin.set("1.4.8")
}
```

To use an alternate Compose compiler dependency:
```kotlin
redwood {
kotlinCompilerPlugin.set("com.example:custom-compose-compiler:1.0.0")
}
```

</p>
</details>


## [0.11.0] - 2024-05-15
[0.11.0]: https://github.com/cashapp/redwood/releases/tag/0.11.0

Expand Down
36 changes: 0 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,42 +152,6 @@ fun Counter(value: Int = 0) {
}
```

### Version compatibility

Since Kotlin compiler plugins are an unstable API, certain versions of Redwood only work with
certain versions of Kotlin.

| Kotlin | Redwood |
|--------|---------------|
| 1.9.24 | 0.11.0 |
| 1.9.23 | 0.10.0 |
| 1.9.22 | 0.8.0 - 0.9.0 |
| 1.9.10 | 0.7.0 |
| 1.9.0 | 0.6.0 |
| 1.8.22 | 0.5.0 |
| 1.8.20 | 0.3.0 - 0.4.0 |
| 1.7.20 | 0.1.0 - 0.2.1 |

### Custom Compose Compiler

Each version of Redwood ships with a specific JetBrains Compose compiler version which works with
a single version of Kotlin (see [version table](#version-compatibility) above). Newer versions of
the Compose compiler or alternate Compose compilers can be specified using the Gradle extension.

To use a new version of the JetBrains Compose compiler version:
```kotlin
redwood {
kotlinCompilerPlugin.set("1.4.8")
}
```

To use an alternate Compose compiler dependency:
```kotlin
redwood {
kotlinCompilerPlugin.set("com.example:custom-compose-compiler:1.0.0")
}
```


[compose-server-side]: https://github.com/ShikaSD/compose-server-side
[compose]: https://developer.android.com/jetpack/compose
Expand Down
14 changes: 5 additions & 9 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,27 @@
2. Add a link URL to ensure the header link works.
3. Add a new `Unreleased` section to the top.

3. Update the `README.md`:
1. Update the Kotlin compatibility table with the new version.
<!--2. Update the "Usage" section to reflect the new release version and the snapshot section to reflect the next "SNAPSHOT" version.-->

4. Commit
3. Commit

```
$ git commit -am "Prepare version X.Y.Z"
```

5. Tag
4. Tag

```
$ git tag -am "Version X.Y.Z" X.Y.Z
```

6. Update `redwoodVersion` in `RedwoodBuildPlugin.kt` to the next "SNAPSHOT" version.
5. Update `redwoodVersion` in `RedwoodBuildPlugin.kt` to the next "SNAPSHOT" version.

7. Commit
6. Commit

```
$ git commit -am "Prepare next development version"
```

8. Push!
7. Push!

```
$ git push && git push --tags
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
private const val REDWOOD_GROUP_ID = "app.cash.redwood"

// HEY! If you change the major version update release.yaml doc folder.
private const val REDWOOD_VERSION = "0.12.0-SNAPSHOT"
private const val REDWOOD_VERSION = "0.12.0"

private val isCiEnvironment = System.getenv("CI") == "true"

Expand Down

0 comments on commit 935dcc2

Please sign in to comment.