WordPress Release: 6.3.2
Tag Name: 6.3.2
Release Date: 10/12/2023
WordPressWorld's most popular open-source content management system powering over 40% of all websites. Offers extensive plugin ecosystem, themes, and robust community support for blogs, e-commerce, and corporate websites. Highly customizable and scalable platform suitable for beginners and advanced developers.
TL;DR
WordPress 6.3.2 is a security and maintenance release that addresses several critical security vulnerabilities and fixes numerous bugs affecting performance, theme compatibility, and core functionality. This update includes important security patches for the REST API, application passwords, and comment visibility, along with performance improvements for page queries and block theme rendering. The release also resolves issues with block styles on Windows systems, fluid typography calculations, and plugin compatibility checks during bulk upgrades.
Highlight of the Release
- Critical security fixes for REST API, application passwords, and comment visibility
- Performance improvements for page queries and block theme rendering
- Fixed plugin compatibility checks during bulk upgrades
- Resolved issues with block styles on Windows systems
- Enhanced HTML Tag Processor to properly handle RAWTEXT elements and duplicate attributes
Migration Guide
for WordPress 6.3.2
This is primarily a security and maintenance release with no breaking changes that would require specific migration steps. However, developers should be aware of the following changes:
For Plugin Developers
If your plugin relies on the behavior of get_pages(), note that this function has been optimized to avoid redundant SQL queries. The sort ordering by post_modified_gmt or modified_gmt has been reinstated, but you should test your plugin if it heavily depends on this function.
For Theme Developers
-
Block Style Caching: The caching strategy for core block styles has changed. If your theme interacts with core block styles, test thoroughly to ensure compatibility.
-
Child Theme Asset Loading: If you develop child themes where the directory name starts with the parent theme's directory name, asset loading has been fixed. Review your theme to ensure it works correctly with this change.
-
Twenty Twenty Theme: If you've built upon the Twenty Twenty theme, note that
twentytwenty_block_editor_styles()now uses theenqueue_block_assetshook instead ofenqueue_block_editor_assetsfor WordPress 6.3 and later.
For Site Administrators
No specific migration steps are required. However, after updating to WordPress 6.3.2, it's recommended to:
- Test your site thoroughly, especially if you use custom themes or plugins
- Review any custom code that might interact with the HTML Tag Processor
- Check that your plugins update correctly with the new compatibility checks
Upgrade Recommendations
Immediate upgrade is strongly recommended for all WordPress sites.
WordPress 6.3.2 contains critical security fixes that address multiple vulnerabilities in the REST API, application passwords, comment visibility, and other core components. These security issues could potentially be exploited if left unpatched.
In addition to the security improvements, this release includes important bug fixes for performance issues, theme compatibility problems, and core functionality. The update addresses issues that affect:
- Page query performance
- Block theme rendering
- Plugin compatibility checks during upgrades
- Block styles on Windows systems
- Fluid typography calculations
The upgrade process should be straightforward as this is a maintenance release with no breaking changes. As always, it's recommended to:
- Back up your website before updating
- Update all themes and plugins to their latest versions
- Test your site functionality after the update
For managed WordPress hosting customers, many providers will automatically apply this security update. Check with your hosting provider if you're unsure about your update status.
Bug Fixes
Performance and Query Improvements
- Avoided redundant SQL queries in
get_pages()by passing query arguments directly to theWP_Query::query()method rather than to the constructor and calling get_posts() - Reinstated missing sort_column options in
get_pages()that broke sort ordering bypost_modified_gmtormodified_gmt - Fixed stale caches for core block styles by modifying the caching strategy to store paths relative to the blocks location rather than full paths, and including the WordPress version value to ensure rebuilding when versions change
- Fixed core block style paths on Windows by normalizing the
BLOCKS_PATHfor Windows prior to making paths relative for caches
Theme and Editor Fixes
- Fixed loading of assets in blocks in child themes where the directory name starts with the parent theme's directory name
- Prevented fatal errors when previewing block themes by ensuring that preview callbacks attached to the
stylesheetandtemplatefilters do not run beforepluggable.phphas been included - Fixed fluid typography calculation to use fallback value if layout wide size is a fluid value
- Preserved block style variations when securing theme by adding the ability to process block style variations to the
remove_insecure_propertiesfunction of theme JSON class - Fixed style issues within iframed editor for Twenty Twenty theme by replacing
bodywithhtmlfor CSS selectors and movingtwentytwenty_block_editor_styles()fromenqueue_block_editor_assetstoenqueue_block_assets - Added ability to trash draft patterns by adding
delete_poststo capabilities for thewp_blockpost type
HTML API and Technical Fixes
- Improved Tag Processor to skip over contents of RAWTEXT elements such as STYLE tags
- Fixed attribute removal in Tag Processor to remove all duplicate copies of an attribute when removing
- Fixed broken
sprintf()call when deleting a backup inWP_Upgrader::delete_temp_backup()that triggered a Warning in PHP 7 and a Fatal Error in PHP 8 - Added
sys_get_temp_dir()toopen_basedirtests to ensure permission is granted for the temporary directory in PHPUnit tests
New Features
Enhanced Plugin Compatibility Checks
WordPress 6.3.2 introduces improved plugin compatibility checks during bulk upgrades. The system now verifies that plugin packages are compatible with both the site's WordPress version and the server's PHP version before installation. This prevents incompatible updates from being installed, which could cause various compatibility issues and errors.
The new process implements two levels of checks:
- First, it checks the API response's
requiresandrequires_phpvalues for compatibility before downloading - If the API check passes, it verifies the downloaded package using
Plugin_Upgrader::check_package()to ensure compatibility based on the plugin's "RequiresWP" and "RequiresPHP" headers
This enhancement saves time, disk space, memory, and file operations by failing incompatible upgrades early in the process.
Security Updates
Critical Security Fixes
WordPress 6.3.2 includes several important security fixes:
-
REST API Vulnerabilities
- Limited
search_columnsfor users withoutlist_userscapability to prevent unauthorized access to user data - Ensured no-cache headers are sent when methods are overridden to prevent caching of sensitive data
- Limited
-
Object Unserialization Protection
- Added protection against unintended behavior when certain objects are unserialized, preventing potential object injection attacks
-
Comment Visibility Controls
- Prevented users who cannot see a post from seeing comments on that post, ensuring proper access control
-
Application Password Security
- Prevented the use of certain pseudo protocols in application passwords to block potential security bypasses
-
Media Shortcode Protection
- Restricted ajax handler for media shortcode to prevent unauthorized access
-
Footnotes Display Hardening
- Enhanced security for the display of footnotes in the editor to prevent potential XSS vulnerabilities
Performance Improvements
Query Performance Optimization
WordPress 6.3.2 includes significant performance improvements for page queries by avoiding redundant SQL operations:
- Optimized
get_pages()function to avoid an additional database query by passing query arguments directly to theWP_Query::query()method rather than to the constructor and calling get_posts() - Improved caching strategy for core block styles to avoid expensive file operations on every page load by storing paths relative to the blocks location rather than full paths
Build Tool Improvements
- Enhanced Grunt watch process to avoid doing
copy:dynamicwhen runninggrunt watchwith the--devoption, preventing erroneously copying a file from source onto itself - Restored automatically retrying failed E2E tests once in GitHub Actions workflows, helping to resolve timeout issues without human intervention
Impact Summary
WordPress 6.3.2 is a significant security and maintenance release that addresses multiple critical security vulnerabilities while also fixing important bugs and performance issues.
The security improvements are substantial, with patches for REST API vulnerabilities, application password restrictions, comment visibility controls, and protection against object unserialization attacks. These fixes close potential security holes that could be exploited by malicious actors.
Performance enhancements focus on optimizing page queries by avoiding redundant SQL operations and improving the caching strategy for core block styles. These changes should result in better performance, especially for sites with many pages.
Bug fixes address a wide range of issues affecting theme compatibility, block editor functionality, and core WordPress features. Notable improvements include fixing plugin compatibility checks during bulk upgrades, resolving issues with block styles on Windows systems, and enhancing the HTML Tag Processor to properly handle RAWTEXT elements and duplicate attributes.
For developers, the release includes important fixes for the HTML API, improvements to the handling of block style variations, and better support for child themes. Content creators will benefit from fixes to the block editor experience, including the ability to trash draft patterns and improved fluid typography calculations.
Overall, this release strengthens WordPress's security posture while improving stability, performance, and compatibility across different environments and use cases. The immediate impact should be positive for all WordPress users, with no breaking changes that would disrupt existing sites.
Statistics:
User Affected:
- Enhanced security with patches for REST API vulnerabilities, application password restrictions, and improved comment visibility controls
- Improved plugin bulk upgrade process with compatibility checks for WordPress and PHP versions
- Fixed issue with temporary backup deletion that could cause warnings in PHP 7 or fatal errors in PHP 8
