@aceshooting/lyra-ui 14.3.2 → 15.0.1

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.
Files changed (218) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/custom-elements.json +1 -1
  3. package/design-tokens.json +1 -1
  4. package/dist/cli/migration-contract.json +1 -1
  5. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +4 -0
  6. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +3 -3
  7. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +3 -2
  8. package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +1 -1
  9. package/dist/components/agent-tools/commit-card/commit-card.styles.js +1 -1
  10. package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +1 -1
  11. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +8 -3
  12. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +3 -1
  13. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +10 -1
  14. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +1 -1
  15. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
  16. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts +19 -1
  17. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +4 -4
  18. package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +1 -1
  19. package/dist/components/agent-tools/task-list/task-list.class.d.ts +5 -0
  20. package/dist/components/agent-tools/task-list/task-list.class.js +3 -3
  21. package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
  22. package/dist/components/agent-tools/terminal/terminal.styles.js +1 -1
  23. package/dist/components/agent-tools/test-results/test-results.class.js +1 -1
  24. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +10 -7
  25. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +15 -14
  26. package/dist/components/agent-tools/tool-param-form/tool-param-form.d.ts +1 -1
  27. package/dist/components/agent-tools/tool-param-form/tool-param-form.js +1 -1
  28. package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +1 -1
  29. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts +5 -2
  30. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +1 -1
  31. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +3 -1
  32. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +9 -1
  33. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +1 -1
  34. package/dist/components/charts/chart/box-plot.class.d.ts +64 -4
  35. package/dist/components/charts/chart/box-plot.class.js +5 -5
  36. package/dist/components/charts/chart/chart-colors.d.ts +10 -0
  37. package/dist/components/charts/chart/chart-colors.js +1 -1
  38. package/dist/components/charts/chart/chart.class.d.ts +35 -10
  39. package/dist/components/charts/chart/chart.class.js +4 -4
  40. package/dist/components/charts/chart/lite-chart.class.d.ts +10 -2
  41. package/dist/components/charts/chart/lite-chart.styles.js +1 -1
  42. package/dist/components/conversation/markdown/markdown.class.d.ts +9 -1
  43. package/dist/components/conversation/markdown/markdown.class.js +1 -1
  44. package/dist/components/conversation/message-parts/message-parts.class.d.ts +18 -1
  45. package/dist/components/conversation/message-parts/message-parts.class.js +4 -4
  46. package/dist/components/conversation/model-select/model-select.class.d.ts +6 -2
  47. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  48. package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
  49. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +5 -1
  50. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  51. package/dist/components/data/calendar/calendar.class.js +2 -2
  52. package/dist/components/data/context-meter/context-meter.styles.js +1 -1
  53. package/dist/components/data/data-grid/data-grid-types.d.ts +8 -2
  54. package/dist/components/data/data-grid/data-grid.class.d.ts +16 -3
  55. package/dist/components/data/data-grid/data-grid.class.js +3 -2
  56. package/dist/components/data/env-list/env-list.styles.js +1 -1
  57. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +22 -2
  58. package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -1
  59. package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +12 -4
  60. package/dist/components/data/flow-minimap/flow-minimap.class.js +2 -2
  61. package/dist/components/data/flow-minimap/flow-minimap.styles.js +1 -1
  62. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +5 -1
  63. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  64. package/dist/components/data/heatmap/heatmap.class.d.ts +12 -1
  65. package/dist/components/data/heatmap/heatmap.class.js +3 -3
  66. package/dist/components/data/heatmap/heatmap.styles.js +1 -1
  67. package/dist/components/forms/button/button.styles.js +1 -1
  68. package/dist/components/forms/code-editor/code-editor.class.js +1 -1
  69. package/dist/components/forms/combobox/combobox.class.js +1 -1
  70. package/dist/components/forms/combobox/combobox.styles.js +1 -1
  71. package/dist/components/forms/date-picker/date-input.class.js +1 -1
  72. package/dist/components/forms/date-picker/date-picker.class.d.ts +12 -1
  73. package/dist/components/forms/date-picker/date-picker.class.js +1 -1
  74. package/dist/components/forms/icon-button/icon-button.class.d.ts +27 -5
  75. package/dist/components/forms/icon-button/icon-button.class.js +7 -3
  76. package/dist/components/forms/input/input.styles.js +1 -1
  77. package/dist/components/forms/input/time-input.class.d.ts +13 -2
  78. package/dist/components/forms/input/time-input.class.js +1 -1
  79. package/dist/components/forms/otp-input/otp-input.class.d.ts +8 -1
  80. package/dist/components/forms/otp-input/otp-input.class.js +1 -1
  81. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +1 -1
  82. package/dist/components/forms/rubric-form/rubric-form.class.js +1 -1
  83. package/dist/components/forms/select/select.class.d.ts +1 -1
  84. package/dist/components/forms/select/select.class.js +1 -1
  85. package/dist/components/forms/slider/slider.class.d.ts +4 -1
  86. package/dist/components/forms/slider/slider.class.js +1 -1
  87. package/dist/components/forms/textarea/textarea.class.d.ts +9 -4
  88. package/dist/components/forms/textarea/textarea.class.js +1 -1
  89. package/dist/components/forms/time-range/time-range.class.js +1 -1
  90. package/dist/components/layout/app-rail/app-rail.class.d.ts +7 -2
  91. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  92. package/dist/components/layout/card/card.class.js +2 -2
  93. package/dist/components/layout/card/card.styles.js +1 -1
  94. package/dist/components/layout/control-group/control-group.class.js +1 -1
  95. package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +1 -1
  96. package/dist/components/layout/details/details.styles.js +1 -1
  97. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +13 -3
  98. package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
  99. package/dist/components/layout/menu/dropdown-item.class.d.ts +2 -0
  100. package/dist/components/layout/menu/menu-item.class.d.ts +28 -1
  101. package/dist/components/layout/menu/menu-item.class.js +45 -35
  102. package/dist/components/layout/menu/menu-item.styles.js +1 -1
  103. package/dist/components/layout/menu/menu.class.js +1 -1
  104. package/dist/components/layout/multi-split/multi-split.class.d.ts +12 -2
  105. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  106. package/dist/components/layout/page/page.class.js +2 -1
  107. package/dist/components/layout/page/page.styles.js +1 -1
  108. package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +6 -4
  109. package/dist/components/layout/responsive-panel/responsive-panel.class.js +2 -2
  110. package/dist/components/layout/responsive-panel/responsive-panel.styles.js +1 -1
  111. package/dist/components/layout/stepper/stepper.class.js +2 -2
  112. package/dist/components/layout/virtual-list/virtual-list.class.js +2 -2
  113. package/dist/components/layout/widget/widget.class.d.ts +12 -2
  114. package/dist/components/layout/widget/widget.class.js +2 -2
  115. package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts +1 -1
  116. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +3 -3
  117. package/dist/components/media/file-icon/file-icon.class.d.ts +3 -1
  118. package/dist/components/media/file-icon/file-icon.class.js +1 -1
  119. package/dist/components/media/file-input/file-input.class.d.ts +1 -1
  120. package/dist/components/media/file-input/file-input.class.js +1 -1
  121. package/dist/components/media/flag/flag.styles.js +1 -1
  122. package/dist/components/media/image-comparer/image-comparer.class.d.ts +5 -5
  123. package/dist/components/media/image-comparer/image-comparer.class.js +1 -1
  124. package/dist/components/media/image-comparer/image-comparer.styles.js +1 -1
  125. package/dist/components/media/lightbox/lightbox.styles.js +1 -1
  126. package/dist/components/media/map/map.styles.js +1 -1
  127. package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
  128. package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
  129. package/dist/components/media/video-playlist/video-playlist.styles.js +1 -1
  130. package/dist/components/overlays/alert/alert.class.d.ts +6 -0
  131. package/dist/components/overlays/alert/alert.styles.js +1 -1
  132. package/dist/components/overlays/empty/empty.class.js +2 -2
  133. package/dist/components/overlays/kbd/kbd.styles.js +1 -1
  134. package/dist/components/overlays/progress/progress-ring.class.d.ts +4 -1
  135. package/dist/components/overlays/progress/progress.styles.js +1 -1
  136. package/dist/components/overlays/toast/toast.styles.js +1 -1
  137. package/dist/components/retrieval/graph/graph-canvas.js +1 -1
  138. package/dist/components/retrieval/graph/graph.class.d.ts +10 -3
  139. package/dist/components/retrieval/graph/graph.class.js +1 -1
  140. package/dist/components/retrieval/graph/graph.styles.js +1 -1
  141. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +1 -1
  142. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +6 -6
  143. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +2 -2
  144. package/dist/components/retrieval/mind-map/mind-map.styles.js +1 -1
  145. package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +3 -3
  146. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +3 -3
  147. package/dist/components/retrieval/node-palette/node-palette.class.d.ts +7 -1
  148. package/dist/components/retrieval/node-palette/node-palette.class.js +23 -13
  149. package/dist/components/retrieval/node-palette/node-palette.styles.js +1 -1
  150. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +4 -1
  151. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +1 -1
  152. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +1 -1
  153. package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +4 -3
  154. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
  155. package/dist/components/retrieval/source-list/source-list.class.d.ts +7 -1
  156. package/dist/components/retrieval/source-list/source-list.class.js +1 -1
  157. package/dist/components/utility/export-button/export-button.class.d.ts +14 -2
  158. package/dist/components/utility/export-button/export-button.class.js +3 -3
  159. package/dist/components/utility/export-button/export-button.styles.js +1 -1
  160. package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
  161. package/dist/components/utility/known-date/known-date.class.js +1 -1
  162. package/dist/components/utility/mention-popover/mention-popover.class.d.ts +4 -2
  163. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  164. package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +9 -1
  165. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +4 -4
  166. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +1 -1
  167. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +4 -4
  168. package/dist/components/viewers/document-compare/document-compare.class.d.ts +5 -0
  169. package/dist/components/viewers/document-compare/document-compare.class.js +9 -4
  170. package/dist/components/viewers/document-compare/document-compare.styles.js +1 -1
  171. package/dist/components/viewers/document-preview/document-preview.class.d.ts +9 -1
  172. package/dist/components/viewers/document-preview/document-preview.class.js +2 -1
  173. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +5 -0
  174. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
  175. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +5 -0
  176. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +1 -1
  177. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +3 -3
  178. package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +1 -1
  179. package/dist/custom-elements-jsx.d.ts +1 -1
  180. package/dist/events.d.ts +5 -4
  181. package/dist/internal/package-metadata.d.ts +1 -1
  182. package/dist/internal/package-metadata.js +1 -1
  183. package/dist/lyra.d.ts +1 -1
  184. package/dist/svelte.d.ts +1 -1
  185. package/dist/vue.d.ts +1 -1
  186. package/llms/components/lr-alert.md +11 -3
  187. package/llms/components/lr-box-plot.md +21 -4
  188. package/llms/components/lr-chart.md +13 -4
  189. package/llms/components/lr-code-block.md +5 -4
  190. package/llms/components/lr-data-grid.md +24 -10
  191. package/llms/components/lr-document-compare.md +5 -0
  192. package/llms/components/lr-dropdown-item.md +24 -0
  193. package/llms/components/lr-eval-dataset.md +5 -4
  194. package/llms/components/lr-export-button.md +10 -5
  195. package/llms/components/lr-filter-bar.md +4 -1
  196. package/llms/components/lr-flow-minimap.md +7 -1
  197. package/llms/components/lr-icon-button.md +6 -1
  198. package/llms/components/lr-lite-chart.md +2 -1
  199. package/llms/components/lr-markdown.md +2 -2
  200. package/llms/components/lr-menu-item.md +24 -0
  201. package/llms/components/lr-menu.md +24 -0
  202. package/llms/components/lr-message-parts.md +7 -0
  203. package/llms/components/lr-model-settings-panel.md +4 -1
  204. package/llms/components/lr-node-palette.md +5 -4
  205. package/llms/components/lr-pdf-viewer.md +7 -0
  206. package/llms/components/lr-responsive-panel.md +2 -2
  207. package/llms/components/lr-subagent-panel.md +17 -2
  208. package/llms/components/lr-thinking-panel.md +4 -0
  209. package/llms/components/lr-timeline-item.md +1 -1
  210. package/llms/components/lr-timeline.md +1 -1
  211. package/llms/components/lr-tool-select-dialog.md +4 -3
  212. package/llms/components/lr-virtual-list.md +11 -11
  213. package/llms/peers.md +1 -1
  214. package/llms-full.txt +205 -59
  215. package/package.json +7 -7
  216. package/vscode-css-data.json +1 -1
  217. package/vscode-html-data.json +1 -1
  218. package/web-types.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,121 @@
1
1
  # Changelog
2
2
 
3
+ ## 15.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 314604b: Fix `<lr-button href>` rendering an underlined label for every non-link appearance. In anchor mode
8
+ the root is a real `<a>`, which the user-agent stylesheet underlines, and the shared `[part="base"]`
9
+ rule never reset `text-decoration` — so an `appearance="accent"` link button was underlined while the
10
+ same button without `href` was not. The base now declares `text-decoration: none`, matching
11
+ `<lr-icon-button>`. `appearance="link"` keeps its underline in both modes, and a consumer
12
+ `::part(base)` `text-decoration` rule still wins.
13
+ - 21c63aa: Raise the optional `@aiden0z/pptx-renderer` peer range to `^1.3.0` (from `^1.2.4`), used by
14
+ `<lr-pptx-viewer>`.
15
+
16
+ ## 15.0.0
17
+
18
+ ### Major Changes
19
+
20
+ - 4bce219: Library-wide consistency release: fixes across all 285 components, plus five deliberate public
21
+ API changes.
22
+
23
+ Most of this release extends earlier single-component fixes to every structurally identical
24
+ sibling, so behaviour that was already correct on one element is now correct across the family.
25
+
26
+ ### Breaking changes
27
+
28
+ **`<lr-responsive-panel>`: `variant` is now `shape`.** The property and its reflected attribute are
29
+ renamed, and the exported type `LyraResponsivePanelVariant` becomes `LyraResponsivePanelShape`. Its
30
+ values (`'fullscreen' | 'bottom-sheet'`) are unchanged. `variant` in this library is the shared
31
+ semantic-tone vocabulary (`neutral`/`brand`/`success`/`warning`/`danger`) that `<lr-button>`,
32
+ `<lr-badge>` and others use; this control's `variant` described a presentation shape instead, so it
33
+ was overloading a shared name with a different member set. Migration: rename the attribute and
34
+ property, and the type import if you use it.
35
+
36
+ **`<lr-chart>` (and every chart subclass): `legendMode` now defaults to `'auto'`.** Previously
37
+ `'dataset'`. `'auto'` resolves to `'datum'` on pie, doughnut and polar-area charts and to
38
+ `'dataset'` everywhere else. A single-dataset slice chart previously rendered one aggregate legend
39
+ row swatched with only the first slice's colour, leaving the remaining slice colours unidentified;
40
+ it now labels every slice. Pass `legend-mode="dataset"` to keep the old behaviour.
41
+
42
+ **`<lr-chart>`: `annotations` and `hiddenDatasets` are now clone-owned frozen snapshots.**
43
+ Assignment stores a bounded frozen copy, matching the contract `<lr-box-plot>` and
44
+ `<lr-lite-chart>` already had for the same-named properties. The getter returns a different
45
+ reference than the one assigned, and an in-place mutation now throws a `TypeError` instead of
46
+ silently doing nothing. Migration: reassign a new array (`el.annotations = [...el.annotations, next]`)
47
+ rather than mutating in place — code that was already working had to do this anyway, because Lit's
48
+ reference-equality change detection never observed the in-place mutation.
49
+
50
+ **`<lr-tool-param-form>`: a number/integer field's `control` part is now `<lr-number-input>`.** It
51
+ was a raw `<input type="number">` whose native spin buttons were hidden with no replacement
52
+ affordance. The documented contract (`.value`, `.errors`, `lr-input`, `lr-validity-change`,
53
+ `lr-invalid`, and the `control`/`field` part names) is unchanged. Migration only affects CSS or DOM
54
+ queries written specifically against the control being a native `<input>`.
55
+
56
+ **`<lr-tool-result-dialog>`: `lr-maximize-change` now fires before the state changes, and is
57
+ cancelable.** It previously fired after `el.maximized` already reflected the new value. Migration: a
58
+ handler reading `el.maximized` synchronously should read `event.detail.maximized` instead.
59
+
60
+ ### Accessibility
61
+
62
+ - `<lr-icon-button>` now forwards `aria-pressed` and `aria-current` to its internal semantic control,
63
+ matching the fix `<lr-button>` received. An icon-only toggle previously left the attribute inert on
64
+ the host, so assistive technology announced no pressed or current state at all.
65
+ - A host-authored `aria-describedby` is now merged into the internal control's own
66
+ `aria-describedby` on the components that were dropping it, so an external description association
67
+ reaches the element that owns the role.
68
+ - Computed accessible names are no longer written back as an empty `aria-label`, which suppressed the
69
+ native text fallback rather than deferring to it.
70
+ - `<lr-heatmap>` announces a keyboard range selection after the selection is extended, so the added
71
+ cell is actually confirmed, and no longer overrides an author's deliberate `aria-label=""`.
72
+ - `<lr-card>`'s activation control gets a localized fallback name when its content has no text of its
73
+ own, so an image-only or chart tile is never an unnamed button.
74
+
75
+ ### Correctness
76
+
77
+ - Property setters that clamped or validated against a sibling property no longer depend on
78
+ assignment order. Lit assigns template bindings in source order, so `.value` bound before its
79
+ domain properties could silently normalise to a different value; `<lr-data-grid>` and
80
+ `<lr-flow-canvas>` could lose an initial selection entirely this way.
81
+ - Components composing `<lr-virtual-list>` now pass stable collections, so an unrelated re-render no
82
+ longer clears measured row heights and forces a full offset recompute — visible as a sticky-header
83
+ height snap on `<lr-thread-list>`.
84
+ - Generated chart dataset defaults now defer to authored `config` beyond bar charts, so an explicit
85
+ `borderWidth`/`borderRadius`/`pointRadius` of `0` is honoured. At dense geometry a generated
86
+ transparent stroke could consume a thin bar entirely and paint nothing.
87
+ - `<lr-chart>`'s spoken value now honours `valueFormatter`, so a keyboard or screen-reader user hears
88
+ the same formatted value sighted users see.
89
+ - `getElementById` on a `renderRoot` typed `HTMLElement | ShadowRoot` is replaced with `querySelector`.
90
+
91
+ ### New public surface
92
+
93
+ `<lr-data-grid>` gains `selectionMode` (aligning its vocabulary with `<lr-table>`) and a cancelable
94
+ `lr-sort-request`; `<lr-menu-item>` and `<lr-dropdown-item>` gain the full `href`/`target`/`rel`/
95
+ `download` link surface with a non-removable `noopener noreferrer` guard whenever `target` is set;
96
+ `<lr-box-plot>` gains the eighteen-token palette and border/radius hooks its sibling chart types
97
+ already had; `<lr-message-parts>` gains `maxRenderedParts`; `<lr-subagent-panel>` and
98
+ `<lr-flow-minimap>` gain the `compact`/`frame` density escape hatches their siblings had;
99
+ `<lr-document-compare>` gains `max-height`; `<lr-alert>` gains close-button hover/active tokens;
100
+ `<lr-export-button>` gains a `trigger-error` part so an export failure is visible and announced.
101
+
102
+ ### Tooling
103
+
104
+ - The manifest no longer drops a subclass's property type override, which was publishing the base
105
+ class's type plus a false `inheritedFrom` — and flowing that wrong type into the generated React,
106
+ Vue and Svelte declarations.
107
+ - `<lr-histogram>`'s derived `labels`/`datasets` are published as read-only. They were absent from
108
+ the manifest entirely, so assigning them type-checked against the inherited writable signature and
109
+ silently did nothing.
110
+ - The attribute-polarity migration gate now checks the real shipped surfaces. It previously iterated
111
+ a hand-maintained rename list that contained no polarity-bearing pairs at all, so it could not
112
+ reject an inverted rename — the quietest possible parity break, since the migrated markup still
113
+ parses and the component behaves the other way round.
114
+ - Optional-peer install coverage in the packed-consumer check goes from one peer to eleven, and every
115
+ remaining peer now needs a written reason or the check fails.
116
+ - `scripts/test.sh` keeps its lane logs when a run fails, instead of deleting the directory whose
117
+ path it just printed.
118
+
3
119
  ## 14.3.2
4
120
 
5
121
  ### Patch Changes