Skip to content

Commit f677a3e

Browse files
committed
Update CHANGELOG.md
1 parent d7b7e1d commit f677a3e

File tree

1 file changed

+59
-2
lines changed

1 file changed

+59
-2
lines changed

CHANGELOG.md

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,62 @@
11
# Change log for refreshVersions
22

3+
## [Unreleased] Version 0.51.0 (2022-10-25)
4+
5+
### Support Jetpack Compose BoM
6+
7+
Yesterday, Google released a BoM for Jetpack Compose.
8+
Today we're introducing first-class support for it.
9+
10+
To take advantage of it, you just need to add the dependency on `platform(AndroidX.compose.bom)`.
11+
Just like `Firebase.bom`, make sure you add it **before** any dependent dependency:
12+
13+
```kts
14+
dependencies {
15+
implementation(platform(AndroidX.compose.bom)) // Add this FIRST
16+
implementation(AndroidX.compose.material3) // Related dependencies AFTER
17+
implementation(AndroidX.compose.material3.windowSizeClass) // Same as above
18+
}
19+
```
20+
21+
In case you need to use a pre-release version (alpha, beta, rc…), use the `withVersionPlaceholder()` function as such:
22+
23+
```kts
24+
dependencies {
25+
implementation(platform(AndroidX.compose.bom)) // Enables the BoM and depends on it
26+
implementation(AndroidX.compose.icons.extended) // Uses version defined in the BoM
27+
implementation(AndroidX.compose.material3.withVersionPlaceholder()) // Separate version in versions.properties
28+
}
29+
```
30+
31+
### Fix StabilityLevel calculation for number-less pre-versions
32+
33+
Since last changes in the Version class, versions like 1.7.20-RC and 1.7.20-Beta would be marked as stable instead of respectively ReleaseCandidate and Beta because the logic expected a number in all cases.
34+
35+
The number is now optional for all pre-versions, except milestones.
36+
37+
To prevent future recurrence of such regression, this commit
38+
also adds tests that assert the expected stability level of
39+
many known versions from various libraries.
40+
41+
### New dependency notations:
42+
43+
<details>
44+
<summary><strong>Click to expand (11) </strong></summary>
45+
46+
- `AndroidX.asyncLayoutInflater.appcompat`
47+
- `AndroidX.compose.bom`
48+
- `AndroidX.dataStore.core.okio`
49+
- `AndroidX.graphics.core`
50+
- `AndroidX.input.motionPrediction`
51+
- `AndroidX.paging.testing`
52+
- `AndroidX.test.espresso.device`
53+
- `AndroidX.tv.foundation`
54+
- `AndroidX.tv.material`
55+
- `Firebase.dynamicModuleSupport`
56+
- `Google.firebase.dynamicModuleSupport`
57+
58+
</details>
59+
360
## Version 0.50.2 (2022-09-24)
461

562
### Minor change
@@ -517,7 +574,7 @@ It took us time to catch-up with this change because we wanted to design a gener
517574

518575
From now on, we have the ability to remove old or deprecated built-in dependency notations in refreshVersions, and doing so will not break your builds, nor will it change the dependencies of your project. However, it'll help you notice the deprecation, and it'll help you switch to the replacement dependencies, if any.
519576

520-
The way it works is that we keep a versioned list of all the removals, and on refreshVersions upgrade, an automatic replacement will put back the hardcoded maven coordinates, using the version placeholder, and it will add our hand-written TODO/FIXME comments, along with a perfectly aligned replacement suggestion if there is any, so that moving to the newer artifact is as easy as upgrading to a newer version in the `versions.properties` file. We designed the system so that it cannot break your build, even if you were using `withVersion(…)` or other `DependencyNotation` extensions, even if you have code comments or special string literals.
577+
The way it works is that we keep a versioned list of all the removals, and on refreshVersions upgrade, an automatic replacement will put back the hardcoded maven coordinates, using the version placeholder, and it will add our handwritten TODO/FIXME comments, along with a perfectly aligned replacement suggestion if there is any, so that moving to the newer artifact is as easy as upgrading to a newer version in the `versions.properties` file. We designed the system so that it cannot break your build, even if you were using `withVersion(…)` or other `DependencyNotation` extensions, even if you have code comments or special string literals.
521578

522579
It also supports the case where we just move a dependency notation to another place, or change its name, without changing the maven coordinates.
523580

@@ -915,7 +972,7 @@ Firebase ML Kit has been rebranded to Google ML Kit along with API and feature c
915972

916973
### New features
917974

918-
- refreshVersions will now warn you when Gradle is not up to date, and will give you the commands to run to update it for you to copy/paste and run. It works if you're using a release candidate, and also if you're using a nightly version!
975+
- refreshVersions will now warn you when Gradle is not up-to-date, and will give you the commands to run to update it for you to copy/paste and run. It works if you're using a release candidate, and also if you're using a nightly version!
919976

920977

921978
## Version 0.9.5 (2020-08-21)

0 commit comments

Comments
 (0)