mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[JEWEL-1021] Write Jewel 0.31 release notes
This includes all changes scheduled to make it in the release, and a minor fix to the extractor script to avoid empty bullet points. closes https://github.com/JetBrains/intellij-community/pull/3249 (cherry picked from commit 6cf685298d2a7df9fc9b6d1211d4fda0b03b5b34) GitOrigin-RevId: cc13194c22b1e7f6b0e27742a15a42035b61f4a9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
225fcf7439
commit
f9db8f90b6
@@ -1,5 +1,56 @@
|
||||
# Jewel Release Notes
|
||||
|
||||
## v0.31 (ETA 2025-10-21)
|
||||
|
||||
| Min supported IJP versions | Compose Multiplatform version |
|
||||
|----------------------------|-------------------------------|
|
||||
| 2025.2.4, 2025.3 EAP | 1.9.0 |
|
||||
|
||||
### ⚠️ Important Changes
|
||||
|
||||
* **IJP 251 is no longer supported** as of this release. Jewel policy remains to support the current stable version and the upcoming IJP version.
|
||||
* **JEWEL-996** Updated Compose Multiplatform version to 1.9.0 stable ([#3241](https://github.com/JetBrains/intellij-community/pull/3241))
|
||||
|
||||
### New features
|
||||
|
||||
* **JEWEL-146** Created `SpeedSearchArea` container to provide [speed search](https://www.jetbrains.com/help/idea/speed-search-in-the-tool-windows.html) functionality
|
||||
* Speed search is implemented for `SelectableLazyColumn` (in ([#3214](https://github.com/JetBrains/intellij-community/pull/3214))) and `Tree` (in ([#3242](https://github.com/JetBrains/intellij-community/pull/3242))) components
|
||||
* `ComboBox`es are not yet supported, but should be in 0.32
|
||||
* By default, it does IDE-like "smart matching", implemented by `SpeedSearchMatcher.patternMatcher()`
|
||||
* A more classical substring matching behaviour is also optionally available via `SpeedSearchMatcher.substringMatcher()`
|
||||
* You can implement `SpeedSearchMatcher` to provide your own matching logic
|
||||
* **JEWEL-964** Added a `PopupMenu` variant that takes a `PopupPositionProvider` as parameter ([#3202](https://github.com/JetBrains/intellij-community/pull/3202))
|
||||
|
||||
### Bug fixes
|
||||
|
||||
* **JEWEL-146** Fixed an issue in the `LazyListState.visibleItemsRange` and `SelectableLazyListState.visibleItemsRange` methods that were returning one more item than they should have ([#3214](https://github.com/JetBrains/intellij-community/pull/3214))
|
||||
* **JEWEL-146** Fixed potential crashes in the IDE when reading `ComboBox.padding`, `TabbedPane.tabInsets`, and `SpeedSearch.borderInsets` from the LaF ([#3235](https://github.com/JetBrains/intellij-community/pull/3235))
|
||||
* **JEWEL-174** Fixed toolwindows in the IDE not getting focused when clicking in an empty area or a non-focusable child composable ([#3228](https://github.com/JetBrains/intellij-community/pull/3228))
|
||||
* **JEWEL-857** Fixed `SimpleListItem`'s semantics to ensure screen readers will read the content description from the children elements ([#3227](https://github.com/JetBrains/intellij-community/pull/3227))
|
||||
* **JEWEL-857** Fixed `SelectableLazyColumn`'s semantics to ensure screen readers will read the content description from the children elements ([#3227](https://github.com/JetBrains/intellij-community/pull/3227))
|
||||
* **JEWEL-857** Fixed `SelectableLazyColumn`'s semantics to ensure screen readers will read the selected/unselected state of items correctly ([#3227](https://github.com/JetBrains/intellij-community/pull/3227))
|
||||
* If the list uses multiple selection mode, items will be considered as checkboxes
|
||||
* If the list uses single selection mode, items will be considered as radio buttons
|
||||
* **JEWEL-914** Fixed the `Chip` component's appearance in the IDE ([#3239](https://github.com/JetBrains/intellij-community/pull/3239))
|
||||
* **JEWEL-952** Fixed an issue with menus where multiple sub-menus could be opened at the same time ([#3201](https://github.com/JetBrains/intellij-community/pull/3201))
|
||||
* **JEWEL-953** Fixed keyboard navigation on custom native popups, in both standalone and the IDE ([#3208](https://github.com/JetBrains/intellij-community/pull/3208))
|
||||
* Now, clicking the left arrow only closes the top level
|
||||
* Also fixes incorrect popup focus forcing in the IDE
|
||||
* **JEWEL-953** Fixed keyboard navigation on custom native popups in standalone to cycle around like it does the IDE ([#3208](https://github.com/JetBrains/intellij-community/pull/3208))
|
||||
* **JEWEL-953** Fixed behaviour when `dismissOnClickOutside = false` for custom native popups in standalone ([#3208](https://github.com/JetBrains/intellij-community/pull/3208))
|
||||
* **JEWEL-961,JEWEL-984** Fixed issues where `ListComboBox`es were not making focused entries fully visible on keyboard navigation ([#3237](https://github.com/JetBrains/intellij-community/pull/3237))
|
||||
* **JEWEL-961,JEWEL-984** Fixed issues with string-based `ListComboBox`es not closing when pressing enter ([#3237](https://github.com/JetBrains/intellij-community/pull/3237))
|
||||
* **JEWEL-961,JEWEL-984** Fixed issues in `ListComboBox`es scrolling to only move by one item at a time, to match Swing implementations ([#3237](https://github.com/JetBrains/intellij-community/pull/3237))
|
||||
* **JEWEL-962** Fixed `ListComboBox` to properly scroll to ensure the selected item is visible when first opening the popup ([#3243](https://github.com/JetBrains/intellij-community/pull/3243))
|
||||
* **JEWEL-962** Fixed `ListComboBox` to properly reset the scroll position when the popup is dismissed ([#3234](https://github.com/JetBrains/intellij-community/pull/3234))
|
||||
* **JEWEL-1001** Fixed the text line height calculation in the IDE when the IDE zoom level is not 100% ([#3236](https://github.com/JetBrains/intellij-community/pull/3236))
|
||||
* **JEWEL-1002** Fixed an issue that required explicitly providing a theme `instanceUuid` in standalone themes and could cause crashing at startup ([#3216](https://github.com/JetBrains/intellij-community/pull/3216))
|
||||
* **JEWEL-1006** Fixed an issue in the custom popup renderer in standalone that was incorrectly triggering the "click outside" callback when a submenu was clicked ([#3238](https://github.com/JetBrains/intellij-community/pull/3238))
|
||||
|
||||
### Deprecated API
|
||||
|
||||
* **JEWEL-146** Deprecated `SelectableLazyColumn` overload that does not accept an `interactionSource` as parameter ([#3214](https://github.com/JetBrains/intellij-community/pull/3214))
|
||||
|
||||
## v0.30 (2025-09-04)
|
||||
|
||||
| Supported IJP versions | Compose Multiplatform version |
|
||||
@@ -90,13 +141,13 @@
|
||||
* **JEWEL-967** Fixed the Images Markdown extension artifact to correctly declare it depends on Coil3 ([#3188](https://github.com/JetBrains/intellij-community/pull/3188))
|
||||
* **JEWEL-968** Fixed the Markdown console font ligatures settings to match user's IDE settings with all fonts ([#3178](https://github.com/JetBrains/intellij-community/pull/3178))
|
||||
* **JEWEL-976** Fixed a `ArrayIndexOutOfBoundsException` in `ListComboBox` when passing an out-of-bounds selected index ([#3184](https://github.com/JetBrains/intellij-community/pull/3184))
|
||||
* **JEWEL-989** Fixed `plugin.xml` dependencies for the Markdown styling modules — both standalone and bridge ([#3197](https://github.com/JetBrains/intellij-community/pull/3197))
|
||||
* **JEWEL-985** Fixed a number of APIs that were missing the experimental annotations, or were improperly annotated as such: ([#3193](https://github.com/JetBrains/intellij-community/pull/3193))
|
||||
* `LocalCodeHighlighter` and `NoOpCodeHighlighter`
|
||||
* `LocalPopupRenderer`
|
||||
* **JEWEL-986** Added missing CMP Resources transitive dependency to the `ui` module's POM ([#3195](https://github.com/JetBrains/intellij-community/pull/3195))
|
||||
* Removed unnecessary dependency on the autolink, strikethrough, and images extensions from the bridge styling module
|
||||
* Added missing dependency on the tables extension to the standalone styling module
|
||||
* **JEWEL-989** Fixed `plugin.xml` dependencies for the Markdown styling modules — both standalone and bridge ([#3197](https://github.com/JetBrains/intellij-community/pull/3197))
|
||||
|
||||
### Deprecated API
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ import com.github.ajalt.clikt.core.main
|
||||
import com.github.ajalt.clikt.parameters.options.defaultLazy
|
||||
import com.github.ajalt.clikt.parameters.options.flag
|
||||
import com.github.ajalt.clikt.parameters.options.option
|
||||
import java.io.File
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import kotlin.system.exitProcess
|
||||
import kotlin.time.TimeSource.Monotonic.markNow
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -24,8 +26,6 @@ import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import kotlinx.serialization.json.jsonPrimitive
|
||||
import java.io.File
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
// --- Configuration ---
|
||||
private object Config {
|
||||
@@ -51,7 +51,7 @@ class ExtractReleaseNotesCommand : CliktCommand() {
|
||||
if (latestReleaseDate.isNullOrBlank()) {
|
||||
printlnErr(
|
||||
"Error: --start-date is required if ${Config.RELEASE_NOTES_FILE} " +
|
||||
"does not exist or contain a release date."
|
||||
"does not exist or contain a release date."
|
||||
)
|
||||
exitProcess(1)
|
||||
}
|
||||
@@ -198,7 +198,9 @@ class ExtractReleaseNotesCommand : CliktCommand() {
|
||||
results.forEach { result ->
|
||||
processedPrs[result.prId] = result
|
||||
result.notes.forEach { (section, items) ->
|
||||
allReleaseNotes.getOrPut(section) { mutableListOf() }.addAll(items)
|
||||
allReleaseNotes
|
||||
.getOrPut(section) { mutableListOf() }
|
||||
.addAll(items.filter { it.description.isNotBlank() })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,7 +227,7 @@ class ExtractReleaseNotesCommand : CliktCommand() {
|
||||
|
||||
val sectionOrder = listOf("⚠️ Important Changes", "New features", "Bug fixes", "Deprecated API", "Other")
|
||||
val sortedSections =
|
||||
allReleaseNotes.keys.sortedBy{ sectionKey ->
|
||||
allReleaseNotes.keys.sortedBy { sectionKey ->
|
||||
sectionOrder.indexOf(sectionKey).takeIf { it >= 0 } ?: Int.MAX_VALUE
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user