Gutenberg - Version 14.6.1

Version Description

Download this release

Release Info

Developer gutenbergplugin
Plugin Icon 128x128 Gutenberg
Version 14.6.1
Comparing to
See all releases

Code changes from version 14.6.0 to 14.6.1

changelog.txt CHANGED
@@ -1,248 +1,269 @@
1
  == Changelog ==
2
 
3
- = 14.6.0 =
4
 
5
  ## Changelog
6
 
7
- ### Enhancements
8
-
9
- #### Block Library
10
-
11
- - Latest posts: Add color support. ([41874](https://github.com/WordPress/gutenberg/pull/41874))
12
- - Latest posts and latest comments: Add spacing support. ([45110](https://github.com/WordPress/gutenberg/pull/45110))
13
- - Navigation: Adds a list view. ([45546](https://github.com/WordPress/gutenberg/pull/45546))
14
- - Navigation: Add a new ManageMenusButton component. ([45782](https://github.com/WordPress/gutenberg/pull/45782))
15
- - Navigation: Reposition the navigation selector. ([45555](https://github.com/WordPress/gutenberg/pull/45555))
16
- - Navigation Link: Add the URL field to the Navigation Link inspector controls. ([45751](https://github.com/WordPress/gutenberg/pull/45751))
17
- - Author: Make the Author selector display all users instead of just 10. ([45640](https://github.com/WordPress/gutenberg/pull/45640))
18
- - Columns: Add transform to unwrap the contents. ([45666](https://github.com/WordPress/gutenberg/pull/45666))
19
- - Read More: Add aria-label and screen reader text. ([45490](https://github.com/WordPress/gutenberg/pull/45490))
20
- - Group: Use a variation picker in the placeholder. ([43496](https://github.com/WordPress/gutenberg/pull/43496))
21
-
22
- #### Components
23
-
24
- - Use new theming accent color in all components. ([45289](https://github.com/WordPress/gutenberg/pull/45289))
25
- - CheckboxControl: Replace margin overrides with new opt-in prop. ([45434](https://github.com/WordPress/gutenberg/pull/45434))
26
- - FocalPointPicker: Update the design of the focal point handle. ([45053](https://github.com/WordPress/gutenberg/pull/45053))
27
- - FontSizePicker: Update hint text to match the design. ([44966](https://github.com/WordPress/gutenberg/pull/44966))
28
- - CheckboxControl: Move icons out of labels. ([45535](https://github.com/WordPress/gutenberg/pull/45535))
29
-
30
- #### Block Editor
31
-
32
- - Converts paragraphs to headings with keyboard shortcuts. ([44681](https://github.com/WordPress/gutenberg/pull/44681))
33
- - Restore the empty paragraph inserter. ([45542](https://github.com/WordPress/gutenberg/pull/45542))
34
- - Transform: Select all blocks if the result has more than one block. ([45015](https://github.com/WordPress/gutenberg/pull/45015))
35
- - Content-only locked patterns: Move "Modify" to the ellipsis menu. ([45391](https://github.com/WordPress/gutenberg/pull/45391))
36
- - Patterns: Adjust the space in the pattern explorer list. ([45730](https://github.com/WordPress/gutenberg/pull/45730))
37
- - Update: Lock icon to outline. ([45645](https://github.com/WordPress/gutenberg/pull/45645))
38
- - Don't use capital case for 'Distraction free' strings. ([45538](https://github.com/WordPress/gutenberg/pull/45538))
39
- - Replace Justification/Orientation controls with ToggleGroupControl. ([45637](https://github.com/WordPress/gutenberg/pull/45637))
40
-
41
- #### Site Editor
42
-
43
- - Replace FSE with Site Editor. ([45699](https://github.com/WordPress/gutenberg/pull/45699))
44
-
45
- #### Design Tools
46
-
47
- - Add a minHeight block support under dimensions. ([45300](https://github.com/WordPress/gutenberg/pull/45300))
48
- - Hide the block toolbar when the spacing visualizer is showing. ([45131](https://github.com/WordPress/gutenberg/pull/45131))
49
 
50
  #### Global Styles
51
-
52
- - Elements: Add a text decoration control to link elements. ([45643](https://github.com/WordPress/gutenberg/pull/45643))
53
- - Global styles: Convert preset font size values to CSS vars. ([44967](https://github.com/WordPress/gutenberg/pull/44967))
54
- - Fluid typography: Adjust font size min and max rules. ([45536](https://github.com/WordPress/gutenberg/pull/45536))
55
- - Try generating random color palettes. ([40988](https://github.com/WordPress/gutenberg/pull/40988))
56
-
57
- #### Plugin
58
-
59
- - Updates tested up to version to 6.1. ([45630](https://github.com/WordPress/gutenberg/pull/45630))
60
-
61
- #### Patterns
62
-
63
- - Pattern Directory API: Add support for pagination parameters. ([45293](https://github.com/WordPress/gutenberg/pull/45293))
64
- - Update bundled patterns compat directory. ([45620](https://github.com/WordPress/gutenberg/pull/45620))
65
 
66
  ### Bug Fixes
67
-
68
- #### Block Library
69
-
70
- - Change the order of the pseudo-states in the pseudo-selectors array. ([45559](https://github.com/WordPress/gutenberg/pull/45559))
71
- - Cover: Avoid content loss when the templateLock value is all or contentOnly. ([45632](https://github.com/WordPress/gutenberg/pull/45632))
72
- - Fix alignment of create new post link. ([45638](https://github.com/WordPress/gutenberg/pull/45638))
73
- - Fix navigation appender position to prevent obstructing its items. ([43530](https://github.com/WordPress/gutenberg/pull/43530))
74
- - Fix: Button block text alignment. ([45663](https://github.com/WordPress/gutenberg/pull/45663))
75
- - Query Pagination: Fix positioning of the next link in editor when the parent is selected. ([45651](https://github.com/WordPress/gutenberg/pull/45651))
76
- - Site Logo: Use the correct home URL setting. ([45476](https://github.com/WordPress/gutenberg/pull/45476))
77
- - Switch background color to text color on the block separator. ([44943](https://github.com/WordPress/gutenberg/pull/44943))
78
- - Table Block: Apply borders and padding on both front end and editor. ([45069](https://github.com/WordPress/gutenberg/pull/45069))
79
- - Table block: Fix error in margin value. ([45674](https://github.com/WordPress/gutenberg/pull/45674))
80
- - Template Part Block: Update block isActive method. ([45672](https://github.com/WordPress/gutenberg/pull/45672))
81
- - Navigation: Fix overflowing menu name in the navigation selector dropdown. ([45647](https://github.com/WordPress/gutenberg/pull/45647))
82
-
83
- #### Accessibility
84
-
85
- - Fix focus return when closing the Post publish panel. ([45623](https://github.com/WordPress/gutenberg/pull/45623))
86
- - Fix navigate regions backwards for macOS Firefox and Safari. ([45019](https://github.com/WordPress/gutenberg/pull/45019))
87
- - Fix the Save buttons labeling and tooltip. ([43952](https://github.com/WordPress/gutenberg/pull/43952))
88
- - Fix the navigate regions focus style. ([45369](https://github.com/WordPress/gutenberg/pull/45369))
89
- - Fix: Contrast checker appears unexpectedly on some blocks. ([45639](https://github.com/WordPress/gutenberg/pull/45639))
90
- - Fix: Contrast checker does not update properly. ([45686](https://github.com/WordPress/gutenberg/pull/45686))
91
-
92
- #### Components
93
-
94
- - Autocomplete: Fix unexpected block insertion during IME composition. ([45510](https://github.com/WordPress/gutenberg/pull/45510))
95
- - Fix ESLint warning for Dashicon. ([45795](https://github.com/WordPress/gutenberg/pull/45795))
96
- - FormTokenField: Fix duplicate input in IME composition. ([45607](https://github.com/WordPress/gutenberg/pull/45607))
97
- - Making size prop work for icon components using dash icon strings. ([45593](https://github.com/WordPress/gutenberg/pull/45593))
98
- - ToolsPanel: Prevent calling deselect when panel remounts. ([45673](https://github.com/WordPress/gutenberg/pull/45673))
99
- - Color Picker: Prevent all number fields to become 0 when one of them is an empty string. ([45649](https://github.com/WordPress/gutenberg/pull/45649))
100
- - ToggleGroupControl: Only show the enclosing border when `isBlock`. ([45492](https://github.com/WordPress/gutenberg/pull/45492))
101
- - Autocomplete: Check key events more strictly in IME composition. ([45626](https://github.com/WordPress/gutenberg/pull/45626))
102
-
103
- #### CSS & Styling
104
-
105
- - Inherit font from theme on overlay close button. ([45635](https://github.com/WordPress/gutenberg/pull/45635))
106
- - Navigation: Fix font inheritance when using text menu button. ([45514](https://github.com/WordPress/gutenberg/pull/45514))
107
- - Remove hover style to button on dark block tools UI. ([45653](https://github.com/WordPress/gutenberg/pull/45653))
108
- - Remove width from block mover button focus style. ([45665](https://github.com/WordPress/gutenberg/pull/45665))
109
- - Site editor hover/select: Fix double border. ([45589](https://github.com/WordPress/gutenberg/pull/45589))
110
- - Remove duplicate output of existing classnames in layout classnames. ([45499](https://github.com/WordPress/gutenberg/pull/45499))
111
-
112
- #### Post Editor
113
-
114
- - BlockManagerCategory: Fix styles for indeterminate. ([45564](https://github.com/WordPress/gutenberg/pull/45564))
115
- - Fix: Updated names from List View to Document Overview. ([45524](https://github.com/WordPress/gutenberg/pull/45524))
116
- - Strip HTML from Post Title when pasting multiline title containing HTML. ([35825](https://github.com/WordPress/gutenberg/pull/35825))
117
-
118
- #### Site Editor
119
-
120
- - Decode entities in template title and description. ([45716](https://github.com/WordPress/gutenberg/pull/45716))
121
- - Link to homeUrl from site editor view menu. ([45475](https://github.com/WordPress/gutenberg/pull/45475))
122
-
123
- #### Block Editor
124
-
125
- - Fix Link UI popover positioning when inspector control input is focused. ([45661](https://github.com/WordPress/gutenberg/pull/45661))
126
- - Paste: Fix list only paste from Google documentation. ([45498](https://github.com/WordPress/gutenberg/pull/45498))
127
- - Make Manage Reusable blocks match similar links. ([45641](https://github.com/WordPress/gutenberg/pull/45641))([45689](https://github.com/WordPress/gutenberg/pull/45689))
128
- - List View: Disable branch expansion when block editing is locked. ([45541](https://github.com/WordPress/gutenberg/pull/45541))
129
- - Spacing visualizer: Fix display of unexpected visualizer for certain mouse actions. ([45739](https://github.com/WordPress/gutenberg/pull/45739))
130
-
131
- ### Experiments
132
-
133
- - A list view duplicate for use in navigation list view experiment. ([45544](https://github.com/WordPress/gutenberg/pull/45544))
134
- - Introduce experiment for inspector based navigation editing. ([45515](https://github.com/WordPress/gutenberg/pull/45515))
135
-
136
- ### Documentation
137
-
138
- - Add missing CHANGELOG entry. ([45691](https://github.com/WordPress/gutenberg/pull/45691))
139
- - Change Title: How to use JavaScript with Gutenberg. ([45323](https://github.com/WordPress/gutenberg/pull/45323))
140
- - Docs: Update the readme for the integration test fixtures. ([45581](https://github.com/WordPress/gutenberg/pull/45581))
141
- - Summarize "Available commands" section and refer them it to `scripts` documentation. ([45636](https://github.com/WordPress/gutenberg/pull/45636))
142
- - Update applying-styles-with-stylesheets.md. ([45604](https://github.com/WordPress/gutenberg/pull/45604))
143
- - [create-block] Reorganized sections to provide a better learning experience of this package. ([45676](https://github.com/WordPress/gutenberg/pull/45676))
144
- - Change "block style variations" references to "block style". ([45650](https://github.com/WordPress/gutenberg/pull/45650))
145
-
146
- ### Performance
147
-
148
- - Lodash: Refactor away from `_.reduce()`. ([45460](https://github.com/WordPress/gutenberg/pull/45460))
149
- - Lodash: Refactor block editor away from `_.reduce()`. ([45455](https://github.com/WordPress/gutenberg/pull/45455))
150
- - Lodash: Refactor blocks away from `_.reduce()`. ([45457](https://github.com/WordPress/gutenberg/pull/45457))
151
- - Lodash: Refactor site editor away from `_.reduce()`. ([45459](https://github.com/WordPress/gutenberg/pull/45459))
152
- - Lodash: Refactor post editor away from `_.reduce()`. ([45458](https://github.com/WordPress/gutenberg/pull/45458))
153
- - Do not look for block variants, if not supporting block-templates. ([45362](https://github.com/WordPress/gutenberg/pull/45362))
154
- - List: Disable nested list drop zone so dropping list items works. ([45321](https://github.com/WordPress/gutenberg/pull/45321))
155
- - Use low-level cache for get_user_data_from_wp_global_styles. ([45634](https://github.com/WordPress/gutenberg/pull/45634))
156
- - Update: Improve performance of block template object retrieval. ([45646](https://github.com/WordPress/gutenberg/pull/45646))
157
-
158
- ### Code Quality
159
-
160
- #### Block Editor
161
-
162
- - Block Editor: Improve `LinkControl` tests. ([45609](https://github.com/WordPress/gutenberg/pull/45609))
163
- - Block Editor: Improve `ResponsiveBlockControl` tests. ([45610](https://github.com/WordPress/gutenberg/pull/45610))
164
- - Block Editor: Improve `ReusableBlocksTab` tests. ([45652](https://github.com/WordPress/gutenberg/pull/45652))
165
- - LinkControl: Suppress errors on null values. ([45742](https://github.com/WordPress/gutenberg/pull/45742))
166
- - Simplify ResizableEditor component. ([45578](https://github.com/WordPress/gutenberg/pull/45578))
167
- - Remove duplicate colon. ([45763](https://github.com/WordPress/gutenberg/pull/45763))
168
- - Extract the manage menus button to a shared component to reduce duplicate code. ([45769](https://github.com/WordPress/gutenberg/pull/45769))
169
- - Backport pseudo selector comments from core. ([45619](https://github.com/WordPress/gutenberg/pull/45619))
170
- - unstableSubscribeStore: Support store descriptors. ([45481](https://github.com/WordPress/gutenberg/pull/45481))
171
-
172
- #### Components
173
-
174
- - BaseField: Remove unnecessary `.firstChild` from tests. ([45687](https://github.com/WordPress/gutenberg/pull/45687))
175
- - DateTime: Remove unused types. ([45615](https://github.com/WordPress/gutenberg/pull/45615))
176
- - Draggable: Convert component to TypeScript. ([45471](https://github.com/WordPress/gutenberg/pull/45471))
177
- - Fix `no-container` violations in `FormGroup` tests. ([45662](https://github.com/WordPress/gutenberg/pull/45662))
178
- - Fix `testing-library/no-node-access` in `TreeGrid` tests. ([45554](https://github.com/WordPress/gutenberg/pull/45554))
179
- - FontSizePicker: Use components instead of helper functions. ([44891](https://github.com/WordPress/gutenberg/pull/44891))
180
- - Improve tests for `ToggleGroupControl`. ([45627](https://github.com/WordPress/gutenberg/pull/45627))
181
- - MenuGroup: Convert component to TypeScript. ([45617](https://github.com/WordPress/gutenberg/pull/45617))
182
- - Popover: Fix exhaustive-deps warning. ([45656](https://github.com/WordPress/gutenberg/pull/45656))
183
- - Refactor `ItemGroup` to pass `exhaustive-deps`. ([45531](https://github.com/WordPress/gutenberg/pull/45531))
184
- - Refactor `useFlex` to pass `exhaustive-deps`. ([45528](https://github.com/WordPress/gutenberg/pull/45528))
185
- - Refactor `withNotices` to pass `exhaustive-deps`. ([45530](https://github.com/WordPress/gutenberg/pull/45530))
186
- - Refactor`PaletteEditListView` to ignore `exhaustive-deps`. ([45467](https://github.com/WordPress/gutenberg/pull/45467))
187
- - TabPanel: Fix the `exhaustive-deps` warning. ([45660](https://github.com/WordPress/gutenberg/pull/45660))
188
- - ToolsPanel: Fix exhaustive-deps hook warning. ([45715](https://github.com/WordPress/gutenberg/pull/45715))
189
- - Truncate: Remove unnecessary `.firstChild` from tests. ([45694](https://github.com/WordPress/gutenberg/pull/45694))
190
- - View component: Rename index.js to index.ts. ([45667](https://github.com/WordPress/gutenberg/pull/45667))
191
- - `ColorPalette`, `BorderBox`, `BorderBoxControl`: Polish and DRY prop types, add default values. ([45463](https://github.com/WordPress/gutenberg/pull/45463))
192
- - `NavigatorScreen`: Satisfy `exhaustive-deps` eslint rule. ([45648](https://github.com/WordPress/gutenberg/pull/45648))
193
- - Fix `useCx` story to satisfy `exhaustive-deps` eslint rule. ([45614](https://github.com/WordPress/gutenberg/pull/45614))
194
- - URLPopover: Use new placement prop instead of legacy position prop. ([44391](https://github.com/WordPress/gutenberg/pull/44391))
195
- - Tidy and minor refactor of Link UI code. ([37833](https://github.com/WordPress/gutenberg/pull/37833))
196
-
197
- #### Block Library
198
-
199
- - Avatar: Escape the 'get_author_posts_url()'. ([45427](https://github.com/WordPress/gutenberg/pull/45427))
200
- - Button: Remove unnecessary 'useCallback'. ([45584](https://github.com/WordPress/gutenberg/pull/45584))
201
- - Make unwrapping columns slighly more efficient. ([45684](https://github.com/WordPress/gutenberg/pull/45684))
202
- - Simplfy handling of save of Nav block uncontrolled inner blocks. ([45517](https://github.com/WordPress/gutenberg/pull/45517))
203
- - Lodash: Refactor block library away from `_.reduce()`. ([45456](https://github.com/WordPress/gutenberg/pull/45456))
204
-
205
- ### Tools
206
-
207
- #### Testing
208
-
209
- - Components: Add `exhaustive-deps` eslint rule. ([41166](https://github.com/WordPress/gutenberg/pull/41166))
210
- - Fix typos in Paragraph block end-to-end tests. ([45611](https://github.com/WordPress/gutenberg/pull/45611))
211
- - FontSizePicker: Fix a buggy unit test. ([45529](https://github.com/WordPress/gutenberg/pull/45529))
212
- - Ignore warnings for `window.wp` in Playwright. ([45598](https://github.com/WordPress/gutenberg/pull/45598))
213
- - Migrate mentions tests to playwright. ([43064](https://github.com/WordPress/gutenberg/pull/43064))
214
- - Navigation Toggle unit test: Unmount synchronously to cancel popover positioning. ([45726](https://github.com/WordPress/gutenberg/pull/45726))
215
- - React Native unit tests: Migrate getByA11yLabel usages. ([45454](https://github.com/WordPress/gutenberg/pull/45454))
216
- - Unit Tests: Rewrite ReactDOM.render usages to RTL. ([45453](https://github.com/WordPress/gutenberg/pull/45453))
217
- - E2E: Add site and widget editor supports for ensureSidebarOpened. ([45480](https://github.com/WordPress/gutenberg/pull/45480))
218
-
219
- #### Build Tooling
220
-
221
- - Include TS and JSX files to testing-library lint. ([45533](https://github.com/WordPress/gutenberg/pull/45533))
222
- - Remove use of `set-output` in workflows. ([45357](https://github.com/WordPress/gutenberg/pull/45357))
223
-
224
- #### Triage
225
-
226
- - Configure labels for GHA Dependabot PRs. ([45516](https://github.com/WordPress/gutenberg/pull/45516))
227
-
228
- ## First time contributors
229
-
230
- The following PRs were merged by first time contributors:
231
-
232
- - @edanzer: Template Part Block: Update block isActive method. ([45672](https://github.com/WordPress/gutenberg/pull/45672))
233
- - @TimBroddin: Fix alignment of create new post link. ([45638](https://github.com/WordPress/gutenberg/pull/45638))
234
- - @wojtekn: Make Author block selector to display all users instead of just 10. ([45640](https://github.com/WordPress/gutenberg/pull/45640))
235
-
236
 
237
  ## Contributors
238
 
239
  The following contributors merged PRs in this release:
240
 
241
- @aaronrobertshaw @afercia @andrewserong @bph @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @Copons @DaisyOlsen @desrosj @dinhtungdu @draganescu @dsas @edanzer @ellatrix @enejb @flootr @getdave @glendaviesnz @hz-tyfoon @jasmussen @javierarce @jffng @jonathanbossenger @jorgefilipecosta @jsnajdr @juanmaguitar @juhi123 @kevin940726 @Mamaduka @matiasbenedetto @mikachan @mirka @mmtr @mtias @ndiego @nielslange @noisysocks @ntsekouras @peterwilsoncc @ramonjd @ryelle @scruffian @spacedmonkey @t-hamano @TimBroddin @tyxla @vcanales @walbo @wojtekn @youknowriad @yuliyan
242
-
243
 
244
 
245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  = 14.5.4 =
247
 
248
  ## Changelog
1
  == Changelog ==
2
 
3
+ = 14.6.1 =
4
 
5
  ## Changelog
6
 
7
+ ### Fixes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  #### Global Styles
10
+ - Fix the `upgrader_process_complete` hook for `wp_theme_has_theme_json`. ([45881](https://github.com/WordPress/gutenberg/pull/45881))
11
+ - Update `wp_theme_has_theme_json` to use `WP_Object_Cache`. ([45543](https://github.com/WordPress/gutenberg/pull/45543))
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  ### Bug Fixes
14
+ - Tag Processor: Prevent bugs from pre-PHP8 strspn/strcspn behavior. ([45822](https://github.com/WordPress/gutenberg/pull/45822))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  ## Contributors
17
 
18
  The following contributors merged PRs in this release:
19
 
20
+ @oandregal @dmsnell
 
21
 
22
 
23
 
24
+ = 14.6.0 =
25
+
26
+ ## Changelog
27
+
28
+ ### Enhancements
29
+
30
+ #### Block Library
31
+
32
+ - Latest posts: Add color support. ([41874](https://github.com/WordPress/gutenberg/pull/41874))
33
+ - Latest posts and latest comments: Add spacing support. ([45110](https://github.com/WordPress/gutenberg/pull/45110))
34
+ - Navigation: Adds a list view. ([45546](https://github.com/WordPress/gutenberg/pull/45546))
35
+ - Navigation: Add a new ManageMenusButton component. ([45782](https://github.com/WordPress/gutenberg/pull/45782))
36
+ - Navigation: Reposition the navigation selector. ([45555](https://github.com/WordPress/gutenberg/pull/45555))
37
+ - Navigation Link: Add the URL field to the Navigation Link inspector controls. ([45751](https://github.com/WordPress/gutenberg/pull/45751))
38
+ - Author: Make the Author selector display all users instead of just 10. ([45640](https://github.com/WordPress/gutenberg/pull/45640))
39
+ - Columns: Add transform to unwrap the contents. ([45666](https://github.com/WordPress/gutenberg/pull/45666))
40
+ - Read More: Add aria-label and screen reader text. ([45490](https://github.com/WordPress/gutenberg/pull/45490))
41
+ - Group: Use a variation picker in the placeholder. ([43496](https://github.com/WordPress/gutenberg/pull/43496))
42
+
43
+ #### Components
44
+
45
+ - Use new theming accent color in all components. ([45289](https://github.com/WordPress/gutenberg/pull/45289))
46
+ - CheckboxControl: Replace margin overrides with new opt-in prop. ([45434](https://github.com/WordPress/gutenberg/pull/45434))
47
+ - FocalPointPicker: Update the design of the focal point handle. ([45053](https://github.com/WordPress/gutenberg/pull/45053))
48
+ - FontSizePicker: Update hint text to match the design. ([44966](https://github.com/WordPress/gutenberg/pull/44966))
49
+ - CheckboxControl: Move icons out of labels. ([45535](https://github.com/WordPress/gutenberg/pull/45535))
50
+
51
+ #### Block Editor
52
+
53
+ - Converts paragraphs to headings with keyboard shortcuts. ([44681](https://github.com/WordPress/gutenberg/pull/44681))
54
+ - Restore the empty paragraph inserter. ([45542](https://github.com/WordPress/gutenberg/pull/45542))
55
+ - Transform: Select all blocks if the result has more than one block. ([45015](https://github.com/WordPress/gutenberg/pull/45015))
56
+ - Content-only locked patterns: Move "Modify" to the ellipsis menu. ([45391](https://github.com/WordPress/gutenberg/pull/45391))
57
+ - Patterns: Adjust the space in the pattern explorer list. ([45730](https://github.com/WordPress/gutenberg/pull/45730))
58
+ - Update: Lock icon to outline. ([45645](https://github.com/WordPress/gutenberg/pull/45645))
59
+ - Don't use capital case for 'Distraction free' strings. ([45538](https://github.com/WordPress/gutenberg/pull/45538))
60
+ - Replace Justification/Orientation controls with ToggleGroupControl. ([45637](https://github.com/WordPress/gutenberg/pull/45637))
61
+
62
+ #### Site Editor
63
+
64
+ - Replace FSE with Site Editor. ([45699](https://github.com/WordPress/gutenberg/pull/45699))
65
+
66
+ #### Design Tools
67
+
68
+ - Add a minHeight block support under dimensions. ([45300](https://github.com/WordPress/gutenberg/pull/45300))
69
+ - Hide the block toolbar when the spacing visualizer is showing. ([45131](https://github.com/WordPress/gutenberg/pull/45131))
70
+
71
+ #### Global Styles
72
+
73
+ - Elements: Add a text decoration control to link elements. ([45643](https://github.com/WordPress/gutenberg/pull/45643))
74
+ - Global styles: Convert preset font size values to CSS vars. ([44967](https://github.com/WordPress/gutenberg/pull/44967))
75
+ - Fluid typography: Adjust font size min and max rules. ([45536](https://github.com/WordPress/gutenberg/pull/45536))
76
+ - Try generating random color palettes. ([40988](https://github.com/WordPress/gutenberg/pull/40988))
77
+
78
+ #### Plugin
79
+
80
+ - Updates tested up to version to 6.1. ([45630](https://github.com/WordPress/gutenberg/pull/45630))
81
+
82
+ #### Patterns
83
+
84
+ - Pattern Directory API: Add support for pagination parameters. ([45293](https://github.com/WordPress/gutenberg/pull/45293))
85
+ - Update bundled patterns compat directory. ([45620](https://github.com/WordPress/gutenberg/pull/45620))
86
+
87
+ ### Bug Fixes
88
+
89
+ #### Block Library
90
+
91
+ - Change the order of the pseudo-states in the pseudo-selectors array. ([45559](https://github.com/WordPress/gutenberg/pull/45559))
92
+ - Cover: Avoid content loss when the templateLock value is all or contentOnly. ([45632](https://github.com/WordPress/gutenberg/pull/45632))
93
+ - Fix alignment of create new post link. ([45638](https://github.com/WordPress/gutenberg/pull/45638))
94
+ - Fix navigation appender position to prevent obstructing its items. ([43530](https://github.com/WordPress/gutenberg/pull/43530))
95
+ - Fix: Button block text alignment. ([45663](https://github.com/WordPress/gutenberg/pull/45663))
96
+ - Query Pagination: Fix positioning of the next link in editor when the parent is selected. ([45651](https://github.com/WordPress/gutenberg/pull/45651))
97
+ - Site Logo: Use the correct home URL setting. ([45476](https://github.com/WordPress/gutenberg/pull/45476))
98
+ - Switch background color to text color on the block separator. ([44943](https://github.com/WordPress/gutenberg/pull/44943))
99
+ - Table Block: Apply borders and padding on both front end and editor. ([45069](https://github.com/WordPress/gutenberg/pull/45069))
100
+ - Table block: Fix error in margin value. ([45674](https://github.com/WordPress/gutenberg/pull/45674))
101
+ - Template Part Block: Update block isActive method. ([45672](https://github.com/WordPress/gutenberg/pull/45672))
102
+ - Navigation: Fix overflowing menu name in the navigation selector dropdown. ([45647](https://github.com/WordPress/gutenberg/pull/45647))
103
+
104
+ #### Accessibility
105
+
106
+ - Fix focus return when closing the Post publish panel. ([45623](https://github.com/WordPress/gutenberg/pull/45623))
107
+ - Fix navigate regions backwards for macOS Firefox and Safari. ([45019](https://github.com/WordPress/gutenberg/pull/45019))
108
+ - Fix the Save buttons labeling and tooltip. ([43952](https://github.com/WordPress/gutenberg/pull/43952))
109
+ - Fix the navigate regions focus style. ([45369](https://github.com/WordPress/gutenberg/pull/45369))
110
+ - Fix: Contrast checker appears unexpectedly on some blocks. ([45639](https://github.com/WordPress/gutenberg/pull/45639))
111
+ - Fix: Contrast checker does not update properly. ([45686](https://github.com/WordPress/gutenberg/pull/45686))
112
+
113
+ #### Components
114
+
115
+ - Autocomplete: Fix unexpected block insertion during IME composition. ([45510](https://github.com/WordPress/gutenberg/pull/45510))
116
+ - Fix ESLint warning for Dashicon. ([45795](https://github.com/WordPress/gutenberg/pull/45795))
117
+ - FormTokenField: Fix duplicate input in IME composition. ([45607](https://github.com/WordPress/gutenberg/pull/45607))
118
+ - Making size prop work for icon components using dash icon strings. ([45593](https://github.com/WordPress/gutenberg/pull/45593))
119
+ - ToolsPanel: Prevent calling deselect when panel remounts. ([45673](https://github.com/WordPress/gutenberg/pull/45673))
120
+ - Color Picker: Prevent all number fields to become 0 when one of them is an empty string. ([45649](https://github.com/WordPress/gutenberg/pull/45649))
121
+ - ToggleGroupControl: Only show the enclosing border when `isBlock`. ([45492](https://github.com/WordPress/gutenberg/pull/45492))
122
+ - Autocomplete: Check key events more strictly in IME composition. ([45626](https://github.com/WordPress/gutenberg/pull/45626))
123
+
124
+ #### CSS & Styling
125
+
126
+ - Inherit font from theme on overlay close button. ([45635](https://github.com/WordPress/gutenberg/pull/45635))
127
+ - Navigation: Fix font inheritance when using text menu button. ([45514](https://github.com/WordPress/gutenberg/pull/45514))
128
+ - Remove hover style to button on dark block tools UI. ([45653](https://github.com/WordPress/gutenberg/pull/45653))
129
+ - Remove width from block mover button focus style. ([45665](https://github.com/WordPress/gutenberg/pull/45665))
130
+ - Site editor hover/select: Fix double border. ([45589](https://github.com/WordPress/gutenberg/pull/45589))
131
+ - Remove duplicate output of existing classnames in layout classnames. ([45499](https://github.com/WordPress/gutenberg/pull/45499))
132
+
133
+ #### Post Editor
134
+
135
+ - BlockManagerCategory: Fix styles for indeterminate. ([45564](https://github.com/WordPress/gutenberg/pull/45564))
136
+ - Fix: Updated names from List View to Document Overview. ([45524](https://github.com/WordPress/gutenberg/pull/45524))
137
+ - Strip HTML from Post Title when pasting multiline title containing HTML. ([35825](https://github.com/WordPress/gutenberg/pull/35825))
138
+
139
+ #### Site Editor
140
+
141
+ - Decode entities in template title and description. ([45716](https://github.com/WordPress/gutenberg/pull/45716))
142
+ - Link to homeUrl from site editor view menu. ([45475](https://github.com/WordPress/gutenberg/pull/45475))
143
+
144
+ #### Block Editor
145
+
146
+ - Fix Link UI popover positioning when inspector control input is focused. ([45661](https://github.com/WordPress/gutenberg/pull/45661))
147
+ - Paste: Fix list only paste from Google documentation. ([45498](https://github.com/WordPress/gutenberg/pull/45498))
148
+ - Make Manage Reusable blocks match similar links. ([45641](https://github.com/WordPress/gutenberg/pull/45641))([45689](https://github.com/WordPress/gutenberg/pull/45689))
149
+ - List View: Disable branch expansion when block editing is locked. ([45541](https://github.com/WordPress/gutenberg/pull/45541))
150
+ - Spacing visualizer: Fix display of unexpected visualizer for certain mouse actions. ([45739](https://github.com/WordPress/gutenberg/pull/45739))
151
+
152
+ ### Experiments
153
+
154
+ - A list view duplicate for use in navigation list view experiment. ([45544](https://github.com/WordPress/gutenberg/pull/45544))
155
+ - Introduce experiment for inspector based navigation editing. ([45515](https://github.com/WordPress/gutenberg/pull/45515))
156
+
157
+ ### Documentation
158
+
159
+ - Add missing CHANGELOG entry. ([45691](https://github.com/WordPress/gutenberg/pull/45691))
160
+ - Change Title: How to use JavaScript with Gutenberg. ([45323](https://github.com/WordPress/gutenberg/pull/45323))
161
+ - Docs: Update the readme for the integration test fixtures. ([45581](https://github.com/WordPress/gutenberg/pull/45581))
162
+ - Summarize "Available commands" section and refer them it to `scripts` documentation. ([45636](https://github.com/WordPress/gutenberg/pull/45636))
163
+ - Update applying-styles-with-stylesheets.md. ([45604](https://github.com/WordPress/gutenberg/pull/45604))
164
+ - [create-block] Reorganized sections to provide a better learning experience of this package. ([45676](https://github.com/WordPress/gutenberg/pull/45676))
165
+ - Change "block style variations" references to "block style". ([45650](https://github.com/WordPress/gutenberg/pull/45650))
166
+
167
+ ### Performance
168
+
169
+ - Lodash: Refactor away from `_.reduce()`. ([45460](https://github.com/WordPress/gutenberg/pull/45460))
170
+ - Lodash: Refactor block editor away from `_.reduce()`. ([45455](https://github.com/WordPress/gutenberg/pull/45455))
171
+ - Lodash: Refactor blocks away from `_.reduce()`. ([45457](https://github.com/WordPress/gutenberg/pull/45457))
172
+ - Lodash: Refactor site editor away from `_.reduce()`. ([45459](https://github.com/WordPress/gutenberg/pull/45459))
173
+ - Lodash: Refactor post editor away from `_.reduce()`. ([45458](https://github.com/WordPress/gutenberg/pull/45458))
174
+ - Do not look for block variants, if not supporting block-templates. ([45362](https://github.com/WordPress/gutenberg/pull/45362))
175
+ - List: Disable nested list drop zone so dropping list items works. ([45321](https://github.com/WordPress/gutenberg/pull/45321))
176
+ - Use low-level cache for get_user_data_from_wp_global_styles. ([45634](https://github.com/WordPress/gutenberg/pull/45634))
177
+ - Update: Improve performance of block template object retrieval. ([45646](https://github.com/WordPress/gutenberg/pull/45646))
178
+
179
+ ### Code Quality
180
+
181
+ #### Block Editor
182
+
183
+ - Block Editor: Improve `LinkControl` tests. ([45609](https://github.com/WordPress/gutenberg/pull/45609))
184
+ - Block Editor: Improve `ResponsiveBlockControl` tests. ([45610](https://github.com/WordPress/gutenberg/pull/45610))
185
+ - Block Editor: Improve `ReusableBlocksTab` tests. ([45652](https://github.com/WordPress/gutenberg/pull/45652))
186
+ - LinkControl: Suppress errors on null values. ([45742](https://github.com/WordPress/gutenberg/pull/45742))
187
+ - Simplify ResizableEditor component. ([45578](https://github.com/WordPress/gutenberg/pull/45578))
188
+ - Remove duplicate colon. ([45763](https://github.com/WordPress/gutenberg/pull/45763))
189
+ - Extract the manage menus button to a shared component to reduce duplicate code. ([45769](https://github.com/WordPress/gutenberg/pull/45769))
190
+ - Backport pseudo selector comments from core. ([45619](https://github.com/WordPress/gutenberg/pull/45619))
191
+ - unstableSubscribeStore: Support store descriptors. ([45481](https://github.com/WordPress/gutenberg/pull/45481))
192
+
193
+ #### Components
194
+
195
+ - BaseField: Remove unnecessary `.firstChild` from tests. ([45687](https://github.com/WordPress/gutenberg/pull/45687))
196
+ - DateTime: Remove unused types. ([45615](https://github.com/WordPress/gutenberg/pull/45615))
197
+ - Draggable: Convert component to TypeScript. ([45471](https://github.com/WordPress/gutenberg/pull/45471))
198
+ - Fix `no-container` violations in `FormGroup` tests. ([45662](https://github.com/WordPress/gutenberg/pull/45662))
199
+ - Fix `testing-library/no-node-access` in `TreeGrid` tests. ([45554](https://github.com/WordPress/gutenberg/pull/45554))
200
+ - FontSizePicker: Use components instead of helper functions. ([44891](https://github.com/WordPress/gutenberg/pull/44891))
201
+ - Improve tests for `ToggleGroupControl`. ([45627](https://github.com/WordPress/gutenberg/pull/45627))
202
+ - MenuGroup: Convert component to TypeScript. ([45617](https://github.com/WordPress/gutenberg/pull/45617))
203
+ - Popover: Fix exhaustive-deps warning. ([45656](https://github.com/WordPress/gutenberg/pull/45656))
204
+ - Refactor `ItemGroup` to pass `exhaustive-deps`. ([45531](https://github.com/WordPress/gutenberg/pull/45531))
205
+ - Refactor `useFlex` to pass `exhaustive-deps`. ([45528](https://github.com/WordPress/gutenberg/pull/45528))
206
+ - Refactor `withNotices` to pass `exhaustive-deps`. ([45530](https://github.com/WordPress/gutenberg/pull/45530))
207
+ - Refactor`PaletteEditListView` to ignore `exhaustive-deps`. ([45467](https://github.com/WordPress/gutenberg/pull/45467))
208
+ - TabPanel: Fix the `exhaustive-deps` warning. ([45660](https://github.com/WordPress/gutenberg/pull/45660))
209
+ - ToolsPanel: Fix exhaustive-deps hook warning. ([45715](https://github.com/WordPress/gutenberg/pull/45715))
210
+ - Truncate: Remove unnecessary `.firstChild` from tests. ([45694](https://github.com/WordPress/gutenberg/pull/45694))
211
+ - View component: Rename index.js to index.ts. ([45667](https://github.com/WordPress/gutenberg/pull/45667))
212
+ - `ColorPalette`, `BorderBox`, `BorderBoxControl`: Polish and DRY prop types, add default values. ([45463](https://github.com/WordPress/gutenberg/pull/45463))
213
+ - `NavigatorScreen`: Satisfy `exhaustive-deps` eslint rule. ([45648](https://github.com/WordPress/gutenberg/pull/45648))
214
+ - Fix `useCx` story to satisfy `exhaustive-deps` eslint rule. ([45614](https://github.com/WordPress/gutenberg/pull/45614))
215
+ - URLPopover: Use new placement prop instead of legacy position prop. ([44391](https://github.com/WordPress/gutenberg/pull/44391))
216
+ - Tidy and minor refactor of Link UI code. ([37833](https://github.com/WordPress/gutenberg/pull/37833))
217
+
218
+ #### Block Library
219
+
220
+ - Avatar: Escape the 'get_author_posts_url()'. ([45427](https://github.com/WordPress/gutenberg/pull/45427))
221
+ - Button: Remove unnecessary 'useCallback'. ([45584](https://github.com/WordPress/gutenberg/pull/45584))
222
+ - Make unwrapping columns slighly more efficient. ([45684](https://github.com/WordPress/gutenberg/pull/45684))
223
+ - Simplfy handling of save of Nav block uncontrolled inner blocks. ([45517](https://github.com/WordPress/gutenberg/pull/45517))
224
+ - Lodash: Refactor block library away from `_.reduce()`. ([45456](https://github.com/WordPress/gutenberg/pull/45456))
225
+
226
+ ### Tools
227
+
228
+ #### Testing
229
+
230
+ - Components: Add `exhaustive-deps` eslint rule. ([41166](https://github.com/WordPress/gutenberg/pull/41166))
231
+ - Fix typos in Paragraph block end-to-end tests. ([45611](https://github.com/WordPress/gutenberg/pull/45611))
232
+ - FontSizePicker: Fix a buggy unit test. ([45529](https://github.com/WordPress/gutenberg/pull/45529))
233
+ - Ignore warnings for `window.wp` in Playwright. ([45598](https://github.com/WordPress/gutenberg/pull/45598))
234
+ - Migrate mentions tests to playwright. ([43064](https://github.com/WordPress/gutenberg/pull/43064))
235
+ - Navigation Toggle unit test: Unmount synchronously to cancel popover positioning. ([45726](https://github.com/WordPress/gutenberg/pull/45726))
236
+ - React Native unit tests: Migrate getByA11yLabel usages. ([45454](https://github.com/WordPress/gutenberg/pull/45454))
237
+ - Unit Tests: Rewrite ReactDOM.render usages to RTL. ([45453](https://github.com/WordPress/gutenberg/pull/45453))
238
+ - E2E: Add site and widget editor supports for ensureSidebarOpened. ([45480](https://github.com/WordPress/gutenberg/pull/45480))
239
+
240
+ #### Build Tooling
241
+
242
+ - Include TS and JSX files to testing-library lint. ([45533](https://github.com/WordPress/gutenberg/pull/45533))
243
+ - Remove use of `set-output` in workflows. ([45357](https://github.com/WordPress/gutenberg/pull/45357))
244
+
245
+ #### Triage
246
+
247
+ - Configure labels for GHA Dependabot PRs. ([45516](https://github.com/WordPress/gutenberg/pull/45516))
248
+
249
+ ## First time contributors
250
+
251
+ The following PRs were merged by first time contributors:
252
+
253
+ - @edanzer: Template Part Block: Update block isActive method. ([45672](https://github.com/WordPress/gutenberg/pull/45672))
254
+ - @TimBroddin: Fix alignment of create new post link. ([45638](https://github.com/WordPress/gutenberg/pull/45638))
255
+ - @wojtekn: Make Author block selector to display all users instead of just 10. ([45640](https://github.com/WordPress/gutenberg/pull/45640))
256
+
257
+
258
+ ## Contributors
259
+
260
+ The following contributors merged PRs in this release:
261
+
262
+ @aaronrobertshaw @afercia @andrewserong @bph @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @Copons @DaisyOlsen @desrosj @dinhtungdu @draganescu @dsas @edanzer @ellatrix @enejb @flootr @getdave @glendaviesnz @hz-tyfoon @jasmussen @javierarce @jffng @jonathanbossenger @jorgefilipecosta @jsnajdr @juanmaguitar @juhi123 @kevin940726 @Mamaduka @matiasbenedetto @mikachan @mirka @mmtr @mtias @ndiego @nielslange @noisysocks @ntsekouras @peterwilsoncc @ramonjd @ryelle @scruffian @spacedmonkey @t-hamano @TimBroddin @tyxla @vcanales @walbo @wojtekn @youknowriad @yuliyan
263
+
264
+
265
+
266
+
267
  = 14.5.4 =
268
 
269
  ## Changelog
gutenberg.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Printing since 1440. This is the development plugin for the new block editor in core.
6
  * Requires at least: 5.9
7
  * Requires PHP: 5.6
8
- * Version: 14.6.0
9
  * Author: Gutenberg Team
10
  * Text Domain: gutenberg
11
  *
@@ -13,8 +13,8 @@
13
  */
14
 
15
  ### BEGIN AUTO-GENERATED DEFINES
16
- define( 'GUTENBERG_VERSION', '14.6.0' );
17
- define( 'GUTENBERG_GIT_COMMIT', '4ede055b6f00222964a61e9e1dc965c73983a1ef' );
18
  ### END AUTO-GENERATED DEFINES
19
 
20
  gutenberg_pre_init();
5
  * Description: Printing since 1440. This is the development plugin for the new block editor in core.
6
  * Requires at least: 5.9
7
  * Requires PHP: 5.6
8
+ * Version: 14.6.1
9
  * Author: Gutenberg Team
10
  * Text Domain: gutenberg
11
  *
13
  */
14
 
15
  ### BEGIN AUTO-GENERATED DEFINES
16
+ define( 'GUTENBERG_VERSION', '14.6.1' );
17
+ define( 'GUTENBERG_GIT_COMMIT', '65a494b14dde3ce329377c84a63a4b0df09d7f59' );
18
  ### END AUTO-GENERATED DEFINES
19
 
20
  gutenberg_pre_init();
lib/compat/wordpress-6.2/default-filters.php CHANGED
@@ -17,11 +17,6 @@
17
  * @package gutenberg
18
  */
19
 
20
- /**
21
- * Note for backport: we should also remove the existing filters:
22
- *
23
- * > add_action( 'switch_theme', array( 'WP_Theme_JSON_Resolver', 'clean_cached_data' ) );
24
- * > add_action( 'start_previewing_theme', array( 'WP_Theme_JSON_Resolver', 'clean_cached_data' ) );
25
- */
26
- add_action( 'switch_theme', 'wp_theme_clean_theme_json_cached_data' );
27
- add_action( 'start_previewing_theme', 'wp_theme_clean_theme_json_cached_data' );
17
  * @package gutenberg
18
  */
19
 
20
+ add_action( 'switch_theme', 'wp_theme_has_theme_json_clean_cache' );
21
+ add_action( 'start_previewing_theme', 'wp_theme_has_theme_json_clean_cache' );
22
+ add_action( 'upgrader_process_complete', '_wp_theme_has_theme_json_clean_cache_upon_upgrading_active_theme', 10, 2 );
 
 
 
 
 
lib/compat/wordpress-6.2/get-global-styles-and-settings.php CHANGED
@@ -9,39 +9,69 @@ if ( ! function_exists( 'wp_theme_has_theme_json' ) ) {
9
  /**
10
  * Whether a theme or its parent have a theme.json file.
11
  *
12
- * @param boolean $clear_cache Whether the cache should be cleared and theme support recomputed. Default is false.
 
13
  *
14
  * @return boolean
15
  */
16
- function wp_theme_has_theme_json( $clear_cache = false ) {
17
- static $theme_has_support = null;
 
 
18
 
19
- if ( true === $clear_cache ) {
20
- $theme_has_support = null;
21
- }
22
-
23
- if ( null !== $theme_has_support ) {
24
- return $theme_has_support;
 
 
 
25
  }
26
 
27
  // Has the own theme a theme.json?
28
- $theme_has_support = is_readable( get_stylesheet_directory() . '/theme.json' );
29
 
30
  // Look up the parent if the child does not have a theme.json.
31
- if ( ! $theme_has_support ) {
32
- $theme_has_support = is_readable( get_template_directory() . '/theme.json' );
33
  }
34
 
35
- return $theme_has_support;
 
 
 
 
 
 
 
 
 
 
 
36
  }
37
  }
38
 
39
- if ( ! function_exists( 'wp_theme_clean_theme_json_cached_data' ) ) {
40
  /**
41
- * Clean theme.json related cached data.
 
 
 
 
 
 
 
42
  */
43
- function wp_theme_clean_theme_json_cached_data() {
44
- wp_theme_has_theme_json( true );
45
- WP_Theme_JSON_Resolver_Gutenberg::clean_cached_data();
 
 
 
 
 
 
46
  }
47
  }
9
  /**
10
  * Whether a theme or its parent have a theme.json file.
11
  *
12
+ * The result would be cached via the WP_Object_Cache.
13
+ * It can be cleared by calling wp_theme_has_theme_json_clean_cache().
14
  *
15
  * @return boolean
16
  */
17
+ function wp_theme_has_theme_json() {
18
+ $cache_group = 'theme_json';
19
+ $cache_key = 'wp_theme_has_theme_json';
20
+ $theme_has_support = wp_cache_get( $cache_key, $cache_group );
21
 
22
+ /**
23
+ * $theme_has_support is stored as a int in the cache.
24
+ *
25
+ * The reason not to store it as a boolean is to avoid working
26
+ * with the $found parameter which apparently had some issues in some implementations
27
+ * https://developer.wordpress.org/reference/functions/wp_cache_get/
28
+ */
29
+ if ( 0 === $theme_has_support || 1 === $theme_has_support ) {
30
+ return (bool) $theme_has_support;
31
  }
32
 
33
  // Has the own theme a theme.json?
34
+ $theme_has_support = is_readable( get_stylesheet_directory() . '/theme.json' ) ? 1 : 0;
35
 
36
  // Look up the parent if the child does not have a theme.json.
37
+ if ( 0 === $theme_has_support ) {
38
+ $theme_has_support = is_readable( get_template_directory() . '/theme.json' ) ? 1 : 0;
39
  }
40
 
41
+ wp_cache_set( $cache_key, $theme_has_support, $cache_group );
42
+
43
+ return (bool) $theme_has_support;
44
+ }
45
+ }
46
+
47
+ if ( ! function_exists( 'wp_theme_has_theme_json_clean_cache' ) ) {
48
+ /**
49
+ * Function to clean the cache used by wp_theme_has_theme_json method.
50
+ */
51
+ function wp_theme_has_theme_json_clean_cache() {
52
+ wp_cache_delete( 'wp_theme_has_theme_json', 'theme_json' );
53
  }
54
  }
55
 
56
+ if ( ! function_exists( '_wp_theme_has_theme_json_clean_cache_upon_upgrading_active_theme' ) ) {
57
  /**
58
+ * Private function to clean the cache used by wp_theme_has_theme_json method.
59
+ *
60
+ * It is hooked into the `upgrader_process_complete` action.
61
+ *
62
+ * @see default-filters.php
63
+ *
64
+ * @param WP_Upgrader $upgrader Instance of WP_Upgrader class.
65
+ * @param array $options Metadata that identifies the data that is updated.
66
  */
67
+ function _wp_theme_has_theme_json_clean_cache_upon_upgrading_active_theme( $upgrader, $options ) {
68
+ // The cache only needs cleaning when the active theme was updated.
69
+ if (
70
+ 'update' === $options['action'] &&
71
+ 'theme' === $options['type'] &&
72
+ ( isset( $options['themes'][ get_stylesheet() ] ) || isset( $options['themes'][ get_template() ] ) )
73
+ ) {
74
+ wp_theme_has_theme_json_clean_cache();
75
+ }
76
  }
77
  }
lib/experimental/html/class-wp-html-tag-processor.php CHANGED
@@ -397,6 +397,10 @@ class WP_HTML_Tag_Processor {
397
  $already_found = 0;
398
 
399
  do {
 
 
 
 
400
  /*
401
  * Unfortunately we can't try to search for only the tag name we want because that might
402
  * lead us to skip over other tags and lose track of our place. So we need to search for
@@ -419,10 +423,15 @@ class WP_HTML_Tag_Processor {
419
  if ( 's' === $t || 'S' === $t || 't' === $t || 'T' === $t ) {
420
  $tag_name = $this->get_tag();
421
 
422
- if ( 'SCRIPT' === $tag_name ) {
423
- $this->skip_script_data();
424
- } elseif ( 'TEXTAREA' === $tag_name || 'TITLE' === $tag_name ) {
425
- $this->skip_rcdata( $tag_name );
 
 
 
 
 
426
  }
427
  }
428
  } while ( $already_found < $this->sought_match_offset );
@@ -449,9 +458,9 @@ class WP_HTML_Tag_Processor {
449
  $at = strpos( $this->html, '</', $at );
450
 
451
  // If we have no possible tag closer then fail.
452
- if ( false === $at || ( $at + $tag_length ) > $doc_length ) {
453
  $this->parsed_bytes = $doc_length;
454
- return;
455
  }
456
 
457
  $at += 2;
@@ -488,10 +497,13 @@ class WP_HTML_Tag_Processor {
488
 
489
  $this->skip_tag_closer_attributes();
490
  $at = $this->parsed_bytes;
 
 
 
491
 
492
  if ( '>' === $html[ $at ] || '/' === $html[ $at ] ) {
493
  ++$this->parsed_bytes;
494
- return;
495
  }
496
  }
497
 
@@ -586,6 +598,9 @@ class WP_HTML_Tag_Processor {
586
  * We also have to make sure we terminate the script tag opener/closer
587
  * to avoid making partial matches on strings like `<script123`.
588
  */
 
 
 
589
  $at += 6;
590
  $c = $html[ $at ];
591
  if ( ' ' !== $c && "\t" !== $c && "\r" !== $c && "\n" !== $c && '/' !== $c && '>' !== $c ) {
@@ -607,9 +622,13 @@ class WP_HTML_Tag_Processor {
607
  $this->parsed_bytes = $at;
608
  $this->skip_tag_closer_attributes();
609
 
 
 
 
 
610
  if ( '>' === $html[ $this->parsed_bytes ] ) {
611
  ++$this->parsed_bytes;
612
- return;
613
  }
614
  }
615
 
@@ -658,6 +677,13 @@ class WP_HTML_Tag_Processor {
658
  return true;
659
  }
660
 
 
 
 
 
 
 
 
661
  // <! transitions to markup declaration open state
662
  // https://html.spec.whatwg.org/multipage/parsing.html#markup-declaration-open-state
663
  if ( '!' === $html[ $at + 1 ] ) {
@@ -782,6 +808,9 @@ class WP_HTML_Tag_Processor {
782
  private function parse_next_attribute( $context = 'tag-opener' ) {
783
  // Skip whitespace and slashes.
784
  $this->parsed_bytes += strspn( $this->html, " \t\f\r\n/", $this->parsed_bytes );
 
 
 
785
 
786
  /*
787
  * Treat the equal sign ("=") as a part of the attribute name if it is the
@@ -793,20 +822,29 @@ class WP_HTML_Tag_Processor {
793
  : strcspn( $this->html, "=/> \t\f\r\n", $this->parsed_bytes );
794
 
795
  // No attribute, just tag closer.
796
- if ( 0 === $name_length ) {
797
  return false;
798
  }
799
 
800
  $attribute_start = $this->parsed_bytes;
801
  $attribute_name = substr( $this->html, $attribute_start, $name_length );
802
  $this->parsed_bytes += $name_length;
 
 
 
803
 
804
  $this->skip_whitespace();
 
 
 
805
 
806
  $has_value = '=' === $this->html[ $this->parsed_bytes ];
807
  if ( $has_value ) {
808
  ++$this->parsed_bytes;
809
  $this->skip_whitespace();
 
 
 
810
 
811
  switch ( $this->html[ $this->parsed_bytes ] ) {
812
  case "'":
@@ -830,6 +868,10 @@ class WP_HTML_Tag_Processor {
830
  $attribute_end = $attribute_start + $name_length;
831
  }
832
 
 
 
 
 
833
  if ( 'tag-opener' !== $context ) {
834
  return true;
835
  }
397
  $already_found = 0;
398
 
399
  do {
400
+ if ( $this->parsed_bytes >= strlen( $this->html ) ) {
401
+ return false;
402
+ }
403
+
404
  /*
405
  * Unfortunately we can't try to search for only the tag name we want because that might
406
  * lead us to skip over other tags and lose track of our place. So we need to search for
423
  if ( 's' === $t || 'S' === $t || 't' === $t || 'T' === $t ) {
424
  $tag_name = $this->get_tag();
425
 
426
+ if ( 'SCRIPT' === $tag_name && ! $this->skip_script_data() ) {
427
+ $this->parsed_bytes = strlen( $this->html );
428
+ return false;
429
+ } elseif (
430
+ ( 'TEXTAREA' === $tag_name || 'TITLE' === $tag_name ) &&
431
+ ! $this->skip_rcdata( $tag_name )
432
+ ) {
433
+ $this->parsed_bytes = strlen( $this->html );
434
+ return false;
435
  }
436
  }
437
  } while ( $already_found < $this->sought_match_offset );
458
  $at = strpos( $this->html, '</', $at );
459
 
460
  // If we have no possible tag closer then fail.
461
+ if ( false === $at || ( $at + $tag_length ) >= $doc_length ) {
462
  $this->parsed_bytes = $doc_length;
463
+ return false;
464
  }
465
 
466
  $at += 2;
497
 
498
  $this->skip_tag_closer_attributes();
499
  $at = $this->parsed_bytes;
500
+ if ( $at >= strlen( $this->html ) ) {
501
+ return false;
502
+ }
503
 
504
  if ( '>' === $html[ $at ] || '/' === $html[ $at ] ) {
505
  ++$this->parsed_bytes;
506
+ return true;
507
  }
508
  }
509
 
598
  * We also have to make sure we terminate the script tag opener/closer
599
  * to avoid making partial matches on strings like `<script123`.
600
  */
601
+ if ( $at + 6 >= $doc_length ) {
602
+ continue;
603
+ }
604
  $at += 6;
605
  $c = $html[ $at ];
606
  if ( ' ' !== $c && "\t" !== $c && "\r" !== $c && "\n" !== $c && '/' !== $c && '>' !== $c ) {
622
  $this->parsed_bytes = $at;
623
  $this->skip_tag_closer_attributes();
624
 
625
+ if ( $this->parsed_bytes >= $doc_length ) {
626
+ return false;
627
+ }
628
+
629
  if ( '>' === $html[ $this->parsed_bytes ] ) {
630
  ++$this->parsed_bytes;
631
+ return true;
632
  }
633
  }
634
 
677
  return true;
678
  }
679
 
680
+ // If we didn't find a tag opener, and we can't be
681
+ // transitioning into different markup states, then
682
+ // we can abort because there aren't any more tags.
683
+ if ( $at + 1 >= strlen( $html ) ) {
684
+ return false;
685
+ }
686
+
687
  // <! transitions to markup declaration open state
688
  // https://html.spec.whatwg.org/multipage/parsing.html#markup-declaration-open-state
689
  if ( '!' === $html[ $at + 1 ] ) {
808
  private function parse_next_attribute( $context = 'tag-opener' ) {
809
  // Skip whitespace and slashes.
810
  $this->parsed_bytes += strspn( $this->html, " \t\f\r\n/", $this->parsed_bytes );
811
+ if ( $this->parsed_bytes >= strlen( $this->html ) ) {
812
+ return false;
813
+ }
814
 
815
  /*
816
  * Treat the equal sign ("=") as a part of the attribute name if it is the
822
  : strcspn( $this->html, "=/> \t\f\r\n", $this->parsed_bytes );
823
 
824
  // No attribute, just tag closer.
825
+ if ( 0 === $name_length || $this->parsed_bytes + $name_length >= strlen( $this->html ) ) {
826
  return false;
827
  }
828
 
829
  $attribute_start = $this->parsed_bytes;
830
  $attribute_name = substr( $this->html, $attribute_start, $name_length );
831
  $this->parsed_bytes += $name_length;
832
+ if ( $this->parsed_bytes >= strlen( $this->html ) ) {
833
+ return false;
834
+ }
835
 
836
  $this->skip_whitespace();
837
+ if ( $this->parsed_bytes >= strlen( $this->html ) ) {
838
+ return false;
839
+ }
840
 
841
  $has_value = '=' === $this->html[ $this->parsed_bytes ];
842
  if ( $has_value ) {
843
  ++$this->parsed_bytes;
844
  $this->skip_whitespace();
845
+ if ( $this->parsed_bytes >= strlen( $this->html ) ) {
846
+ return false;
847
+ }
848
 
849
  switch ( $this->html[ $this->parsed_bytes ] ) {
850
  case "'":
868
  $attribute_end = $attribute_start + $name_length;
869
  }
870
 
871
+ if ( $attribute_end >= strlen( $this->html ) ) {
872
+ return false;
873
+ }
874
+
875
  if ( 'tag-opener' !== $context ) {
876
  return true;
877
  }
readme.txt CHANGED
@@ -1,7 +1,7 @@
1
  === Gutenberg ===
2
  Contributors: matveb, joen, karmatosed
3
  Tested up to: 6.1
4
- Stable tag: 14.5.4
5
  License: GPLv2 or later
6
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
7
 
1
  === Gutenberg ===
2
  Contributors: matveb, joen, karmatosed
3
  Tested up to: 6.1
4
+ Stable tag: 14.6.0
5
  License: GPLv2 or later
6
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
7