|
1 | 1 | # Change log for refreshVersions
|
2 | 2 |
|
| 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 | + |
3 | 60 | ## Version 0.50.2 (2022-09-24)
|
4 | 61 |
|
5 | 62 | ### Minor change
|
@@ -517,7 +574,7 @@ It took us time to catch-up with this change because we wanted to design a gener
|
517 | 574 |
|
518 | 575 | 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.
|
519 | 576 |
|
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. |
521 | 578 |
|
522 | 579 | It also supports the case where we just move a dependency notation to another place, or change its name, without changing the maven coordinates.
|
523 | 580 |
|
@@ -915,7 +972,7 @@ Firebase ML Kit has been rebranded to Google ML Kit along with API and feature c
|
915 | 972 |
|
916 | 973 | ### New features
|
917 | 974 |
|
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! |
919 | 976 |
|
920 | 977 |
|
921 | 978 | ## Version 0.9.5 (2020-08-21)
|
|
0 commit comments