@tldraw/editor 3.13.0-canary.fd867adaa211 → 3.13.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 (147) hide show
  1. package/CHANGELOG.md +180 -0
  2. package/dist-cjs/index.d.ts +99 -99
  3. package/dist-cjs/index.js +7 -22
  4. package/dist-cjs/index.js.map +2 -2
  5. package/dist-cjs/lib/components/Shape.js +12 -8
  6. package/dist-cjs/lib/components/Shape.js.map +2 -2
  7. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +31 -8
  8. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  9. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +17 -11
  10. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js.map +2 -2
  11. package/dist-cjs/lib/editor/Editor.js +85 -24
  12. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  13. package/dist-cjs/lib/editor/managers/SnapManager/HandleSnaps.js.map +2 -2
  14. package/dist-cjs/lib/editor/managers/TextManager.js +10 -0
  15. package/dist-cjs/lib/editor/managers/TextManager.js.map +2 -2
  16. package/dist-cjs/lib/editor/shapes/ShapeUtil.js +1 -1
  17. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  18. package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js +0 -3
  19. package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js.map +2 -2
  20. package/dist-cjs/lib/editor/shapes/shared/getPerfectDashProps.js.map +2 -2
  21. package/dist-cjs/lib/exports/getSvgJsx.js +12 -3
  22. package/dist-cjs/lib/exports/getSvgJsx.js.map +2 -2
  23. package/dist-cjs/lib/hooks/useEditorComponents.js +1 -2
  24. package/dist-cjs/lib/hooks/useEditorComponents.js.map +2 -2
  25. package/dist-cjs/lib/primitives/Box.js +16 -0
  26. package/dist-cjs/lib/primitives/Box.js.map +2 -2
  27. package/dist-cjs/lib/primitives/Mat.js +1 -1
  28. package/dist-cjs/lib/primitives/Mat.js.map +2 -2
  29. package/dist-cjs/lib/primitives/Vec.js +20 -0
  30. package/dist-cjs/lib/primitives/Vec.js.map +2 -2
  31. package/dist-cjs/lib/primitives/geometry/Arc2d.js +2 -2
  32. package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
  33. package/dist-cjs/lib/primitives/geometry/Circle2d.js +1 -1
  34. package/dist-cjs/lib/primitives/geometry/Circle2d.js.map +2 -2
  35. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +1 -1
  36. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
  37. package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js.map +2 -2
  38. package/dist-cjs/lib/primitives/geometry/Edge2d.js +1 -1
  39. package/dist-cjs/lib/primitives/geometry/Edge2d.js.map +2 -2
  40. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js.map +2 -2
  41. package/dist-cjs/lib/primitives/geometry/Geometry2d.js +91 -20
  42. package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
  43. package/dist-cjs/lib/primitives/geometry/Group2d.js +55 -2
  44. package/dist-cjs/lib/primitives/geometry/Group2d.js.map +2 -2
  45. package/dist-cjs/lib/primitives/geometry/Point2d.js.map +2 -2
  46. package/dist-cjs/lib/primitives/geometry/Polyline2d.js.map +2 -2
  47. package/dist-cjs/lib/primitives/geometry/Stadium2d.js.map +2 -2
  48. package/dist-cjs/lib/utils/areShapesContentEqual.js +25 -0
  49. package/dist-cjs/lib/utils/areShapesContentEqual.js.map +7 -0
  50. package/dist-cjs/lib/utils/debug-flags.js +5 -2
  51. package/dist-cjs/lib/utils/debug-flags.js.map +2 -2
  52. package/dist-cjs/lib/utils/nearestMultiple.js +34 -0
  53. package/dist-cjs/lib/utils/nearestMultiple.js.map +7 -0
  54. package/dist-cjs/version.js +3 -3
  55. package/dist-cjs/version.js.map +1 -1
  56. package/dist-esm/index.d.mts +99 -99
  57. package/dist-esm/index.mjs +9 -41
  58. package/dist-esm/index.mjs.map +2 -2
  59. package/dist-esm/lib/components/Shape.mjs +12 -8
  60. package/dist-esm/lib/components/Shape.mjs.map +2 -2
  61. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +31 -8
  62. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  63. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs +17 -11
  64. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs.map +2 -2
  65. package/dist-esm/lib/editor/Editor.mjs +85 -24
  66. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  67. package/dist-esm/lib/editor/managers/SnapManager/HandleSnaps.mjs.map +2 -2
  68. package/dist-esm/lib/editor/managers/TextManager.mjs +10 -0
  69. package/dist-esm/lib/editor/managers/TextManager.mjs.map +2 -2
  70. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +1 -1
  71. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  72. package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +0 -3
  73. package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +2 -2
  74. package/dist-esm/lib/editor/shapes/shared/getPerfectDashProps.mjs.map +2 -2
  75. package/dist-esm/lib/exports/getSvgJsx.mjs +12 -3
  76. package/dist-esm/lib/exports/getSvgJsx.mjs.map +2 -2
  77. package/dist-esm/lib/hooks/useEditorComponents.mjs +1 -4
  78. package/dist-esm/lib/hooks/useEditorComponents.mjs.map +2 -2
  79. package/dist-esm/lib/primitives/Box.mjs +16 -0
  80. package/dist-esm/lib/primitives/Box.mjs.map +2 -2
  81. package/dist-esm/lib/primitives/Mat.mjs +1 -1
  82. package/dist-esm/lib/primitives/Mat.mjs.map +2 -2
  83. package/dist-esm/lib/primitives/Vec.mjs +20 -0
  84. package/dist-esm/lib/primitives/Vec.mjs.map +2 -2
  85. package/dist-esm/lib/primitives/geometry/Arc2d.mjs +2 -2
  86. package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
  87. package/dist-esm/lib/primitives/geometry/Circle2d.mjs +1 -1
  88. package/dist-esm/lib/primitives/geometry/Circle2d.mjs.map +2 -2
  89. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +1 -1
  90. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
  91. package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs.map +2 -2
  92. package/dist-esm/lib/primitives/geometry/Edge2d.mjs +1 -1
  93. package/dist-esm/lib/primitives/geometry/Edge2d.mjs.map +2 -2
  94. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs.map +2 -2
  95. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +92 -21
  96. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
  97. package/dist-esm/lib/primitives/geometry/Group2d.mjs +55 -2
  98. package/dist-esm/lib/primitives/geometry/Group2d.mjs.map +2 -2
  99. package/dist-esm/lib/primitives/geometry/Point2d.mjs.map +2 -2
  100. package/dist-esm/lib/primitives/geometry/Polyline2d.mjs.map +2 -2
  101. package/dist-esm/lib/primitives/geometry/Stadium2d.mjs.map +2 -2
  102. package/dist-esm/lib/utils/areShapesContentEqual.mjs +5 -0
  103. package/dist-esm/lib/utils/areShapesContentEqual.mjs.map +7 -0
  104. package/dist-esm/lib/utils/debug-flags.mjs +5 -2
  105. package/dist-esm/lib/utils/debug-flags.mjs.map +2 -2
  106. package/dist-esm/lib/utils/nearestMultiple.mjs +14 -0
  107. package/dist-esm/lib/utils/nearestMultiple.mjs.map +7 -0
  108. package/dist-esm/version.mjs +3 -3
  109. package/dist-esm/version.mjs.map +1 -1
  110. package/editor.css +36 -4
  111. package/package.json +7 -7
  112. package/src/index.ts +16 -31
  113. package/src/lib/components/Shape.tsx +14 -10
  114. package/src/lib/components/default-components/DefaultCanvas.tsx +32 -8
  115. package/src/lib/components/default-components/DefaultShapeIndicator.tsx +17 -8
  116. package/src/lib/editor/Editor.test.ts +1 -1
  117. package/src/lib/editor/Editor.ts +96 -24
  118. package/src/lib/editor/managers/SnapManager/HandleSnaps.ts +0 -1
  119. package/src/lib/editor/managers/TextManager.ts +12 -0
  120. package/src/lib/editor/shapes/ShapeUtil.ts +10 -2
  121. package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +0 -4
  122. package/src/lib/editor/shapes/shared/getPerfectDashProps.ts +9 -9
  123. package/src/lib/exports/getSvgJsx.tsx +16 -7
  124. package/src/lib/hooks/useEditorComponents.tsx +2 -5
  125. package/src/lib/primitives/Box.ts +20 -0
  126. package/src/lib/primitives/Mat.ts +5 -4
  127. package/src/lib/primitives/Vec.ts +23 -0
  128. package/src/lib/primitives/geometry/Arc2d.ts +5 -5
  129. package/src/lib/primitives/geometry/Circle2d.ts +4 -4
  130. package/src/lib/primitives/geometry/CubicBezier2d.ts +4 -4
  131. package/src/lib/primitives/geometry/CubicSpline2d.ts +3 -3
  132. package/src/lib/primitives/geometry/Edge2d.ts +3 -3
  133. package/src/lib/primitives/geometry/Ellipse2d.ts +3 -3
  134. package/src/lib/primitives/geometry/Geometry2d.test.ts +42 -0
  135. package/src/lib/primitives/geometry/Geometry2d.ts +123 -35
  136. package/src/lib/primitives/geometry/Group2d.ts +70 -7
  137. package/src/lib/primitives/geometry/Point2d.ts +2 -2
  138. package/src/lib/primitives/geometry/Polyline2d.ts +3 -3
  139. package/src/lib/primitives/geometry/Stadium2d.ts +3 -3
  140. package/src/lib/test/currentToolIdMask.test.ts +1 -1
  141. package/src/lib/test/user.test.ts +1 -1
  142. package/src/lib/utils/areShapesContentEqual.ts +4 -0
  143. package/src/lib/utils/debug-flags.ts +7 -2
  144. package/src/lib/utils/nearestMultiple.ts +13 -0
  145. package/src/lib/utils/sync/LocalIndexedDb.test.ts +1 -1
  146. package/src/lib/utils/sync/TLLocalSyncClient.test.ts +1 -1
  147. package/src/version.ts +3 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,183 @@
1
+ # v3.13.0 (Thu May 22 2025)
2
+
3
+ ### Release Notes
4
+
5
+ #### scale scrubbing ([#6057](https://github.com/tldraw/tldraw/pull/6057))
6
+
7
+ - Fixed a bug with…
8
+
9
+ #### a11y: address icons and handles ([#6001](https://github.com/tldraw/tldraw/pull/6001))
10
+
11
+ - a11y: add labels to icons and handles
12
+
13
+ #### a11y: be able to navigate in/out of container shapes ([#5973](https://github.com/tldraw/tldraw/pull/5973))
14
+
15
+ - a11y: Adds Cmd+Shift+Up/Down for container navigation.
16
+
17
+ #### refactor: rename canEditOnly to canEditonly ([#6019](https://github.com/tldraw/tldraw/pull/6019))
18
+
19
+ close #5899
20
+ - Rename `CanEditOnly` to `CanEditonly` to standardize.
21
+ - method in `packages/editor/src/lib/editor/shapes/ShapeUtil.ts`
22
+ - method in `packages/tldraw/src/lib/shapes/embed/EmbedShapeUtil.tsx`
23
+ - used in `packages/tldraw/src/lib/tools/SelectTool/childStates/EditingShape.ts`
24
+ - used in `packages/tldraw/src/lib/tools/SelectTool/childStates/Idle.ts`
25
+ - used in `packages/tldraw/src/lib/tools/SelectTool/childStates/PointingShape.ts`
26
+
27
+ #### Redesign account / help menu ([#6008](https://github.com/tldraw/tldraw/pull/6008))
28
+
29
+ - Design improvements on the app sidebar
30
+
31
+ #### Remove the selection background ([#6042](https://github.com/tldraw/tldraw/pull/6042))
32
+
33
+ - Removes default selection background component
34
+
35
+ #### Fix disposing order ([#6030](https://github.com/tldraw/tldraw/pull/6030))
36
+
37
+ - Fix an issue that could occur when disposable logic that relied on the store being available was run after the store has already been disposed.
38
+
39
+ #### arrows: create min-width for label indicator ([#6029](https://github.com/tldraw/tldraw/pull/6029))
40
+
41
+ - arrows: create min-width for label indicator
42
+
43
+ #### Fix inconsistent panning. ([#6024](https://github.com/tldraw/tldraw/pull/6024))
44
+
45
+ - Don't take pan speed into account for hand tool panning so that it's consistent with middle mouse button / spacebar panning.
46
+
47
+ #### Elbow arrows ([#5572](https://github.com/tldraw/tldraw/pull/5572))
48
+
49
+ - The arrow shape now supports elbow arrows. Instead of a single straight line or arc, these arrows get from A to B in a series straight lines joined at right angles. Access the new arrow type by selecting the arrow tool, and choosing the new option under the "Line" style.
50
+
51
+ #### rich text: fix up styling of empty lines and lists ([#6013](https://github.com/tldraw/tldraw/pull/6013))
52
+
53
+ - rich text: fix styling of empty lines in some cases and lists in some cases
54
+
55
+ #### text: be able to add other styling to measure by if applicable ([#6014](https://github.com/tldraw/tldraw/pull/6014))
56
+
57
+ - text: be able to add other styling to measure by if applicable
58
+
59
+ #### Better computed cache memoization ([#5988](https://github.com/tldraw/tldraw/pull/5988))
60
+
61
+ - Allow changes to shape.meta to bust the shape geometry cache.
62
+
63
+ #### Indicators perf ([#5821](https://github.com/tldraw/tldraw/pull/5821))
64
+
65
+ - Improved performance when dragging many shapes at once
66
+
67
+ #### Export custom bg color for single frame exports ([#5993](https://github.com/tldraw/tldraw/pull/5993))
68
+
69
+ - When exporting an individual frame as an image, if the frame has a custom color set, use that color for the background.
70
+
71
+ #### Fix control button wheel bug ([#5983](https://github.com/tldraw/tldraw/pull/5983))
72
+
73
+ - Fixed a bug causing the control key to be seen as pressed even after releasing when wheeling
74
+
75
+ #### Restore DPR constrained width/height on shapes. ([#5975](https://github.com/tldraw/tldraw/pull/5975))
76
+
77
+ - Prevent arrows and lines from jittering in some browsers as their width/height changes
78
+
79
+ #### ENG 3023 Add double-click to fit frame to content on edges and corners ([#5967](https://github.com/tldraw/tldraw/pull/5967))
80
+
81
+ - Frames can now be resized to fit their contents by double-clicking their edges.
82
+
83
+ #### Add overlays component ([#5952](https://github.com/tldraw/tldraw/pull/5952))
84
+
85
+ - A new `Overlays` component lets you add overlays on top of the canvas that still follow the camera.
86
+
87
+ #### Fix flickering when rotating arrow ([#5951](https://github.com/tldraw/tldraw/pull/5951))
88
+
89
+ - Prevent bound arrows from flickering when you rotate them
90
+
91
+ #### a11y: better embed interaction ([#5958](https://github.com/tldraw/tldraw/pull/5958))
92
+
93
+ - a11y: make sure we can tab into embeds.
94
+
95
+ #### a11y: make toolbars more compliant with keyboard navigation ([#5872](https://github.com/tldraw/tldraw/pull/5872))
96
+
97
+ - a11y: make toolbars more compliant with keyboard navigation
98
+
99
+ #### INT-1266 Remove GitHub CTA from SDK error dialogs ([#5947](https://github.com/tldraw/tldraw/pull/5947))
100
+
101
+ - Removed GitHub and Discord support prompts from SDK error dialogs
102
+
103
+ #### license: allow ability to do VS code extensions ([#5940](https://github.com/tldraw/tldraw/pull/5940))
104
+
105
+ - License: add ability to use VS code with our licensing scheme.
106
+
107
+ #### a11y: fix up select dropdown in share; also error dialog ([#5941](https://github.com/tldraw/tldraw/pull/5941))
108
+
109
+ - a11y: fix some more components: Select and error dialog
110
+
111
+ #### Fix getSelectedShapes caching ([#5928](https://github.com/tldraw/tldraw/pull/5928))
112
+
113
+ - Small perf fix to make sure `editor.getSelectedShapes` doesn't cause signals to fire too often.
114
+
115
+ #### Fix user following chains + add loop support ([#5924](https://github.com/tldraw/tldraw/pull/5924))
116
+
117
+ - Fixed viewport following for situations when there is a chain of at least three users following one another sequentially.
118
+
119
+ ---
120
+
121
+ #### 🐛 Bug Fix
122
+
123
+ - Revert "scale scrubbing" [#6108](https://github.com/tldraw/tldraw/pull/6108) ([@SomeHats](https://github.com/SomeHats))
124
+ - scale scrubbing [#6057](https://github.com/tldraw/tldraw/pull/6057) ([@steveruizok](https://github.com/steveruizok))
125
+ - Fix user following chains + add loop support [#5924](https://github.com/tldraw/tldraw/pull/5924) ([@ds300](https://github.com/ds300))
126
+
127
+ #### 🐛 Bug Fixes
128
+
129
+ - Fix disposing order [#6030](https://github.com/tldraw/tldraw/pull/6030) ([@MitjaBezensek](https://github.com/MitjaBezensek))
130
+ - always call on edit end [#6032](https://github.com/tldraw/tldraw/pull/6032) ([@SomeHats](https://github.com/SomeHats))
131
+ - Elbow arrow fixes [#6028](https://github.com/tldraw/tldraw/pull/6028) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot]))
132
+ - Fix inconsistent panning. [#6024](https://github.com/tldraw/tldraw/pull/6024) ([@MitjaBezensek](https://github.com/MitjaBezensek))
133
+ - rich text: fix up styling of empty lines and lists [#6013](https://github.com/tldraw/tldraw/pull/6013) ([@mimecuvalo](https://github.com/mimecuvalo))
134
+ - Better computed cache memoization [#5988](https://github.com/tldraw/tldraw/pull/5988) ([@ds300](https://github.com/ds300))
135
+ - Export custom bg color for single frame exports [#5993](https://github.com/tldraw/tldraw/pull/5993) ([@ds300](https://github.com/ds300))
136
+ - Fix control button wheel bug [#5983](https://github.com/tldraw/tldraw/pull/5983) ([@steveruizok](https://github.com/steveruizok))
137
+ - Restore DPR constrained width/height on shapes. [#5975](https://github.com/tldraw/tldraw/pull/5975) ([@SomeHats](https://github.com/SomeHats))
138
+ - Fix flickering when rotating arrow [#5951](https://github.com/tldraw/tldraw/pull/5951) ([@SomeHats](https://github.com/SomeHats))
139
+ - Fix getSelectedShapes caching [#5928](https://github.com/tldraw/tldraw/pull/5928) ([@ds300](https://github.com/ds300))
140
+ - Fix group bounds containing text shapes (#5909) [#5910](https://github.com/tldraw/tldraw/pull/5910) ([@SomeHats](https://github.com/SomeHats))
141
+
142
+ #### 💄 Product Improvements
143
+
144
+ - a11y: address icons and handles [#6001](https://github.com/tldraw/tldraw/pull/6001) ([@mimecuvalo](https://github.com/mimecuvalo))
145
+ - a11y: be able to navigate in/out of container shapes [#5973](https://github.com/tldraw/tldraw/pull/5973) ([@mimecuvalo](https://github.com/mimecuvalo))
146
+ - Simplify the cursor logic [#6053](https://github.com/tldraw/tldraw/pull/6053) ([@MitjaBezensek](https://github.com/MitjaBezensek))
147
+ - refactor: rename canEditOnly to canEditonly [#6019](https://github.com/tldraw/tldraw/pull/6019) ([@nayounsang](https://github.com/nayounsang))
148
+ - Redesign account / help menu [#6008](https://github.com/tldraw/tldraw/pull/6008) ([@steveruizok](https://github.com/steveruizok))
149
+ - Remove the selection background [#6042](https://github.com/tldraw/tldraw/pull/6042) ([@steveruizok](https://github.com/steveruizok))
150
+ - arrows: create min-width for label indicator [#6029](https://github.com/tldraw/tldraw/pull/6029) ([@mimecuvalo](https://github.com/mimecuvalo) [@SomeHats](https://github.com/SomeHats))
151
+ - text: be able to add other styling to measure by if applicable [#6014](https://github.com/tldraw/tldraw/pull/6014) ([@mimecuvalo](https://github.com/mimecuvalo))
152
+ - Indicators perf [#5821](https://github.com/tldraw/tldraw/pull/5821) ([@steveruizok](https://github.com/steveruizok))
153
+ - a11y: better embed interaction [#5958](https://github.com/tldraw/tldraw/pull/5958) ([@mimecuvalo](https://github.com/mimecuvalo))
154
+ - a11y: make toolbars more compliant with keyboard navigation [#5872](https://github.com/tldraw/tldraw/pull/5872) ([@mimecuvalo](https://github.com/mimecuvalo))
155
+ - INT-1266 Remove GitHub CTA from SDK error dialogs [#5947](https://github.com/tldraw/tldraw/pull/5947) ([@budatl](https://github.com/budatl))
156
+ - a11y: fix up select dropdown in share; also error dialog [#5941](https://github.com/tldraw/tldraw/pull/5941) ([@mimecuvalo](https://github.com/mimecuvalo))
157
+
158
+ #### 🎉 New Features
159
+
160
+ - Elbow arrows [#5572](https://github.com/tldraw/tldraw/pull/5572) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot]))
161
+ - ENG 3023 Add double-click to fit frame to content on edges and corners [#5967](https://github.com/tldraw/tldraw/pull/5967) ([@budatl](https://github.com/budatl) [@mimecuvalo](https://github.com/mimecuvalo))
162
+
163
+ #### 🛠️ API Changes
164
+
165
+ - Add overlays component [#5952](https://github.com/tldraw/tldraw/pull/5952) ([@SomeHats](https://github.com/SomeHats))
166
+ - license: allow ability to do VS code extensions [#5940](https://github.com/tldraw/tldraw/pull/5940) ([@mimecuvalo](https://github.com/mimecuvalo))
167
+
168
+ #### Authors: 8
169
+
170
+ - [@budatl](https://github.com/budatl)
171
+ - [@huppy-bot[bot]](https://github.com/huppy-bot[bot])
172
+ - alex ([@SomeHats](https://github.com/SomeHats))
173
+ - David Sheldrick ([@ds300](https://github.com/ds300))
174
+ - Mime Čuvalo ([@mimecuvalo](https://github.com/mimecuvalo))
175
+ - Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek))
176
+ - Steve Ruiz ([@steveruizok](https://github.com/steveruizok))
177
+ - Younsang Na ([@nayounsang](https://github.com/nayounsang))
178
+
179
+ ---
180
+
1
181
  # v3.12.0 (Tue Apr 15 2025)
2
182
 
3
183
  ### Release Notes