@grafana/scenes 8.4.0 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,1592 @@
|
|
|
1
|
+
# v8.5.0 (Thu Jun 18 2026)
|
|
2
|
+
|
|
3
|
+
### Release Notes
|
|
4
|
+
|
|
5
|
+
#### chore(deps): update dependency rimraf to v6 ([#1534](https://github.com/grafana/scenes/pull/1534))
|
|
6
|
+
|
|
7
|
+
<details>
|
|
8
|
+
<summary>isaacs/rimraf (rimraf)</summary>
|
|
9
|
+
|
|
10
|
+
#### chore(deps): update dependency react-router-dom to v6.30.4 ([#1521](https://github.com/grafana/scenes/pull/1521))
|
|
11
|
+
|
|
12
|
+
<details>
|
|
13
|
+
<summary>remix-run/react-router (react-router-dom)</summary>
|
|
14
|
+
|
|
15
|
+
#### fix(deps): update emotion monorepo ([#1511](https://github.com/grafana/scenes/pull/1511))
|
|
16
|
+
|
|
17
|
+
<details>
|
|
18
|
+
<summary>emotion-js/emotion (@​emotion/css)</summary>
|
|
19
|
+
|
|
20
|
+
#### fix(deps): update dependency @floating-ui/react to ^0.27.0 ([#1509](https://github.com/grafana/scenes/pull/1509))
|
|
21
|
+
|
|
22
|
+
<details>
|
|
23
|
+
<summary>floating-ui/floating-ui (@​floating-ui/react)</summary>
|
|
24
|
+
|
|
25
|
+
### [`v0.27.19`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02719)
|
|
26
|
+
|
|
27
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.18...@floating-ui/react@0.27.19)
|
|
28
|
+
|
|
29
|
+
##### Patch Changes
|
|
30
|
+
|
|
31
|
+
- fix(useDismiss): ignore non-primary inside mouse presses for click outside dismissal
|
|
32
|
+
- fix(react): fix shadow root host lookup when one of the parent elements is an anchor
|
|
33
|
+
- Update dependencies: `@floating-ui/utils@0.2.11`, `@floating-ui/react-dom@2.1.8`
|
|
34
|
+
|
|
35
|
+
### [`v0.27.18`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02718)
|
|
36
|
+
|
|
37
|
+
##### Patch Changes
|
|
38
|
+
|
|
39
|
+
- fix(FloatingFocusManager): use `WeakRef` for previously focused elements
|
|
40
|
+
|
|
41
|
+
### [`v0.27.17`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02717)
|
|
42
|
+
|
|
43
|
+
##### Patch Changes
|
|
44
|
+
|
|
45
|
+
- feat: detectOverflow configurable via platform
|
|
46
|
+
- fix(FloatingPortal): ensure accessibility of non-modal dialogs with iOS/Safari/Voice Control
|
|
47
|
+
- Update dependencies: `@floating-ui/react-dom@2.1.7`
|
|
48
|
+
|
|
49
|
+
### [`v0.27.16`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02716)
|
|
50
|
+
|
|
51
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.15...@floating-ui/react@0.27.16)
|
|
52
|
+
|
|
53
|
+
##### Patch Changes
|
|
54
|
+
|
|
55
|
+
- Update dependencies: `@floating-ui/react-dom@2.1.6`
|
|
56
|
+
|
|
57
|
+
### [`v0.27.15`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02715)
|
|
58
|
+
|
|
59
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.14...@floating-ui/react@0.27.15)
|
|
60
|
+
|
|
61
|
+
##### Patch Changes
|
|
62
|
+
|
|
63
|
+
- Update dependencies: `@floating-ui/react-dom@2.1.5`
|
|
64
|
+
|
|
65
|
+
### [`v0.27.14`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02714)
|
|
66
|
+
|
|
67
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.13...@floating-ui/react@0.27.14)
|
|
68
|
+
|
|
69
|
+
##### Patch Changes
|
|
70
|
+
|
|
71
|
+
- fix(FloatingFocusManager): allow marking ancestor nodes with `data-floating-ui-inert`. Fixes outside presses not working when clicking on a parent ancestor node.
|
|
72
|
+
- feat(FloatingPortal): support `ShadowRoot` containers
|
|
73
|
+
- fix(useRole): ensure `aria-selected=true` is present without being active with `select` role
|
|
74
|
+
- fix: only use blur capture to mark inside floating tree if `FloatingPortal` exists. Prevents blocking `closeOnFocusOut` behavior.
|
|
75
|
+
- fix(FloatingFocusManager): clear previously focused elements that are disconnected more often
|
|
76
|
+
|
|
77
|
+
### [`v0.27.13`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02713)
|
|
78
|
+
|
|
79
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.12...@floating-ui/react@0.27.13)
|
|
80
|
+
|
|
81
|
+
##### Patch Changes
|
|
82
|
+
|
|
83
|
+
- fix(FloatingFocusManager): ensure focus is always returned correctly in deep nested trees
|
|
84
|
+
- fix(markOthers): exclude elements with `role="status"` and `output` elements
|
|
85
|
+
- Update dependencies: `@floating-ui/utils@0.2.10`, `@floating-ui/react-dom@2.1.4`
|
|
86
|
+
|
|
87
|
+
### [`v0.27.12`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02712)
|
|
88
|
+
|
|
89
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.11...@floating-ui/react@0.27.12)
|
|
90
|
+
|
|
91
|
+
##### Patch Changes
|
|
92
|
+
|
|
93
|
+
- fix(FloatingFocusManager): ensure `aria-hidden`/`inert` are cleaned up correctly when mixing `outsideElementsInert` `true`/`false`
|
|
94
|
+
- fix(safePolygon): revert to checking if any nested child is open
|
|
95
|
+
|
|
96
|
+
### [`v0.27.11`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02711)
|
|
97
|
+
|
|
98
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.10...@floating-ui/react@0.27.11)
|
|
99
|
+
|
|
100
|
+
##### Patch Changes
|
|
101
|
+
|
|
102
|
+
- fix(FloatingFocusManager): check if target is connected for `restoreFocus` prop
|
|
103
|
+
- Update dependencies: `@floating-ui/react-dom@2.1.3`
|
|
104
|
+
|
|
105
|
+
### [`v0.27.10`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02710)
|
|
106
|
+
|
|
107
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.9...@floating-ui/react@0.27.10)
|
|
108
|
+
|
|
109
|
+
##### Patch Changes
|
|
110
|
+
|
|
111
|
+
- fix(safePolygon): handle pointer moving outside of all floating elements in a tree with a close delay
|
|
112
|
+
- fix(useDismiss): bail out of blur to mark inside react tree if floating tree exists
|
|
113
|
+
|
|
114
|
+
### [`v0.27.9`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0279)
|
|
115
|
+
|
|
116
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.8...@floating-ui/react@0.27.9)
|
|
117
|
+
|
|
118
|
+
##### Patch Changes
|
|
119
|
+
|
|
120
|
+
- fix(useListNavigation): reset internal `focusItemOnOpen` state when floating element is closed. This prevents the first item being highlighted on open under certain conditions when it shouldn't be.
|
|
121
|
+
- fix(FloatingOverlay): `lockScroll` detection on iPad
|
|
122
|
+
- fix(useListNavigation): avoid item rerenders upon open
|
|
123
|
+
- fix(FloatingFocusManager): check for blurring to nested elements inside the React tree without `FloatingTree`
|
|
124
|
+
- fix(FloatingFocusManager): always prevent scroll upon returning focus
|
|
125
|
+
- refactor(useHover): improve `handleClose` option and docs. You can now more easily write a custom event handler function, including exported types.
|
|
126
|
+
- feat(FloatingOverlay): add `lockScroll` scrollbar width CSS variable (`--floating-ui-scrollbar-width`)
|
|
127
|
+
- feat(useListNavigation, Composite): allow `disabledIndices` to be a function
|
|
128
|
+
|
|
129
|
+
### [`v0.27.8`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0278)
|
|
130
|
+
|
|
131
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.7...@floating-ui/react@0.27.8)
|
|
132
|
+
|
|
133
|
+
##### Patch Changes
|
|
134
|
+
|
|
135
|
+
- feat: export most utils under `@floating-ui/react/utils`. This makes it a lot easier to write your own custom interaction hooks, or copy/paste the existing ones to change the way they are implemented yourself without patching or waiting for features/breaking changes.
|
|
136
|
+
- perf(FloatingFocusManager): move manual tabindex handling on floating element to an event. Improves performance when the floating element has a large amount of content or the content changes frequently e.g. virtualized scrolling.
|
|
137
|
+
- fix(FloatingFocusManager): prioritize returning focus to reference if available
|
|
138
|
+
- feat(useListNavigation): add `parentOrientation` prop
|
|
139
|
+
|
|
140
|
+
### [`v0.27.7`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0277)
|
|
141
|
+
|
|
142
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.6...@floating-ui/react@0.27.7)
|
|
143
|
+
|
|
144
|
+
##### Patch Changes
|
|
145
|
+
|
|
146
|
+
- fix(useTransitionStatus): avoid browser from painting before floating element opens. With `FloatingDelayGroup`, this avoids a flicker when moving between floating elements to ensure one is always open with no missing frames.
|
|
147
|
+
- fix(useListNavigation): correctly scroll to the selected item on open when using a pointer and `FloatingFocusManager` `initialFocus` is not in use
|
|
148
|
+
- fix(useHover): clean up blockPointerEvents when opened with click after hover
|
|
149
|
+
- fix(useRole): improve "combobox" role
|
|
150
|
+
- fix(useRole): handle custom id attributes
|
|
151
|
+
- feat: experimental `NextFloatingDelayGroup` (and `useNextFloatingDelayGroup`). Unlike `FloatingDelayGroup`, this component doesn't cause a re-render of unrelated consumers of the context when the delay changes, improving performance. This will eventually become the new default for `FloatingDelayGroup` in v1 (`Next`), as [its API is different](https://redirect.github.com/floating-ui/floating-ui/pull/3274).
|
|
152
|
+
- perf(FloatingFocusManager): ignore manual tabindex handling for non-dialog role floating elements
|
|
153
|
+
- fix(useHover): prevent floating element unexpectedly closing when close to reference element when not using `safePolygon()` and a close delay
|
|
154
|
+
- perf(useFloating): refactor `events` emitter
|
|
155
|
+
- fix(FloatingFocusManager): ensure floating elements with no tabbable content are assigned `tabIndex=0` when `initialFocus` is -1
|
|
156
|
+
- fix(useListNavigation): handle list navigation for nested lists with mixed orientation
|
|
157
|
+
|
|
158
|
+
### [`v0.27.6`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0276)
|
|
159
|
+
|
|
160
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.5...@floating-ui/react@0.27.6)
|
|
161
|
+
|
|
162
|
+
##### Patch Changes
|
|
163
|
+
|
|
164
|
+
- fix(useFloating): prevent error when using `inline` middleware when passing a real DOM element to `refs.setPositionReference` due to `element.getClientRects()` not being handled
|
|
165
|
+
- fix: avoid marking root ancestor combobox with `aria-hidden` when nested virtual floating element opens
|
|
166
|
+
- fix(FloatingFocusManager): set `inert` attribute value to empty string instead of `"true"`
|
|
167
|
+
- fix(FloatingFocusManager): correct tabbing to different document contexts
|
|
168
|
+
- fix(useClick): fix toggle behavior with Enter key when reference element is anchor
|
|
169
|
+
- feat(FloatingFocusManager): `getInsideElements` prop. Allows you to specify elements that are considered as "inside" the floating element. These will avoid being marked with `aria-hidden` and `data-floating-ui-inert` attributes.
|
|
170
|
+
- fix(useFocus): improve `:focus-visible` checks
|
|
171
|
+
|
|
172
|
+
### [`v0.27.5`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0275)
|
|
173
|
+
|
|
174
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.4...@floating-ui/react@0.27.5)
|
|
175
|
+
|
|
176
|
+
##### Patch Changes
|
|
177
|
+
|
|
178
|
+
- fix(FloatingFocusManager): return focus on outside press if possible for non-context nested floating elements
|
|
179
|
+
- perf: improve performance by only clearing used timeouts
|
|
180
|
+
- fix(useMergeRefs): support React 19 ref cleanup
|
|
181
|
+
- fix(FloatingFocusManager): avoid returning to unrelated references
|
|
182
|
+
|
|
183
|
+
### [`v0.27.4`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0274)
|
|
184
|
+
|
|
185
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.3...@floating-ui/react@0.27.4)
|
|
186
|
+
|
|
187
|
+
##### Patch Changes
|
|
188
|
+
|
|
189
|
+
- fix(useListNavigation): use parent's orientation when opening/closing nested menus, correctly supporting grid submenus
|
|
190
|
+
- fix(FloatingList): avoid race condition between registering/unregistering nodes and setting indices
|
|
191
|
+
|
|
192
|
+
### [`v0.27.3`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0273)
|
|
193
|
+
|
|
194
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.2...@floating-ui/react@0.27.3)
|
|
195
|
+
|
|
196
|
+
##### Patch Changes
|
|
197
|
+
|
|
198
|
+
- feat(FloatingFocusManager): accept `FloatingRootContext` as the `context` prop
|
|
199
|
+
- fix(useListNavigation): check for virtual pointer on pointerenter
|
|
200
|
+
- refactor: use jsx runtime
|
|
201
|
+
- Update dependencies: `@floating-ui/utils@0.2.9`
|
|
202
|
+
|
|
203
|
+
### [`v0.27.2`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0272)
|
|
204
|
+
|
|
205
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.1...@floating-ui/react@0.27.2)
|
|
206
|
+
|
|
207
|
+
##### Patch Changes
|
|
208
|
+
|
|
209
|
+
- fix(FloatingFocusManager): prevent stale `inert`/`aria-hidden` attributes from being left on outside elements
|
|
210
|
+
|
|
211
|
+
### [`v0.27.1`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02719)
|
|
212
|
+
|
|
213
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.27.0...@floating-ui/react@0.27.1)
|
|
214
|
+
|
|
215
|
+
##### Patch Changes
|
|
216
|
+
|
|
217
|
+
- fix(useDismiss): ignore non-primary inside mouse presses for click outside dismissal
|
|
218
|
+
- fix(react): fix shadow root host lookup when one of the parent elements is an anchor
|
|
219
|
+
- Update dependencies: `@floating-ui/utils@0.2.11`, `@floating-ui/react-dom@2.1.8`
|
|
220
|
+
|
|
221
|
+
### [`v0.27.0`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#0270)
|
|
222
|
+
|
|
223
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.26.28...@floating-ui/react@0.27.0)
|
|
224
|
+
|
|
225
|
+
##### Minor Changes
|
|
226
|
+
|
|
227
|
+
- chore: deprecate `inner` and `useInnerOffset`. This technique of aligning an inner element to the reference has poor performance with longer lists, doesn't fit with the middleware paradigm, doesn't work on touch, and has a better custom alternative using native `onScroll` that is encouraged instead.
|
|
228
|
+
- breaking: drop React 16 support. 17 is the minimum supported version.
|
|
229
|
+
- fix(useId): add `| undefined` return type for React 17
|
|
230
|
+
|
|
231
|
+
##### Patch Changes
|
|
232
|
+
|
|
233
|
+
- feat(FloatingFocusManager): add `outsideElementsInert` prop. This enables pointer modality without a backdrop.
|
|
234
|
+
- perf(useListNavigation): simplify focusing to remove unneeded asynchronicity
|
|
235
|
+
- fix(useDismiss): allow native clicks to work with `referencePress`
|
|
236
|
+
- fix(useDismiss): read target `overflow` style for scrollbar press check. Fixes an issue where outside presses would be incorrectly prevented if the target element that was pressed appeared scrollable but was actually not.
|
|
237
|
+
- fix(FloatingFocusManager): check for 'safe-polygon' reason on return focus
|
|
238
|
+
|
|
239
|
+
### [`v0.26.28`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02628)
|
|
240
|
+
|
|
241
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.26.27...@floating-ui/react@0.26.28)
|
|
242
|
+
|
|
243
|
+
##### Patch Changes
|
|
244
|
+
|
|
245
|
+
- fix(Composite): change focus to be sync
|
|
246
|
+
- fix(useClick): improve consistency when combining with `useHover()`
|
|
247
|
+
- feat(useClick): add `stickIfOpen` prop to determine whether to remain open upon first click when first opened by another event
|
|
248
|
+
- feat(Composite): add RTL support
|
|
249
|
+
- fix(FloatingFocusManager): ensure `returnFocus` is ignored correctly when using `disabled` prop
|
|
250
|
+
- fix(useListNavigation): incorrect behaviour with RTL grid
|
|
251
|
+
|
|
252
|
+
### [`v0.26.27`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02627)
|
|
253
|
+
|
|
254
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.26.26...@floating-ui/react@0.26.27)
|
|
255
|
+
|
|
256
|
+
##### Patch Changes
|
|
257
|
+
|
|
258
|
+
- fix(useListNavigation): ignore Home/End key press for typeable combobox references
|
|
259
|
+
- fix(useListNavigation): ensure submenu references are set as `virtualItemRef` on floating close
|
|
260
|
+
- fix(inner): use list ref length for fallback detection
|
|
261
|
+
- fix(FloatingPortal): allow `root` to be reactive from `null` to an element
|
|
262
|
+
|
|
263
|
+
### [`v0.26.26`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/react/CHANGELOG.md#02626)
|
|
264
|
+
|
|
265
|
+
[Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/react@0.26.25...@floating-ui/react@0.26.26)
|
|
266
|
+
|
|
267
|
+
##### Patch Changes
|
|
268
|
+
|
|
269
|
+
- fix(useFloating): access `domReference` instead of `reference`
|
|
270
|
+
- feat(FloatingFocusManager): specify element to return focus to
|
|
271
|
+
|
|
272
|
+
</details>
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
#### fix(deps): update react monorepo ([#1512](https://github.com/grafana/scenes/pull/1512))
|
|
277
|
+
|
|
278
|
+
<details>
|
|
279
|
+
<summary>facebook/react (react)</summary>
|
|
280
|
+
|
|
281
|
+
### [`v18.3.1`](https://redirect.github.com/facebook/react/blob/HEAD/CHANGELOG.md#1831-April-26-2024)
|
|
282
|
+
|
|
283
|
+
[Compare Source](https://redirect.github.com/facebook/react/compare/v18.3.0...v18.3.1)
|
|
284
|
+
|
|
285
|
+
- Export `act` from `react` [f1338f](https://redirect.github.com/facebook/react/commit/f1338f8080abd1386454a10bbf93d67bfe37ce85)
|
|
286
|
+
|
|
287
|
+
### [`v18.3.0`](https://redirect.github.com/facebook/react/blob/HEAD/CHANGELOG.md#1830-April-25-2024)
|
|
288
|
+
|
|
289
|
+
[Compare Source](https://redirect.github.com/facebook/react/compare/v18.2.0...v18.3.0)
|
|
290
|
+
|
|
291
|
+
This release is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19.
|
|
292
|
+
|
|
293
|
+
Read the [React 19 Upgrade Guide](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) for more info.
|
|
294
|
+
|
|
295
|
+
##### React
|
|
296
|
+
|
|
297
|
+
- Allow writing to `this.refs` to support string ref codemod [909071](https://redirect.github.com/facebook/react/commit/9090712fd3ca4e1099e1f92e67933c2cb4f32552)
|
|
298
|
+
- Warn for deprecated `findDOMNode` outside StrictMode [c3b283](https://redirect.github.com/facebook/react/commit/c3b283964108b0e8dbcf1f9eb2e7e67815e39dfb)
|
|
299
|
+
- Warn for deprecated `test-utils` methods [d4ea75](https://redirect.github.com/facebook/react/commit/d4ea75dc4258095593b6ac764289f42bddeb835c)
|
|
300
|
+
- Warn for deprecated Legacy Context outside StrictMode [415ee0](https://redirect.github.com/facebook/react/commit/415ee0e6ea0fe3e288e65868df2e3241143d5f7f)
|
|
301
|
+
- Warn for deprecated string refs outside StrictMode [#​25383](https://redirect.github.com/facebook/react/pull/25383)
|
|
302
|
+
- Warn for deprecated `defaultProps` for function components [#​25699](https://redirect.github.com/facebook/react/pull/25699)
|
|
303
|
+
- Warn when spreading `key` [#​25697](https://redirect.github.com/facebook/react/pull/25697)
|
|
304
|
+
- Warn when using `act` from `test-utils` [d4ea75](https://redirect.github.com/facebook/react/commit/d4ea75dc4258095593b6ac764289f42bddeb835c)
|
|
305
|
+
|
|
306
|
+
##### React DOM
|
|
307
|
+
|
|
308
|
+
- Warn for deprecated `unmountComponentAtNode` [8a015b](https://redirect.github.com/facebook/react/commit/8a015b68cc060079878e426610e64e86fb328f8d)
|
|
309
|
+
- Warn for deprecated `renderToStaticNodeStream` [#​28874](https://redirect.github.com/facebook/react/pull/28874)
|
|
310
|
+
|
|
311
|
+
</details>
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
#### chore(deps): update jest monorepo ([#1506](https://github.com/grafana/scenes/pull/1506))
|
|
316
|
+
|
|
317
|
+
<details>
|
|
318
|
+
<summary>jestjs/jest (jest)</summary>
|
|
319
|
+
|
|
320
|
+
### [`v30.4.2`](https://redirect.github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3042)
|
|
321
|
+
|
|
322
|
+
[Compare Source](https://redirect.github.com/jestjs/jest/compare/v30.4.1...v30.4.2)
|
|
323
|
+
|
|
324
|
+
##### Fixes
|
|
325
|
+
|
|
326
|
+
- `[jest-runtime]` Fix named imports from CJS modules whose `module.exports` is a function with own-property exports ([#​16150](https://redirect.github.com/jestjs/jest/pull/16150))
|
|
327
|
+
|
|
328
|
+
### [`v30.4.1`](https://redirect.github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3041)
|
|
329
|
+
|
|
330
|
+
[Compare Source](https://redirect.github.com/jestjs/jest/compare/v30.4.0...v30.4.1)
|
|
331
|
+
|
|
332
|
+
##### Features
|
|
333
|
+
|
|
334
|
+
- `[jest-config, jest-core, jest-runner, jest-schemas, jest-types]` Allow custom runner configuration options via tuple format `['runner-path', {options}]` ([#​16141](https://redirect.github.com/jestjs/jest/pull/16141))
|
|
335
|
+
|
|
336
|
+
##### Fixes
|
|
337
|
+
|
|
338
|
+
- `[jest-runtime]` Align CJS-from-ESM default export with Node: `module.exports` is always the ESM default, `__esModule` unwrapping is no longer applied ([#​16143](https://redirect.github.com/jestjs/jest/pull/16143))
|
|
339
|
+
|
|
340
|
+
### [`v30.4.0`](https://redirect.github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3040)
|
|
341
|
+
|
|
342
|
+
[Compare Source](https://redirect.github.com/jestjs/jest/compare/v30.3.0...v30.4.0)
|
|
343
|
+
|
|
344
|
+
##### Features
|
|
345
|
+
|
|
346
|
+
- `[babel-jest]` Support collecting coverage from `.mts`, `.cts` (and other) files ([#​15994](https://redirect.github.com/jestjs/jest/pull/15994))
|
|
347
|
+
- `[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]` Add `--collect-tests` flag to discover and list tests without executing them ([#​16006](https://redirect.github.com/jestjs/jest/pull/16006))
|
|
348
|
+
- `[jest-config, jest-runner, jest-worker]` Add `workerGracefulExitTimeout` config option to control how long workers are given to exit before being force-killed ([#​15984](https://redirect.github.com/jestjs/jest/pull/15984))
|
|
349
|
+
- `[jest-config]` Add support for `jest.config.mts` as a valid configuration file ([#​16005](https://redirect.github.com/jestjs/jest/pull/16005))
|
|
350
|
+
- `[jest-config, jest-core, jest-reporters, jest-runner]` `verbose` and `silent` can now be set per-project; the project-level value overrides the global value for that project's tests ([#​16133](https://redirect.github.com/jestjs/jest/pull/16133))
|
|
351
|
+
- `[@jest/fake-timers]` Accept `Temporal.Duration` in `jest.advanceTimersByTime()` and `jest.advanceTimersByTimeAsync()` ([#​16128](https://redirect.github.com/jestjs/jest/pull/16128))
|
|
352
|
+
- `[@jest/fake-timers]` Accept `Temporal.Instant` and `Temporal.ZonedDateTime` in `jest.setSystemTime()` and `useFakeTimers({now})` ([#​16128](https://redirect.github.com/jestjs/jest/pull/16128))
|
|
353
|
+
- `[@jest/fake-timers]` Support faking `Temporal.Now.*` ([#​16131](https://redirect.github.com/jestjs/jest/pull/16131))
|
|
354
|
+
- `[jest-mock]` Add `clearMocksOnScope(scope)` on `ModuleMocker` for clearing every mock function exposed on a scope object ([#​16088](https://redirect.github.com/jestjs/jest/pull/16088))
|
|
355
|
+
- `[jest-resolve]` Add `canResolveSync()` on `Resolver` so callers can detect when a user-configured resolver only exports an `async` hook ([#​16064](https://redirect.github.com/jestjs/jest/pull/16064))
|
|
356
|
+
- `[jest-runtime]` Use synchronous `evaluate()` for ES modules without top-level `await` on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured ([#​16062](https://redirect.github.com/jestjs/jest/pull/16062))
|
|
357
|
+
- `[jest-runtime]` Support `require()` of ES modules on Node v24.9+ ([#​16074](https://redirect.github.com/jestjs/jest/pull/16074))
|
|
358
|
+
- `[jest-runtime]` Validate TC39 import attributes (`with { type: 'json' }`) on ESM imports ([#​16127](https://redirect.github.com/jestjs/jest/pull/16127))
|
|
359
|
+
- `[@jest/transform]` Add `canTransformSync(filename)` on `ScriptTransformer` so callers can pick the sync vs async transform path ([#​16062](https://redirect.github.com/jestjs/jest/pull/16062))
|
|
360
|
+
- `[jest-util]` Add `isError` helper ([#​16076](https://redirect.github.com/jestjs/jest/pull/16076))
|
|
361
|
+
- `[pretty-format]` Support React 19 ([#​16123](https://redirect.github.com/jestjs/jest/pull/16123))
|
|
362
|
+
|
|
363
|
+
##### Fixes
|
|
364
|
+
|
|
365
|
+
- `[expect-utils]` Fix `toStrictEqual` failing on `structuredClone` results due to cross-realm constructor mismatch ([#​15959](https://redirect.github.com/jestjs/jest/pull/15959))
|
|
366
|
+
- `[@jest/expect-utils]` Prevent `toMatchObject`/subset matching from throwing when encountering exotic iterables ([#​15952](https://redirect.github.com/jestjs/jest/pull/15952))
|
|
367
|
+
- `[fake-timers]` Convert `Date` to milliseconds before passing to `@sinonjs/fake-timers` ([#​16029](https://redirect.github.com/jestjs/jest/pull/16029))
|
|
368
|
+
- `[jest]` Export `GlobalConfig` and `ProjectConfig` TypeScript types ([#​16132](https://redirect.github.com/jestjs/jest/pull/16132))
|
|
369
|
+
- `[jest-circus]` Prevent crash when `asyncError` is undefined for non-Error throws ([#​16003](https://redirect.github.com/jestjs/jest/pull/16003))
|
|
370
|
+
- `[jest-circus, jest-jasmine2]` Include `Error.cause` in JSON `failureMessages` output ([#​15967](https://redirect.github.com/jestjs/jest/pull/15967))
|
|
371
|
+
- `[jest-config]` Fix preset path resolution on Windows when the preset uses subpath `exports` ([#​15961](https://redirect.github.com/jestjs/jest/pull/15961))
|
|
372
|
+
- `[jest-config]` Allow `collectCoverage` and `coverageProvider` in project config without a validation warning ([#​16132](https://redirect.github.com/jestjs/jest/pull/16132))
|
|
373
|
+
- `[jest-config]` Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options ([#​16132](https://redirect.github.com/jestjs/jest/pull/16132))
|
|
374
|
+
- `[jest-environment-node]` Fix `--localstorage-file` warning on Node 25+ ([#​16086](https://redirect.github.com/jestjs/jest/pull/16086))
|
|
375
|
+
- `[jest-reporters]` Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds ([#​16137](https://redirect.github.com/jestjs/jest/pull/16137))
|
|
376
|
+
- `[jest-reporters, jest-runner, jest-runtime, jest-transform]` Fix coverage report not showing correct code coverage when using `projects` config option ([#​16140](https://redirect.github.com/jestjs/jest/pull/16140))
|
|
377
|
+
- `[jest-runtime]` Resolve `expect` and `@jest/expect` from the internal module registry so test-file imports share the same `JestAssertionError` as the global `expect` ([#​16130](https://redirect.github.com/jestjs/jest/pull/16130))
|
|
378
|
+
- `[jest-runtime]` Improve CJS-from-ESM interop: `__esModule`/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers ([#​16050](https://redirect.github.com/jestjs/jest/pull/16050))
|
|
379
|
+
- `[jest-runtime]` Load `.js` files with ESM syntax but no `"type":"module"` marker as native ESM ([#​16050](https://redirect.github.com/jestjs/jest/pull/16050))
|
|
380
|
+
- `[jest-runtime]` Extend the `.js`-with-ESM-syntax fallback to `require()` on Node v24.9+ - falls back to `require(esm)` when the CJS parser rejects ESM syntax ([#​16078](https://redirect.github.com/jestjs/jest/pull/16078))
|
|
381
|
+
- `[jest-runtime]` Fix deadlocks and double-evaluation in concurrent ESM and wasm imports ([#​16050](https://redirect.github.com/jestjs/jest/pull/16050))
|
|
382
|
+
- `[jest-runtime]` Fix error when `require()` is called after the Jest environment has been torn down ([#​15951](https://redirect.github.com/jestjs/jest/pull/15951))
|
|
383
|
+
- `[jest-runtime]` Fix missing error when `import()` is called after the Jest environment has been torn down ([#​16080](https://redirect.github.com/jestjs/jest/pull/16080))
|
|
384
|
+
- `[jest-runtime]` Fix virtual `unstable_mockModule` registrations not respected in ESM ([#​16081](https://redirect.github.com/jestjs/jest/pull/16081))
|
|
385
|
+
- `[jest-runtime]` Apply `moduleNameMapper` when resolving modules with `require.resolve()` and the `paths` option ([#​16135](https://redirect.github.com/jestjs/jest/pull/16135))
|
|
386
|
+
|
|
387
|
+
##### Chore & Maintenance
|
|
388
|
+
|
|
389
|
+
- `[@jest/fake-timers]` Upgrade `@sinonjs/fake-timers` ([#​16139](https://redirect.github.com/jestjs/jest/pull/16139))
|
|
390
|
+
- `[jest-runtime]` Use synchronous `linkRequests` / `instantiate` for ESM linking on Node v24.9+ ([#​16063](https://redirect.github.com/jestjs/jest/pull/16063))
|
|
391
|
+
|
|
392
|
+
</details>
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
#### chore(deps): update dependency @tanstack/react-virtual to v3.13.26 ([#1491](https://github.com/grafana/scenes/pull/1491))
|
|
397
|
+
|
|
398
|
+
<details>
|
|
399
|
+
<summary>TanStack/virtual (@​tanstack/react-virtual)</summary>
|
|
400
|
+
|
|
401
|
+
### [`v3.13.26`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31326)
|
|
402
|
+
|
|
403
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.25...@tanstack/react-virtual@3.13.26)
|
|
404
|
+
|
|
405
|
+
##### Patch Changes
|
|
406
|
+
|
|
407
|
+
- Updated dependencies \[[`fc992ab`](https://redirect.github.com/TanStack/virtual/commit/fc992ab00a15166311b79bd7580736cf01e8cc1a)]:
|
|
408
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.16.0
|
|
409
|
+
|
|
410
|
+
### [`v3.13.25`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31325)
|
|
411
|
+
|
|
412
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.24...@tanstack/react-virtual@3.13.25)
|
|
413
|
+
|
|
414
|
+
##### Patch Changes
|
|
415
|
+
|
|
416
|
+
- Replace the `useReducer(() => ({}), {})` force-rerender pattern with an ([#​1168](https://redirect.github.com/TanStack/virtual/pull/1168))
|
|
417
|
+
incrementing number counter. Same semantics (every dispatch changes the
|
|
418
|
+
reducer state, forcing a render); zero per-dispatch object allocation.
|
|
419
|
+
Trivial individual cost, but eliminates one steady-state GC source on
|
|
420
|
+
scroll-heavy apps.
|
|
421
|
+
- Updated dependencies \[[`99355ad`](https://redirect.github.com/TanStack/virtual/commit/99355ad1eceee6270efaa26e51f535d8d7c31ac2), [`99355ad`](https://redirect.github.com/TanStack/virtual/commit/99355ad1eceee6270efaa26e51f535d8d7c31ac2), [`99355ad`](https://redirect.github.com/TanStack/virtual/commit/99355ad1eceee6270efaa26e51f535d8d7c31ac2), [`99355ad`](https://redirect.github.com/TanStack/virtual/commit/99355ad1eceee6270efaa26e51f535d8d7c31ac2), [`99355ad`](https://redirect.github.com/TanStack/virtual/commit/99355ad1eceee6270efaa26e51f535d8d7c31ac2), [`99355ad`](https://redirect.github.com/TanStack/virtual/commit/99355ad1eceee6270efaa26e51f535d8d7c31ac2), [`99355ad`](https://redirect.github.com/TanStack/virtual/commit/99355ad1eceee6270efaa26e51f535d8d7c31ac2)]:
|
|
422
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.15.0
|
|
423
|
+
|
|
424
|
+
### [`v3.13.24`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31324)
|
|
425
|
+
|
|
426
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.23...@tanstack/react-virtual@3.13.24)
|
|
427
|
+
|
|
428
|
+
##### Patch Changes
|
|
429
|
+
|
|
430
|
+
- Updated dependencies \[[`97a204d`](https://redirect.github.com/TanStack/virtual/commit/97a204dc5526669114458685552b7569b60d2940)]:
|
|
431
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.14.0
|
|
432
|
+
|
|
433
|
+
### [`v3.13.23`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31323)
|
|
434
|
+
|
|
435
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.22...@tanstack/react-virtual@3.13.23)
|
|
436
|
+
|
|
437
|
+
##### Patch Changes
|
|
438
|
+
|
|
439
|
+
- Updated dependencies \[[`7ece2d5`](https://redirect.github.com/TanStack/virtual/commit/7ece2d5d4249b7e703c68ac497ae5545c54e7c67)]:
|
|
440
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.23
|
|
441
|
+
|
|
442
|
+
### [`v3.13.22`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31322)
|
|
443
|
+
|
|
444
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.21...@tanstack/react-virtual@3.13.22)
|
|
445
|
+
|
|
446
|
+
##### Patch Changes
|
|
447
|
+
|
|
448
|
+
- Updated dependencies \[[`54d771a`](https://redirect.github.com/TanStack/virtual/commit/54d771a7d4c74f6968e8132b5a85f3e04682376a), [`d3416c3`](https://redirect.github.com/TanStack/virtual/commit/d3416c386c6446957f413db2eef3211f5fdf3b5f)]:
|
|
449
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.22
|
|
450
|
+
|
|
451
|
+
### [`v3.13.21`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31321)
|
|
452
|
+
|
|
453
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.20...@tanstack/react-virtual@3.13.21)
|
|
454
|
+
|
|
455
|
+
##### Patch Changes
|
|
456
|
+
|
|
457
|
+
- Updated dependencies \[[`be89e29`](https://redirect.github.com/TanStack/virtual/commit/be89e293ea01654df6334dc6473b65eebed13e51)]:
|
|
458
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.21
|
|
459
|
+
|
|
460
|
+
### [`v3.13.20`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31320)
|
|
461
|
+
|
|
462
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.19...@tanstack/react-virtual@3.13.20)
|
|
463
|
+
|
|
464
|
+
##### Patch Changes
|
|
465
|
+
|
|
466
|
+
- Updated dependencies \[[`ff83e94`](https://redirect.github.com/TanStack/virtual/commit/ff83e949408ba8a714436fa10cafc3725a56274b)]:
|
|
467
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.20
|
|
468
|
+
|
|
469
|
+
### [`v3.13.19`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31319)
|
|
470
|
+
|
|
471
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.18...@tanstack/react-virtual@3.13.19)
|
|
472
|
+
|
|
473
|
+
##### Patch Changes
|
|
474
|
+
|
|
475
|
+
- Updated dependencies \[[`843109c`](https://redirect.github.com/TanStack/virtual/commit/843109c5bf780591a762f9767f3808fd15e3f94e)]:
|
|
476
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.19
|
|
477
|
+
|
|
478
|
+
### [`v3.13.18`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31318)
|
|
479
|
+
|
|
480
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.17...@tanstack/react-virtual@3.13.18)
|
|
481
|
+
|
|
482
|
+
##### Patch Changes
|
|
483
|
+
|
|
484
|
+
- Updated dependencies \[[`9067574`](https://redirect.github.com/TanStack/virtual/commit/9067574f1a0178d30e27bcac70853bdcbf437fec)]:
|
|
485
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.18
|
|
486
|
+
|
|
487
|
+
### [`v3.13.17`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31317)
|
|
488
|
+
|
|
489
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.16...@tanstack/react-virtual@3.13.17)
|
|
490
|
+
|
|
491
|
+
##### Patch Changes
|
|
492
|
+
|
|
493
|
+
- Updated dependencies \[[`21d9a46`](https://redirect.github.com/TanStack/virtual/commit/21d9a46eac034cb4299872891694965bceed526d)]:
|
|
494
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.17
|
|
495
|
+
|
|
496
|
+
### [`v3.13.16`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31316)
|
|
497
|
+
|
|
498
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.15...@tanstack/react-virtual@3.13.16)
|
|
499
|
+
|
|
500
|
+
##### Patch Changes
|
|
501
|
+
|
|
502
|
+
- Updated dependencies \[[`db6df21`](https://redirect.github.com/TanStack/virtual/commit/db6df212ed83dd7e4eb6450d1340c95475667b7b)]:
|
|
503
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.16
|
|
504
|
+
|
|
505
|
+
### [`v3.13.15`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31315)
|
|
506
|
+
|
|
507
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.14...@tanstack/react-virtual@3.13.15)
|
|
508
|
+
|
|
509
|
+
##### Patch Changes
|
|
510
|
+
|
|
511
|
+
- feat(react-virtual): add `useFlushSync` option ([#​1100](https://redirect.github.com/TanStack/virtual/pull/1100))
|
|
512
|
+
|
|
513
|
+
Adds a React-specific `useFlushSync` option to control whether `flushSync` is used for synchronous scroll correction during measurement.
|
|
514
|
+
|
|
515
|
+
The default behavior remains unchanged (`useFlushSync: true`) to preserve the best scrolling experience.
|
|
516
|
+
Disabling it avoids the React 19 warning about calling `flushSync` during render, at the cost of potentially increased visible whitespace during fast scrolling with dynamically sized items.
|
|
517
|
+
|
|
518
|
+
- Updated dependencies \[[`5a273bf`](https://redirect.github.com/TanStack/virtual/commit/5a273bf0c0bc0255ca172929f021c3b6e50cb69d)]:
|
|
519
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.15
|
|
520
|
+
|
|
521
|
+
### [`v3.13.14`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31314)
|
|
522
|
+
|
|
523
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.13...@tanstack/react-virtual@3.13.14)
|
|
524
|
+
|
|
525
|
+
##### Patch Changes
|
|
526
|
+
|
|
527
|
+
- Updated dependencies \[[`6d9274c`](https://redirect.github.com/TanStack/virtual/commit/6d9274c3f0a9e64450b5829872079a65277bc654)]:
|
|
528
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.14
|
|
529
|
+
|
|
530
|
+
### [`v3.13.13`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31313)
|
|
531
|
+
|
|
532
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.12...@tanstack/react-virtual@3.13.13)
|
|
533
|
+
|
|
534
|
+
##### Patch Changes
|
|
535
|
+
|
|
536
|
+
- Fix: Notify framework when count changes to update getTotalSize() ([#​1085](https://redirect.github.com/TanStack/virtual/pull/1085))
|
|
537
|
+
|
|
538
|
+
Fixed an issue where `getTotalSize()` would return stale values when the `count` option changed (e.g., during filtering or search operations). The virtualizer now automatically notifies the framework when measurement-affecting options change, ensuring the UI updates correctly without requiring manual `useMemo` workarounds.
|
|
539
|
+
|
|
540
|
+
**Before**: When filtering items, the list container would maintain its previous height, causing excessive blank space (when count decreased) or inaccessible items (when count increased).
|
|
541
|
+
|
|
542
|
+
**After**: Height updates automatically when count changes, providing the correct user experience.
|
|
543
|
+
|
|
544
|
+
This fix applies to all framework adapters and has minimal performance impact (< 0.1ms per change).
|
|
545
|
+
|
|
546
|
+
- Updated dependencies \[[`2542c5a`](https://redirect.github.com/TanStack/virtual/commit/2542c5a3d6820cea956fa3b4f94c42e3526a8d68), [`96e32a6`](https://redirect.github.com/TanStack/virtual/commit/96e32a6ffc125743a0172ea4e0fe37ac29c4187b)]:
|
|
547
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.13
|
|
548
|
+
|
|
549
|
+
### [`v3.13.12`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31312)
|
|
550
|
+
|
|
551
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.11...@tanstack/react-virtual@3.13.12)
|
|
552
|
+
|
|
553
|
+
##### Patch Changes
|
|
554
|
+
|
|
555
|
+
- chore(react-virtual): fix vite e2e build ([#​1030](https://redirect.github.com/TanStack/virtual/pull/1030))
|
|
556
|
+
|
|
557
|
+
- Updated dependencies \[[`d21ed98`](https://redirect.github.com/TanStack/virtual/commit/d21ed98da3470b9986c9a028ed70fdf0d6189ab4)]:
|
|
558
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.12
|
|
559
|
+
|
|
560
|
+
### [`v3.13.11`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31311)
|
|
561
|
+
|
|
562
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.10...@tanstack/react-virtual@3.13.11)
|
|
563
|
+
|
|
564
|
+
##### Patch Changes
|
|
565
|
+
|
|
566
|
+
- Updated dependencies \[[`73fa867`](https://redirect.github.com/TanStack/virtual/commit/73fa86752599a4bffba51ec8e4ff2f8cb8283010)]:
|
|
567
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.11
|
|
568
|
+
|
|
569
|
+
### [`v3.13.10`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31310)
|
|
570
|
+
|
|
571
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.9...@tanstack/react-virtual@3.13.10)
|
|
572
|
+
|
|
573
|
+
##### Patch Changes
|
|
574
|
+
|
|
575
|
+
- Updated dependencies \[[`b3b7e7d`](https://redirect.github.com/TanStack/virtual/commit/b3b7e7dc8b25daeebbd2da61b3b7ae3448babbdb)]:
|
|
576
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.10
|
|
577
|
+
|
|
578
|
+
### [`v3.13.9`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#3139)
|
|
579
|
+
|
|
580
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.8...@tanstack/react-virtual@3.13.9)
|
|
581
|
+
|
|
582
|
+
##### Patch Changes
|
|
583
|
+
|
|
584
|
+
- Updated dependencies \[[`9e33cdb`](https://redirect.github.com/TanStack/virtual/commit/9e33cdb1c8780c2f455aafc11a0aeea58b71fc69)]:
|
|
585
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.9
|
|
586
|
+
|
|
587
|
+
### [`v3.13.8`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#3138)
|
|
588
|
+
|
|
589
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.7...@tanstack/react-virtual@3.13.8)
|
|
590
|
+
|
|
591
|
+
##### Patch Changes
|
|
592
|
+
|
|
593
|
+
- Updated dependencies \[[`60719f6`](https://redirect.github.com/TanStack/virtual/commit/60719f61b589d6f9d886e4f7c093217f6d693faf)]:
|
|
594
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.8
|
|
595
|
+
|
|
596
|
+
### [`v3.13.7`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#3137)
|
|
597
|
+
|
|
598
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.6...@tanstack/react-virtual@3.13.7)
|
|
599
|
+
|
|
600
|
+
##### Patch Changes
|
|
601
|
+
|
|
602
|
+
- Updated dependencies \[[`e2d93c2`](https://redirect.github.com/TanStack/virtual/commit/e2d93c2dcde9ccf60f658e56edccd8d05aefeee6)]:
|
|
603
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.7
|
|
604
|
+
|
|
605
|
+
### [`v3.13.6`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#3136)
|
|
606
|
+
|
|
607
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.5...@tanstack/react-virtual@3.13.6)
|
|
608
|
+
|
|
609
|
+
##### Patch Changes
|
|
610
|
+
|
|
611
|
+
- Updated dependencies \[[`042616f`](https://redirect.github.com/TanStack/virtual/commit/042616f39ced842470db0b4b40fca77f22454b7f)]:
|
|
612
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.6
|
|
613
|
+
|
|
614
|
+
### [`v3.13.5`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#3135)
|
|
615
|
+
|
|
616
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.4...@tanstack/react-virtual@3.13.5)
|
|
617
|
+
|
|
618
|
+
##### Patch Changes
|
|
619
|
+
|
|
620
|
+
- Updated dependencies \[[`51656d9`](https://redirect.github.com/TanStack/virtual/commit/51656d94a2469a065e631f25ffc8ec0288d9f5ec)]:
|
|
621
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.5
|
|
622
|
+
|
|
623
|
+
### [`v3.13.4`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#3134)
|
|
624
|
+
|
|
625
|
+
[Compare Source](https://redirect.github.com/TanStack/virtual/compare/@tanstack/react-virtual@3.13.3...@tanstack/react-virtual@3.13.4)
|
|
626
|
+
|
|
627
|
+
##### Patch Changes
|
|
628
|
+
|
|
629
|
+
- Updated dependencies \[[`514b62d`](https://redirect.github.com/TanStack/virtual/commit/514b62d04974c2fd59fc8a68ed40f4c1a1547dd2), [`f03d814`](https://redirect.github.com/TanStack/virtual/commit/f03d8142c03ea0f5816161a4dad38ca35469841c)]:
|
|
630
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.4
|
|
631
|
+
|
|
632
|
+
### [`v3.13.3`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#3133)
|
|
633
|
+
|
|
634
|
+
##### Patch Changes
|
|
635
|
+
|
|
636
|
+
- Updated dependencies \[[`02ef309`](https://redirect.github.com/TanStack/virtual/commit/02ef3097de4a14ed4077ace2ca901dc411bf81c1)]:
|
|
637
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.3
|
|
638
|
+
|
|
639
|
+
### [`v3.13.2`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31326)
|
|
640
|
+
|
|
641
|
+
##### Patch Changes
|
|
642
|
+
|
|
643
|
+
- Updated dependencies \[[`fc992ab`](https://redirect.github.com/TanStack/virtual/commit/fc992ab00a15166311b79bd7580736cf01e8cc1a)]:
|
|
644
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.16.0
|
|
645
|
+
|
|
646
|
+
### [`v3.13.1`](https://redirect.github.com/TanStack/virtual/blob/HEAD/packages/react-virtual/CHANGELOG.md#31319)
|
|
647
|
+
|
|
648
|
+
##### Patch Changes
|
|
649
|
+
|
|
650
|
+
- Updated dependencies \[[`843109c`](https://redirect.github.com/TanStack/virtual/commit/843109c5bf780591a762f9767f3808fd15e3f94e)]:
|
|
651
|
+
- [@​tanstack/virtual-core](https://redirect.github.com/tanstack/virtual-core)@​3.13.19
|
|
652
|
+
|
|
653
|
+
#### chore(deps): update dependency prettier to v2.8.8 ([#1499](https://github.com/grafana/scenes/pull/1499))
|
|
654
|
+
|
|
655
|
+
<details>
|
|
656
|
+
<summary>prettier/prettier (prettier)</summary>
|
|
657
|
+
|
|
658
|
+
### [`v2.8.8`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#288)
|
|
659
|
+
|
|
660
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.7...2.8.8)
|
|
661
|
+
|
|
662
|
+
This version is a republished version of v2.8.7.
|
|
663
|
+
A bad version was accidentally published and [it can't be unpublished](https://redirect.github.com/npm/cli/issues/1686), apologies for the churn.
|
|
664
|
+
|
|
665
|
+
### [`v2.8.7`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#287)
|
|
666
|
+
|
|
667
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.6...2.8.7)
|
|
668
|
+
|
|
669
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.8.6...2.8.7)
|
|
670
|
+
|
|
671
|
+
##### Allow multiple decorators on same getter/setter ([#​14584](https://redirect.github.com/prettier/prettier/pull/14584) by [@​fisker](https://redirect.github.com/fisker))
|
|
672
|
+
|
|
673
|
+
<!-- prettier-ignore -->
|
|
674
|
+
|
|
675
|
+
```ts
|
|
676
|
+
// Input
|
|
677
|
+
class A {
|
|
678
|
+
@​decorator()
|
|
679
|
+
get foo () {}
|
|
680
|
+
|
|
681
|
+
@​decorator()
|
|
682
|
+
set foo (value) {}
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
// Prettier 2.8.6
|
|
686
|
+
SyntaxError: Decorators cannot be applied to multiple get/set accessors of the same name. (5:3)
|
|
687
|
+
3 | get foo () {}
|
|
688
|
+
4 |
|
|
689
|
+
> 5 | @​decorator()
|
|
690
|
+
| ^^^^^^^^^^^^
|
|
691
|
+
6 | set foo (value) {}
|
|
692
|
+
7 | }
|
|
693
|
+
|
|
694
|
+
// Prettier 2.8.7
|
|
695
|
+
class A {
|
|
696
|
+
@​decorator()
|
|
697
|
+
get foo() {}
|
|
698
|
+
|
|
699
|
+
@​decorator()
|
|
700
|
+
set foo(value) {}
|
|
701
|
+
}
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
### [`v2.8.6`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#286)
|
|
705
|
+
|
|
706
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.5...2.8.6)
|
|
707
|
+
|
|
708
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.8.5...2.8.6)
|
|
709
|
+
|
|
710
|
+
##### Allow decorators on private members and class expressions ([#​14548](https://redirect.github.com/prettier/prettier/pull/14548) by [@​fisker](https://redirect.github.com/fisker))
|
|
711
|
+
|
|
712
|
+
<!-- prettier-ignore -->
|
|
713
|
+
|
|
714
|
+
```ts
|
|
715
|
+
// Input
|
|
716
|
+
class A {
|
|
717
|
+
@​decorator()
|
|
718
|
+
#privateMethod () {}
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
// Prettier 2.8.5
|
|
722
|
+
SyntaxError: Decorators are not valid here. (2:3)
|
|
723
|
+
1 | class A {
|
|
724
|
+
> 2 | @​decorator()
|
|
725
|
+
| ^^^^^^^^^^^^
|
|
726
|
+
3 | #privateMethod () {}
|
|
727
|
+
4 | }
|
|
728
|
+
|
|
729
|
+
// Prettier 2.8.6
|
|
730
|
+
class A {
|
|
731
|
+
@​decorator()
|
|
732
|
+
#privateMethod() {}
|
|
733
|
+
}
|
|
734
|
+
```
|
|
735
|
+
|
|
736
|
+
### [`v2.8.5`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#285)
|
|
737
|
+
|
|
738
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.4...2.8.5)
|
|
739
|
+
|
|
740
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.8.4...2.8.5)
|
|
741
|
+
|
|
742
|
+
##### Support TypeScript 5.0 ([#​14391](https://redirect.github.com/prettier/prettier/pull/14391) by [@​fisker](https://redirect.github.com/fisker), [#​13819](https://redirect.github.com/prettier/prettier/pull/13819) by [@​fisker](https://redirect.github.com/fisker), [@​sosukesuzuki](https://redirect.github.com/sosukesuzuki))
|
|
743
|
+
|
|
744
|
+
TypeScript 5.0 introduces two new syntactic features:
|
|
745
|
+
|
|
746
|
+
- `const` modifiers for type parameters
|
|
747
|
+
- `export type *` declarations
|
|
748
|
+
|
|
749
|
+
##### Add missing parentheses for decorator ([#​14393](https://redirect.github.com/prettier/prettier/pull/14393) by [@​fisker](https://redirect.github.com/fisker))
|
|
750
|
+
|
|
751
|
+
<!-- prettier-ignore -->
|
|
752
|
+
|
|
753
|
+
```jsx
|
|
754
|
+
// Input
|
|
755
|
+
class Person {
|
|
756
|
+
@​(myDecoratorArray[0])
|
|
757
|
+
greet() {}
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
// Prettier 2.8.4
|
|
761
|
+
class Person {
|
|
762
|
+
@​myDecoratorArray[0]
|
|
763
|
+
greet() {}
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
// Prettier 2.8.5
|
|
767
|
+
class Person {
|
|
768
|
+
@​(myDecoratorArray[0])
|
|
769
|
+
greet() {}
|
|
770
|
+
}
|
|
771
|
+
```
|
|
772
|
+
|
|
773
|
+
##### Add parentheses for `TypeofTypeAnnotation` to improve readability ([#​14458](https://redirect.github.com/prettier/prettier/pull/14458) by [@​fisker](https://redirect.github.com/fisker))
|
|
774
|
+
|
|
775
|
+
<!-- prettier-ignore -->
|
|
776
|
+
|
|
777
|
+
```tsx
|
|
778
|
+
// Input
|
|
779
|
+
type A = (typeof node.children)[];
|
|
780
|
+
|
|
781
|
+
// Prettier 2.8.4
|
|
782
|
+
type A = typeof node.children[];
|
|
783
|
+
|
|
784
|
+
// Prettier 2.8.5
|
|
785
|
+
type A = (typeof node.children)[];
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
##### Support `max_line_length=off` when parsing `.editorconfig` ([#​14516](https://redirect.github.com/prettier/prettier/pull/14516) by [@​josephfrazier](https://redirect.github.com/josephfrazier))
|
|
789
|
+
|
|
790
|
+
If an .editorconfig file is in your project and it sets `max_line_length=off` for the file you're formatting,
|
|
791
|
+
it will be interpreted as a `printWidth` of `Infinity` rather than being ignored
|
|
792
|
+
(which previously resulted in the default `printWidth` of 80 being applied, if not overridden by Prettier-specific configuration).
|
|
793
|
+
|
|
794
|
+
<!-- prettier-ignore -->
|
|
795
|
+
|
|
796
|
+
```html
|
|
797
|
+
<!-- Input -->
|
|
798
|
+
<div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}/>
|
|
799
|
+
|
|
800
|
+
<!-- Prettier 2.8.4 -->
|
|
801
|
+
<div
|
|
802
|
+
className="HelloWorld"
|
|
803
|
+
title={`You are visitor number ${num}`}
|
|
804
|
+
onMouseOver={onMouseOver}
|
|
805
|
+
/>;
|
|
806
|
+
|
|
807
|
+
<!-- Prettier 2.8.5 -->
|
|
808
|
+
<div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver} />;
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
### [`v2.8.4`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#284)
|
|
812
|
+
|
|
813
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.3...2.8.4)
|
|
814
|
+
|
|
815
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.8.3...2.8.4)
|
|
816
|
+
|
|
817
|
+
##### Fix leading comments in mapped types with `readonly` ([#​13427](https://redirect.github.com/prettier/prettier/pull/13427) by [@​thorn0](https://redirect.github.com/thorn0), [@​sosukesuzuki](https://redirect.github.com/sosukesuzuki))
|
|
818
|
+
|
|
819
|
+
<!-- prettier-ignore -->
|
|
820
|
+
|
|
821
|
+
```tsx
|
|
822
|
+
// Input
|
|
823
|
+
type Type = {
|
|
824
|
+
// comment
|
|
825
|
+
readonly [key in Foo];
|
|
826
|
+
};
|
|
827
|
+
|
|
828
|
+
// Prettier 2.8.3
|
|
829
|
+
type Type = {
|
|
830
|
+
readonly // comment
|
|
831
|
+
[key in Foo];
|
|
832
|
+
};
|
|
833
|
+
|
|
834
|
+
// Prettier 2.8.4
|
|
835
|
+
type Type = {
|
|
836
|
+
// comment
|
|
837
|
+
readonly [key in Foo];
|
|
838
|
+
};
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
##### Group params in opening block statements ([#​14067](https://redirect.github.com/prettier/prettier/pull/14067) by [@​jamescdavis](https://redirect.github.com/jamescdavis))
|
|
842
|
+
|
|
843
|
+
This is a follow-up to [#​13930](https://redirect.github.com/prettier/prettier/issues/13930) to establish wrapping consistency between opening block statements and else blocks by
|
|
844
|
+
grouping params in opening blocks. This causes params to break to a new line together and not be split across lines
|
|
845
|
+
unless the length of params exceeds the print width. This also updates the else block wrapping to behave exactly the
|
|
846
|
+
same as opening blocks.
|
|
847
|
+
|
|
848
|
+
<!-- prettier-ignore -->
|
|
849
|
+
|
|
850
|
+
```hbs
|
|
851
|
+
{{! Input }}
|
|
852
|
+
{{#block param param param param param param param param param param as |blockParam|}}
|
|
853
|
+
Hello
|
|
854
|
+
{{else block param param param param param param param param param param as |blockParam|}}
|
|
855
|
+
There
|
|
856
|
+
{{/block}}
|
|
857
|
+
|
|
858
|
+
{{! Prettier 2.8.3 }}
|
|
859
|
+
{{#block
|
|
860
|
+
param
|
|
861
|
+
param
|
|
862
|
+
param
|
|
863
|
+
param
|
|
864
|
+
param
|
|
865
|
+
param
|
|
866
|
+
param
|
|
867
|
+
param
|
|
868
|
+
param
|
|
869
|
+
param
|
|
870
|
+
as |blockParam|
|
|
871
|
+
}}
|
|
872
|
+
Hello
|
|
873
|
+
{{else block param
|
|
874
|
+
param
|
|
875
|
+
param
|
|
876
|
+
param
|
|
877
|
+
param
|
|
878
|
+
param
|
|
879
|
+
param
|
|
880
|
+
param
|
|
881
|
+
param
|
|
882
|
+
param}}
|
|
883
|
+
There
|
|
884
|
+
{{/block}}
|
|
885
|
+
|
|
886
|
+
{{! Prettier 2.8.4 }}
|
|
887
|
+
{{#block
|
|
888
|
+
param param param param param param param param param param
|
|
889
|
+
as |blockParam|
|
|
890
|
+
}}
|
|
891
|
+
Hello
|
|
892
|
+
{{else block
|
|
893
|
+
param param param param param param param param param param
|
|
894
|
+
as |blockParam|
|
|
895
|
+
}}
|
|
896
|
+
There
|
|
897
|
+
{{/block}}
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
##### Ignore files in `.sl/` ([#​14206](https://redirect.github.com/prettier/prettier/pull/14206) by [@​bolinfest](https://redirect.github.com/bolinfest))
|
|
901
|
+
|
|
902
|
+
In [Sapling SCM](https://sapling-scm.com/), `.sl/` is the folder where it stores its state, analogous to `.git/` in Git. It should be ignored in Prettier like the other SCM folders.
|
|
903
|
+
|
|
904
|
+
##### Recognize `@satisfies` in Closure-style type casts ([#​14262](https://redirect.github.com/prettier/prettier/pull/14262) by [@​fisker](https://redirect.github.com/fisker))
|
|
905
|
+
|
|
906
|
+
<!-- prettier-ignore -->
|
|
907
|
+
|
|
908
|
+
```jsx
|
|
909
|
+
// Input
|
|
910
|
+
const a = /** @​satisfies {Record<string, string>} */ ({hello: 1337});
|
|
911
|
+
const b = /** @​type {Record<string, string>} */ ({hello: 1337});
|
|
912
|
+
|
|
913
|
+
// Prettier 2.8.3
|
|
914
|
+
const a = /** @​satisfies {Record<string, string>} */ { hello: 1337 };
|
|
915
|
+
const b = /** @​type {Record<string, string>} */ ({ hello: 1337 });
|
|
916
|
+
|
|
917
|
+
// Prettier 2.8.4
|
|
918
|
+
const a = /** @​satisfies {Record<string, string>} */ ({hello: 1337});
|
|
919
|
+
const b = /** @​type {Record<string, string>} */ ({hello: 1337});
|
|
920
|
+
```
|
|
921
|
+
|
|
922
|
+
##### Fix parens in inferred function return types with `extends` ([#​14279](https://redirect.github.com/prettier/prettier/pull/14279) by [@​fisker](https://redirect.github.com/fisker))
|
|
923
|
+
|
|
924
|
+
<!-- prettier-ignore -->
|
|
925
|
+
|
|
926
|
+
```ts
|
|
927
|
+
// Input
|
|
928
|
+
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;
|
|
929
|
+
|
|
930
|
+
// Prettier 2.8.3 (First format)
|
|
931
|
+
type Foo<T> = T extends (a) => a is infer R extends string ? R : never;
|
|
932
|
+
|
|
933
|
+
// Prettier 2.8.3 (Second format)
|
|
934
|
+
SyntaxError: '?' expected.
|
|
935
|
+
|
|
936
|
+
// Prettier 2.8.4
|
|
937
|
+
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
### [`v2.8.3`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#283)
|
|
941
|
+
|
|
942
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.2...2.8.3)
|
|
943
|
+
|
|
944
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.8.2...2.8.3)
|
|
945
|
+
|
|
946
|
+
##### Allow self-closing tags on custom elements ([#​14170](https://redirect.github.com/prettier/prettier/pull/14170) by [@​fisker](https://redirect.github.com/fisker))
|
|
947
|
+
|
|
948
|
+
See [Angular v15.1.0 release note](https://redirect.github.com/angular/angular/releases/tag/15.1.0) for details.
|
|
949
|
+
|
|
950
|
+
<!-- prettier-ignore -->
|
|
951
|
+
|
|
952
|
+
```html
|
|
953
|
+
// Input
|
|
954
|
+
<app-test/>
|
|
955
|
+
|
|
956
|
+
// Prettier 2.8.2
|
|
957
|
+
SyntaxError: Only void and foreign elements can be self closed "app-test" (1:1)
|
|
958
|
+
> 1 | <app-test/>
|
|
959
|
+
| ^^^^^^^^^
|
|
960
|
+
2 |
|
|
961
|
+
|
|
962
|
+
// Prettier 2.8.3
|
|
963
|
+
<app-test />
|
|
964
|
+
```
|
|
965
|
+
|
|
966
|
+
### [`v2.8.2`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#282)
|
|
967
|
+
|
|
968
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.1...2.8.2)
|
|
969
|
+
|
|
970
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.8.1...2.8.2)
|
|
971
|
+
|
|
972
|
+
##### Don't lowercase link references ([#​13155](https://redirect.github.com/prettier/prettier/pull/13155) by [@​DerekNonGeneric](https://redirect.github.com/DerekNonGeneric) & [@​fisker](https://redirect.github.com/fisker))
|
|
973
|
+
|
|
974
|
+
<!-- prettier-ignore -->
|
|
975
|
+
|
|
976
|
+
```markdown
|
|
977
|
+
<!-- Input -->
|
|
978
|
+
We now don't strictly follow the release notes format suggested by [Keep a Changelog].
|
|
979
|
+
|
|
980
|
+
[Keep a Changelog]: https://example.com/
|
|
981
|
+
|
|
982
|
+
<!-- Prettier 2.8.1 -->
|
|
983
|
+
We now don't strictly follow the release notes format suggested by [Keep a Changelog].
|
|
984
|
+
|
|
985
|
+
[keep a changelog]: https://example.com/
|
|
986
|
+
<!--
|
|
987
|
+
^^^^^^^^^^^^^^^^^^ lowercased
|
|
988
|
+
-->
|
|
989
|
+
|
|
990
|
+
<!-- Prettier 2.8.2 -->
|
|
991
|
+
<Same as input>
|
|
992
|
+
```
|
|
993
|
+
|
|
994
|
+
##### Preserve self-closing tags ([#​13691](https://redirect.github.com/prettier/prettier/pull/13691) by [@​dcyriller](https://redirect.github.com/dcyriller))
|
|
995
|
+
|
|
996
|
+
<!-- prettier-ignore -->
|
|
997
|
+
|
|
998
|
+
```hbs
|
|
999
|
+
{{! Input }}
|
|
1000
|
+
<div />
|
|
1001
|
+
<div></div>
|
|
1002
|
+
<custom-component />
|
|
1003
|
+
<custom-component></custom-component>
|
|
1004
|
+
<i />
|
|
1005
|
+
<i></i>
|
|
1006
|
+
<Component />
|
|
1007
|
+
<Component></Component>
|
|
1008
|
+
|
|
1009
|
+
{{! Prettier 2.8.1 }}
|
|
1010
|
+
<div></div>
|
|
1011
|
+
<div></div>
|
|
1012
|
+
<custom-component></custom-component>
|
|
1013
|
+
<custom-component></custom-component>
|
|
1014
|
+
<i></i>
|
|
1015
|
+
<i></i>
|
|
1016
|
+
<Component />
|
|
1017
|
+
<Component />
|
|
1018
|
+
|
|
1019
|
+
{{! Prettier 2.8.2 }}
|
|
1020
|
+
<div />
|
|
1021
|
+
<div></div>
|
|
1022
|
+
<custom-component />
|
|
1023
|
+
<custom-component></custom-component>
|
|
1024
|
+
<i />
|
|
1025
|
+
<i></i>
|
|
1026
|
+
<Component />
|
|
1027
|
+
<Component />
|
|
1028
|
+
```
|
|
1029
|
+
|
|
1030
|
+
##### Allow custom "else if"-like blocks with block params ([#​13930](https://redirect.github.com/prettier/prettier/pull/13930) by [@​jamescdavis](https://redirect.github.com/jamescdavis))
|
|
1031
|
+
|
|
1032
|
+
[#​13507](https://redirect.github.com/prettier/prettier/issues/13507) added support for custom block keywords used with `else`, but failed to allow block params. This updates printer-glimmer to allow block params with custom "else if"-like blocks.
|
|
1033
|
+
|
|
1034
|
+
<!-- prettier-ignore -->
|
|
1035
|
+
|
|
1036
|
+
```hbs
|
|
1037
|
+
{{! Input }}
|
|
1038
|
+
{{#when isAtWork as |work|}}
|
|
1039
|
+
Ship that
|
|
1040
|
+
{{work}}!
|
|
1041
|
+
{{else when isReading as |book|}}
|
|
1042
|
+
You can finish
|
|
1043
|
+
{{book}}
|
|
1044
|
+
eventually...
|
|
1045
|
+
{{else}}
|
|
1046
|
+
Go to bed!
|
|
1047
|
+
{{/when}}
|
|
1048
|
+
|
|
1049
|
+
{{! Prettier 2.8.1 }}
|
|
1050
|
+
{{#when isAtWork as |work|}}
|
|
1051
|
+
Ship that
|
|
1052
|
+
{{work}}!
|
|
1053
|
+
{{else when isReading}}
|
|
1054
|
+
You can finish
|
|
1055
|
+
{{book}}
|
|
1056
|
+
eventually...
|
|
1057
|
+
{{else}}
|
|
1058
|
+
Go to bed!
|
|
1059
|
+
{{/when}}
|
|
1060
|
+
|
|
1061
|
+
{{! Prettier 2.8.2 }}
|
|
1062
|
+
{{#when isAtWork as |work|}}
|
|
1063
|
+
Ship that
|
|
1064
|
+
{{work}}!
|
|
1065
|
+
{{else when isReading as |book|}}
|
|
1066
|
+
You can finish
|
|
1067
|
+
{{book}}
|
|
1068
|
+
eventually...
|
|
1069
|
+
{{else}}
|
|
1070
|
+
Go to bed!
|
|
1071
|
+
{{/when}}
|
|
1072
|
+
```
|
|
1073
|
+
|
|
1074
|
+
##### Preserve empty lines between nested SCSS maps ([#​13931](https://redirect.github.com/prettier/prettier/pull/13931) by [@​jneander](https://redirect.github.com/jneander))
|
|
1075
|
+
|
|
1076
|
+
<!-- prettier-ignore -->
|
|
1077
|
+
|
|
1078
|
+
```scss
|
|
1079
|
+
/* Input */
|
|
1080
|
+
$map: (
|
|
1081
|
+
'one': (
|
|
1082
|
+
'key': 'value',
|
|
1083
|
+
),
|
|
1084
|
+
|
|
1085
|
+
'two': (
|
|
1086
|
+
'key': 'value',
|
|
1087
|
+
),
|
|
1088
|
+
)
|
|
1089
|
+
|
|
1090
|
+
/* Prettier 2.8.1 */
|
|
1091
|
+
$map: (
|
|
1092
|
+
'one': (
|
|
1093
|
+
'key': 'value',
|
|
1094
|
+
),
|
|
1095
|
+
'two': (
|
|
1096
|
+
'key': 'value',
|
|
1097
|
+
),
|
|
1098
|
+
)
|
|
1099
|
+
|
|
1100
|
+
/* Prettier 2.8.2 */
|
|
1101
|
+
$map: (
|
|
1102
|
+
'one': (
|
|
1103
|
+
'key': 'value',
|
|
1104
|
+
),
|
|
1105
|
+
|
|
1106
|
+
'two': (
|
|
1107
|
+
'key': 'value',
|
|
1108
|
+
),
|
|
1109
|
+
)
|
|
1110
|
+
```
|
|
1111
|
+
|
|
1112
|
+
##### Fix missing parentheses when an expression statement starts with `let[` ([#​14000](https://redirect.github.com/prettier/prettier/pull/14000), [#​14044](https://redirect.github.com/prettier/prettier/pull/14044) by [@​fisker](https://redirect.github.com/fisker), [@​thorn0](https://redirect.github.com/thorn0))
|
|
1113
|
+
|
|
1114
|
+
<!-- prettier-ignore -->
|
|
1115
|
+
|
|
1116
|
+
```jsx
|
|
1117
|
+
// Input
|
|
1118
|
+
(let[0] = 2);
|
|
1119
|
+
|
|
1120
|
+
// Prettier 2.8.1
|
|
1121
|
+
let[0] = 2;
|
|
1122
|
+
|
|
1123
|
+
// Prettier 2.8.1 (second format)
|
|
1124
|
+
SyntaxError: Unexpected token (1:5)
|
|
1125
|
+
> 1 | let[0] = 2;
|
|
1126
|
+
| ^
|
|
1127
|
+
2 |
|
|
1128
|
+
|
|
1129
|
+
// Prettier 2.8.2
|
|
1130
|
+
(let)[0] = 2;
|
|
1131
|
+
```
|
|
1132
|
+
|
|
1133
|
+
##### Fix semicolon duplicated at the end of LESS file ([#​14007](https://redirect.github.com/prettier/prettier/pull/14007) by [@​mvorisek](https://redirect.github.com/mvorisek))
|
|
1134
|
+
|
|
1135
|
+
<!-- prettier-ignore -->
|
|
1136
|
+
|
|
1137
|
+
```less
|
|
1138
|
+
// Input
|
|
1139
|
+
@​variable: {
|
|
1140
|
+
field: something;
|
|
1141
|
+
};
|
|
1142
|
+
|
|
1143
|
+
// Prettier 2.8.1
|
|
1144
|
+
@​variable: {
|
|
1145
|
+
field: something;
|
|
1146
|
+
}; ;
|
|
1147
|
+
|
|
1148
|
+
// Prettier 2.8.2
|
|
1149
|
+
@​variable: {
|
|
1150
|
+
field: something;
|
|
1151
|
+
};
|
|
1152
|
+
```
|
|
1153
|
+
|
|
1154
|
+
##### Fix no space after unary minus when followed by opening parenthesis in LESS ([#​14008](https://redirect.github.com/prettier/prettier/pull/14008) by [@​mvorisek](https://redirect.github.com/mvorisek))
|
|
1155
|
+
|
|
1156
|
+
<!-- prettier-ignore -->
|
|
1157
|
+
|
|
1158
|
+
```less
|
|
1159
|
+
// Input
|
|
1160
|
+
.unary_minus_single {
|
|
1161
|
+
margin: -(@​a);
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
.unary_minus_multi {
|
|
1165
|
+
margin: 0 -(@​a);
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
.binary_minus {
|
|
1169
|
+
margin: 0 - (@​a);
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
// Prettier 2.8.1
|
|
1173
|
+
.unary_minus_single {
|
|
1174
|
+
margin: - (@​a);
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
.unary_minus_multi {
|
|
1178
|
+
margin: 0 - (@​a);
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
.binary_minus {
|
|
1182
|
+
margin: 0 - (@​a);
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
// Prettier 2.8.2
|
|
1186
|
+
.unary_minus_single {
|
|
1187
|
+
margin: -(@​a);
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
.unary_minus_multi {
|
|
1191
|
+
margin: 0 -(@​a);
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
.binary_minus {
|
|
1195
|
+
margin: 0 - (@​a);
|
|
1196
|
+
}
|
|
1197
|
+
```
|
|
1198
|
+
|
|
1199
|
+
##### Do not change case of property name if inside a variable declaration in LESS ([#​14034](https://redirect.github.com/prettier/prettier/pull/14034) by [@​mvorisek](https://redirect.github.com/mvorisek))
|
|
1200
|
+
|
|
1201
|
+
<!-- prettier-ignore -->
|
|
1202
|
+
|
|
1203
|
+
```less
|
|
1204
|
+
// Input
|
|
1205
|
+
@​var: {
|
|
1206
|
+
preserveCase: 0;
|
|
1207
|
+
};
|
|
1208
|
+
|
|
1209
|
+
// Prettier 2.8.1
|
|
1210
|
+
@​var: {
|
|
1211
|
+
preservecase: 0;
|
|
1212
|
+
};
|
|
1213
|
+
|
|
1214
|
+
// Prettier 2.8.2
|
|
1215
|
+
@​var: {
|
|
1216
|
+
preserveCase: 0;
|
|
1217
|
+
};
|
|
1218
|
+
```
|
|
1219
|
+
|
|
1220
|
+
##### Fix formatting for auto-accessors with comments ([#​14038](https://redirect.github.com/prettier/prettier/pull/14038) by [@​fisker](https://redirect.github.com/fisker))
|
|
1221
|
+
|
|
1222
|
+
<!-- prettier-ignore -->
|
|
1223
|
+
|
|
1224
|
+
```jsx
|
|
1225
|
+
// Input
|
|
1226
|
+
class A {
|
|
1227
|
+
@​dec()
|
|
1228
|
+
// comment
|
|
1229
|
+
accessor b;
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
// Prettier 2.8.1
|
|
1233
|
+
class A {
|
|
1234
|
+
@​dec()
|
|
1235
|
+
accessor // comment
|
|
1236
|
+
b;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
// Prettier 2.8.1 (second format)
|
|
1240
|
+
class A {
|
|
1241
|
+
@​dec()
|
|
1242
|
+
accessor; // comment
|
|
1243
|
+
b;
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
// Prettier 2.8.2
|
|
1247
|
+
class A {
|
|
1248
|
+
@​dec()
|
|
1249
|
+
// comment
|
|
1250
|
+
accessor b;
|
|
1251
|
+
}
|
|
1252
|
+
```
|
|
1253
|
+
|
|
1254
|
+
##### Add parentheses for TSTypeQuery to improve readability ([#​14042](https://redirect.github.com/prettier/prettier/pull/14042) by [@​onishi-kohei](https://redirect.github.com/onishi-kohei))
|
|
1255
|
+
|
|
1256
|
+
<!-- prettier-ignore -->
|
|
1257
|
+
|
|
1258
|
+
```tsx
|
|
1259
|
+
// Input
|
|
1260
|
+
a as (typeof node.children)[number]
|
|
1261
|
+
a as (typeof node.children)[]
|
|
1262
|
+
a as ((typeof node.children)[number])[]
|
|
1263
|
+
|
|
1264
|
+
// Prettier 2.8.1
|
|
1265
|
+
a as typeof node.children[number];
|
|
1266
|
+
a as typeof node.children[];
|
|
1267
|
+
a as typeof node.children[number][];
|
|
1268
|
+
|
|
1269
|
+
// Prettier 2.8.2
|
|
1270
|
+
a as (typeof node.children)[number];
|
|
1271
|
+
a as (typeof node.children)[];
|
|
1272
|
+
a as (typeof node.children)[number][];
|
|
1273
|
+
```
|
|
1274
|
+
|
|
1275
|
+
##### Fix displacing of comments in default switch case ([#​14047](https://redirect.github.com/prettier/prettier/pull/14047) by [@​thorn0](https://redirect.github.com/thorn0))
|
|
1276
|
+
|
|
1277
|
+
It was a regression in Prettier 2.6.0.
|
|
1278
|
+
|
|
1279
|
+
<!-- prettier-ignore -->
|
|
1280
|
+
|
|
1281
|
+
```jsx
|
|
1282
|
+
// Input
|
|
1283
|
+
switch (state) {
|
|
1284
|
+
default:
|
|
1285
|
+
result = state; // no change
|
|
1286
|
+
break;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
// Prettier 2.8.1
|
|
1290
|
+
switch (state) {
|
|
1291
|
+
default: // no change
|
|
1292
|
+
result = state;
|
|
1293
|
+
break;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
// Prettier 2.8.2
|
|
1297
|
+
switch (state) {
|
|
1298
|
+
default:
|
|
1299
|
+
result = state; // no change
|
|
1300
|
+
break;
|
|
1301
|
+
}
|
|
1302
|
+
```
|
|
1303
|
+
|
|
1304
|
+
##### Support type annotations on auto accessors via `babel-ts` ([#​14049](https://redirect.github.com/prettier/prettier/pull/14049) by [@​sosukesuzuki](https://redirect.github.com/sosukesuzuki))
|
|
1305
|
+
|
|
1306
|
+
[The bug that `@babel/parser` cannot parse auto accessors with type annotations](https://redirect.github.com/babel/babel/issues/15205) has been fixed. So we now support it via `babel-ts` parser.
|
|
1307
|
+
|
|
1308
|
+
<!-- prettier-ignore -->
|
|
1309
|
+
|
|
1310
|
+
```tsx
|
|
1311
|
+
class Foo {
|
|
1312
|
+
accessor prop: number;
|
|
1313
|
+
}
|
|
1314
|
+
```
|
|
1315
|
+
|
|
1316
|
+
##### Fix formatting of empty type parameters ([#​14073](https://redirect.github.com/prettier/prettier/pull/14073) by [@​fisker](https://redirect.github.com/fisker))
|
|
1317
|
+
|
|
1318
|
+
<!-- prettier-ignore -->
|
|
1319
|
+
|
|
1320
|
+
```jsx
|
|
1321
|
+
// Input
|
|
1322
|
+
const foo: bar</* comment */> = () => baz;
|
|
1323
|
+
|
|
1324
|
+
// Prettier 2.8.1
|
|
1325
|
+
Error: Comment "comment" was not printed. Please report this error!
|
|
1326
|
+
|
|
1327
|
+
// Prettier 2.8.2
|
|
1328
|
+
const foo: bar</* comment */> = () => baz;
|
|
1329
|
+
```
|
|
1330
|
+
|
|
1331
|
+
##### Add parentheses to head of `ExpressionStatement` instead of the whole statement ([#​14077](https://redirect.github.com/prettier/prettier/pull/14077) by [@​fisker](https://redirect.github.com/fisker))
|
|
1332
|
+
|
|
1333
|
+
<!-- prettier-ignore -->
|
|
1334
|
+
|
|
1335
|
+
```jsx
|
|
1336
|
+
// Input
|
|
1337
|
+
({}).toString.call(foo) === "[object Array]"
|
|
1338
|
+
? foo.forEach(iterateArray)
|
|
1339
|
+
: iterateObject(foo);
|
|
1340
|
+
|
|
1341
|
+
// Prettier 2.8.1
|
|
1342
|
+
({}.toString.call(foo) === "[object Array]"
|
|
1343
|
+
? foo.forEach(iterateArray)
|
|
1344
|
+
: iterateObject(foo));
|
|
1345
|
+
|
|
1346
|
+
// Prettier 2.8.2
|
|
1347
|
+
({}).toString.call(foo.forEach) === "[object Array]"
|
|
1348
|
+
? foo.forEach(iterateArray)
|
|
1349
|
+
: iterateObject(foo);
|
|
1350
|
+
```
|
|
1351
|
+
|
|
1352
|
+
##### Fix comments after directive ([#​14081](https://redirect.github.com/prettier/prettier/pull/14081) by [@​fisker](https://redirect.github.com/fisker))
|
|
1353
|
+
|
|
1354
|
+
<!-- prettier-ignore -->
|
|
1355
|
+
|
|
1356
|
+
```jsx
|
|
1357
|
+
// Input
|
|
1358
|
+
"use strict" /* comment */;
|
|
1359
|
+
|
|
1360
|
+
// Prettier 2.8.1 (with other js parsers except `babel`)
|
|
1361
|
+
Error: Comment "comment" was not printed. Please report this error!
|
|
1362
|
+
|
|
1363
|
+
// Prettier 2.8.2
|
|
1364
|
+
<Same as input>
|
|
1365
|
+
```
|
|
1366
|
+
|
|
1367
|
+
##### Fix formatting for comments inside JSX attribute ([#​14082](https://redirect.github.com/prettier/prettier/pull/14082) by [@​fisker](https://redirect.github.com/fisker))
|
|
1368
|
+
|
|
1369
|
+
<!-- prettier-ignore -->
|
|
1370
|
+
|
|
1371
|
+
```jsx
|
|
1372
|
+
// Input
|
|
1373
|
+
function MyFunctionComponent() {
|
|
1374
|
+
<button label=/*old*/"new">button</button>
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
// Prettier 2.8.1
|
|
1378
|
+
Error: Comment "old" was not printed. Please report this error!
|
|
1379
|
+
|
|
1380
|
+
// Prettier 2.8.2
|
|
1381
|
+
function MyFunctionComponent() {
|
|
1382
|
+
<button label=/*old*/ "new">button</button>;
|
|
1383
|
+
}
|
|
1384
|
+
```
|
|
1385
|
+
|
|
1386
|
+
##### Quote numeric keys for json-stringify parser ([#​14083](https://redirect.github.com/prettier/prettier/pull/14083) by [@​fisker](https://redirect.github.com/fisker))
|
|
1387
|
+
|
|
1388
|
+
<!-- prettier-ignore -->
|
|
1389
|
+
|
|
1390
|
+
```jsx
|
|
1391
|
+
// Input
|
|
1392
|
+
{0: 'value'}
|
|
1393
|
+
|
|
1394
|
+
// Prettier 2.8.1
|
|
1395
|
+
{
|
|
1396
|
+
0: "value"
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
// Prettier 2.8.2
|
|
1400
|
+
{
|
|
1401
|
+
"0": "value"
|
|
1402
|
+
}
|
|
1403
|
+
```
|
|
1404
|
+
|
|
1405
|
+
##### Fix removing commas from function arguments in maps ([#​14089](https://redirect.github.com/prettier/prettier/pull/14089) by [@​sosukesuzuki](https://redirect.github.com/sosukesuzuki))
|
|
1406
|
+
|
|
1407
|
+
<!-- prettier-ignore -->
|
|
1408
|
+
|
|
1409
|
+
```scss
|
|
1410
|
+
/* Input */
|
|
1411
|
+
$foo: map-fn(
|
|
1412
|
+
(
|
|
1413
|
+
"#{prop}": inner-fn($first, $second),
|
|
1414
|
+
)
|
|
1415
|
+
);
|
|
1416
|
+
|
|
1417
|
+
/* Prettier 2.8.1 */
|
|
1418
|
+
$foo: map-fn(("#{prop}": inner-fn($first $second)));
|
|
1419
|
+
|
|
1420
|
+
/* Prettier 2.8.2 */
|
|
1421
|
+
$foo: map-fn(
|
|
1422
|
+
(
|
|
1423
|
+
"#{prop}": inner-fn($first, $second),
|
|
1424
|
+
)
|
|
1425
|
+
);
|
|
1426
|
+
|
|
1427
|
+
```
|
|
1428
|
+
|
|
1429
|
+
##### Do not insert space in LESS property access ([#​14103](https://redirect.github.com/prettier/prettier/pull/14103) by [@​fisker](https://redirect.github.com/fisker))
|
|
1430
|
+
|
|
1431
|
+
<!-- prettier-ignore -->
|
|
1432
|
+
|
|
1433
|
+
```less
|
|
1434
|
+
// Input
|
|
1435
|
+
a {
|
|
1436
|
+
color: @​colors[@​white];
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
// Prettier 2.8.1
|
|
1440
|
+
a {
|
|
1441
|
+
color: @​colors[ @​white];
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
// Prettier 2.8.2
|
|
1445
|
+
<Same as input>
|
|
1446
|
+
```
|
|
1447
|
+
|
|
1448
|
+
### [`v2.8.1`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#281)
|
|
1449
|
+
|
|
1450
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.8.0...2.8.1)
|
|
1451
|
+
|
|
1452
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.8.0...2.8.1)
|
|
1453
|
+
|
|
1454
|
+
##### Fix SCSS map in arguments ([#​9184](https://redirect.github.com/prettier/prettier/pull/9184) by [@​agamkrbit](https://redirect.github.com/agamkrbit))
|
|
1455
|
+
|
|
1456
|
+
<!-- prettier-ignore -->
|
|
1457
|
+
|
|
1458
|
+
```scss
|
|
1459
|
+
// Input
|
|
1460
|
+
$display-breakpoints: map-deep-merge(
|
|
1461
|
+
(
|
|
1462
|
+
"print-only": "only print",
|
|
1463
|
+
"screen-only": "only screen",
|
|
1464
|
+
"xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
|
|
1465
|
+
),
|
|
1466
|
+
$display-breakpoints
|
|
1467
|
+
);
|
|
1468
|
+
|
|
1469
|
+
// Prettier 2.8.0
|
|
1470
|
+
$display-breakpoints: map-deep-merge(
|
|
1471
|
+
(
|
|
1472
|
+
"print-only": "only print",
|
|
1473
|
+
"screen-only": "only screen",
|
|
1474
|
+
"xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, " sm
|
|
1475
|
+
")-1})",
|
|
1476
|
+
),
|
|
1477
|
+
$display-breakpoints
|
|
1478
|
+
);
|
|
1479
|
+
|
|
1480
|
+
// Prettier 2.8.1
|
|
1481
|
+
$display-breakpoints: map-deep-merge(
|
|
1482
|
+
(
|
|
1483
|
+
"print-only": "only print",
|
|
1484
|
+
"screen-only": "only screen",
|
|
1485
|
+
"xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
|
|
1486
|
+
),
|
|
1487
|
+
$display-breakpoints
|
|
1488
|
+
);
|
|
1489
|
+
```
|
|
1490
|
+
|
|
1491
|
+
##### Support auto accessors syntax ([#​13919](https://redirect.github.com/prettier/prettier/pull/13919) by [@​sosukesuzuki](https://redirect.github.com/sosukesuzuki))
|
|
1492
|
+
|
|
1493
|
+
Support for [Auto Accessors Syntax](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#auto-accessors-in-classes) landed in TypeScript 4.9.
|
|
1494
|
+
|
|
1495
|
+
(Doesn't work well with `babel-ts` parser)
|
|
1496
|
+
|
|
1497
|
+
<!-- prettier-ignore -->
|
|
1498
|
+
|
|
1499
|
+
```tsx
|
|
1500
|
+
class Foo {
|
|
1501
|
+
accessor foo: number = 3;
|
|
1502
|
+
}
|
|
1503
|
+
```
|
|
1504
|
+
|
|
1505
|
+
### [`v2.8.0`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#280)
|
|
1506
|
+
|
|
1507
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.7.1...2.8.0)
|
|
1508
|
+
|
|
1509
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.7.1...2.8.0)
|
|
1510
|
+
|
|
1511
|
+
🔗 [Release Notes](https://prettier.io/blog/2022/11/23/2.8.0.html)
|
|
1512
|
+
|
|
1513
|
+
### [`v2.7.1`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#271)
|
|
1514
|
+
|
|
1515
|
+
[Compare Source](https://redirect.github.com/prettier/prettier/compare/2.7.0...2.7.1)
|
|
1516
|
+
|
|
1517
|
+
[diff](https://redirect.github.com/prettier/prettier/compare/2.7.0...2.7.1)
|
|
1518
|
+
|
|
1519
|
+
##### Keep useful empty lines in description ([#​13013](https://redirect.github.com/prettier/prettier/pull/13013) by [@​chimurai](https://redirect.github.com/chimurai))
|
|
1520
|
+
|
|
1521
|
+
<!-- prettier-ignore -->
|
|
1522
|
+
|
|
1523
|
+
```graphql
|
|
1524
|
+
|
|
1525
|
+
#### chore(deps): update grafana monorepo ([#1475](https://github.com/grafana/scenes/pull/1475))
|
|
1526
|
+
|
|
1527
|
+
<details>
|
|
1528
|
+
<summary>grafana/grafana (@​grafana/data)</summary>
|
|
1529
|
+
|
|
1530
|
+
#### chore(deps): update dependency rxjs to v7.8.2 ([#1474](https://github.com/grafana/scenes/pull/1474))
|
|
1531
|
+
|
|
1532
|
+
<details>
|
|
1533
|
+
<summary>reactivex/rxjs (rxjs)</summary>
|
|
1534
|
+
|
|
1535
|
+
#### chore(deps): update dependency i18next-parser to v9.4.0 ([#1497](https://github.com/grafana/scenes/pull/1497))
|
|
1536
|
+
|
|
1537
|
+
<details>
|
|
1538
|
+
<summary>i18next/i18next-parser (i18next-parser)</summary>
|
|
1539
|
+
|
|
1540
|
+
---
|
|
1541
|
+
|
|
1542
|
+
#### 🚀 Enhancement
|
|
1543
|
+
|
|
1544
|
+
- Variables: Fixes multi value select mobile issue [#1526](https://github.com/grafana/scenes/pull/1526) ([@torkelo](https://github.com/torkelo))
|
|
1545
|
+
|
|
1546
|
+
#### 🐛 Bug Fix
|
|
1547
|
+
|
|
1548
|
+
- Filters: Key fetching waits for other vars to load first [#1460](https://github.com/grafana/scenes/pull/1460) ([@mdvictor](https://github.com/mdvictor))
|
|
1549
|
+
- chore(deps): update dependency rimraf to v6 [#1534](https://github.com/grafana/scenes/pull/1534) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1550
|
+
- Bump version to: v8.4.0 \[skip ci\] ([@grafanabot](https://github.com/grafanabot))
|
|
1551
|
+
- Update CHANGELOG.md \[skip ci\] ([@grafanabot](https://github.com/grafanabot))
|
|
1552
|
+
- test: move transformation variable tests from @grafana/data [#1542](https://github.com/grafana/scenes/pull/1542) ([@hugohaggmark](https://github.com/hugohaggmark))
|
|
1553
|
+
- I18n: Download translations from Crowdin [#1320](https://github.com/grafana/scenes/pull/1320) ([@github-actions[bot]](https://github.com/github-actions[bot]) [@grafana-pr-automation[bot]](https://github.com/grafana-pr-automation[bot]))
|
|
1554
|
+
- chore: run prettier on main [#1539](https://github.com/grafana/scenes/pull/1539) ([@gtk-grafana](https://github.com/gtk-grafana))
|
|
1555
|
+
- Bump version to: v8.3.0 \[skip ci\] ([@grafanabot](https://github.com/grafanabot))
|
|
1556
|
+
- chore(deps): update dependency react-router-dom to v6.30.4 [#1521](https://github.com/grafana/scenes/pull/1521) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1557
|
+
- fix(deps): update emotion monorepo [#1511](https://github.com/grafana/scenes/pull/1511) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]) [@mdvictor](https://github.com/mdvictor))
|
|
1558
|
+
- fix(deps): update dependency @floating-ui/react to ^0.27.0 [#1509](https://github.com/grafana/scenes/pull/1509) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1559
|
+
- fix(deps): update react monorepo [#1512](https://github.com/grafana/scenes/pull/1512) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1560
|
+
- chore(deps): update jest monorepo [#1506](https://github.com/grafana/scenes/pull/1506) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1561
|
+
- chore(deps): update dependency @tanstack/react-virtual to v3.13.26 [#1491](https://github.com/grafana/scenes/pull/1491) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]) [@mdvictor](https://github.com/mdvictor))
|
|
1562
|
+
- chore(deps): update dependency prettier to v2.8.8 [#1499](https://github.com/grafana/scenes/pull/1499) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]) [@mdvictor](https://github.com/mdvictor))
|
|
1563
|
+
- chore(deps): update grafana monorepo [#1475](https://github.com/grafana/scenes/pull/1475) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1564
|
+
- chore(deps): update dependency rxjs to v7.8.2 [#1474](https://github.com/grafana/scenes/pull/1474) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]) [@mdvictor](https://github.com/mdvictor))
|
|
1565
|
+
- chore: skip unneeded translation in object [#1503](https://github.com/grafana/scenes/pull/1503) ([@mdvictor](https://github.com/mdvictor))
|
|
1566
|
+
- chore(deps): update dependency @types/node to v20.19.41 [#1493](https://github.com/grafana/scenes/pull/1493) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1567
|
+
- chore(deps): update dependency i18next-parser to v9.4.0 [#1497](https://github.com/grafana/scenes/pull/1497) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1568
|
+
- chore(deps): update dependency @types/lodash to v4.17.24 [#1492](https://github.com/grafana/scenes/pull/1492) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1569
|
+
- chore(deps): update dependency @types/react-grid-layout to v1.3.6 [#1479](https://github.com/grafana/scenes/pull/1479) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1570
|
+
- chore(deps): update dependency @types/react-virtualized-auto-sizer to v1.0.8 [#1472](https://github.com/grafana/scenes/pull/1472) ([@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot]))
|
|
1571
|
+
- chore: fix typecheck fail [#1476](https://github.com/grafana/scenes/pull/1476) ([@mdvictor](https://github.com/mdvictor))
|
|
1572
|
+
- security: bump uuid ^9.0.0 → ^11.0.0 (CVE-2026-41907) [#1468](https://github.com/grafana/scenes/pull/1468) ([@moxious](https://github.com/moxious))
|
|
1573
|
+
- Filters: Better origin filter validation [#1461](https://github.com/grafana/scenes/pull/1461) ([@mdvictor](https://github.com/mdvictor))
|
|
1574
|
+
- Filters: Fix broken testId attr [#1462](https://github.com/grafana/scenes/pull/1462) ([@mdvictor](https://github.com/mdvictor))
|
|
1575
|
+
|
|
1576
|
+
#### Authors: 9
|
|
1577
|
+
|
|
1578
|
+
- [@github-actions[bot]](https://github.com/github-actions[bot])
|
|
1579
|
+
- [@grafana-pr-automation[bot]](https://github.com/grafana-pr-automation[bot])
|
|
1580
|
+
- [@renovate-sh-app[bot]](https://github.com/renovate-sh-app[bot])
|
|
1581
|
+
- David Allen ([@moxious](https://github.com/moxious))
|
|
1582
|
+
- Galen Kistler ([@gtk-grafana](https://github.com/gtk-grafana))
|
|
1583
|
+
- Grot (@grafanabot) ([@grafanabot](https://github.com/grafanabot))
|
|
1584
|
+
- Hugo Häggmark ([@hugohaggmark](https://github.com/hugohaggmark))
|
|
1585
|
+
- Torkel Ödegaard ([@torkelo](https://github.com/torkelo))
|
|
1586
|
+
- Victor Marin ([@mdvictor](https://github.com/mdvictor))
|
|
1587
|
+
|
|
1588
|
+
---
|
|
1589
|
+
|
|
1
1590
|
# v8.4.0 (Fri Jun 12 2026)
|
|
2
1591
|
|
|
3
1592
|
### Release Notes
|