diff --git a/changelog.txt b/changelog.txt index a6f0eca56b00..e475913fd054 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,199 @@ == Changelog == += 8.7.0 2024-03-01 = + +**WooCommerce** + +* Fix - Product Editor pages do not pass global settings into Editor. Product Editor is responsible for loading settings itself. [#45490](https://github.com/woocommerce/woocommerce/pull/45490) +* Fix - Fix issue where no text would be displayed if no shipping methods are available in the cart/checkout [#45249](https://github.com/woocommerce/woocommerce/pull/45249) +* Fix - Products Stock Indicator and Sale Badge: prevent fatal when block were used in a homepage [#45135](https://github.com/woocommerce/woocommerce/pull/45135) +* Fix - Fix LegacyProxy::get_instance_of throwing an error when trying to get an instance of a non-Woo namespaced class. [#45178](https://github.com/woocommerce/woocommerce/pull/45178) +* Fix - "Hero product chessboard" pattern: remove placeholder and update margins. [#44553](https://github.com/woocommerce/woocommerce/pull/44553) +* Fix - Add checks and filters to the product_page shortcode. [#44666](https://github.com/woocommerce/woocommerce/pull/44666) +* Fix - Adds a nonce check to the HPOS order sync tool. [#44667](https://github.com/woocommerce/woocommerce/pull/44667) +* Fix - Avoid duplicate templates appearing on the Site Editor when the WooCommerce template and the theme template have been customized by the user [#44000](https://github.com/woocommerce/woocommerce/pull/44000) +* Fix - Core - CYS: fix fonts not loaded on the font picker iframes [#44586](https://github.com/woocommerce/woocommerce/pull/44586) +* Fix - Core - CYS: fix Inter font not applied. [#44544](https://github.com/woocommerce/woocommerce/pull/44544) +* Fix - Corrects references for WC_API_Server. It was all uppercase. [#37054](https://github.com/woocommerce/woocommerce/pull/37054) +* Fix - CYS - Core: Ensure that the Bodoni font is loaded [#44464](https://github.com/woocommerce/woocommerce/pull/44464) +* Fix - CYS - Core: ensure that the the default font pair and color pair are selected. [#44309](https://github.com/woocommerce/woocommerce/pull/44309) +* Fix - CYS - Core: fix fonts not loaded after the setup [#44550](https://github.com/woocommerce/woocommerce/pull/44550) +* Fix - CYS - Core: install fonts only when the tracking is enabled [#44558](https://github.com/woocommerce/woocommerce/pull/44558) +* Fix - CYS - Ensure the size of fonts is not affected by a font family change. [#44424](https://github.com/woocommerce/woocommerce/pull/44424) +* Fix - CYS - Fix button typhography for the "Montserrat + Arvo" and "Commissioner + Crimson Pro" font pairings. [#44458](https://github.com/woocommerce/woocommerce/pull/44458) +* Fix - CYS - Update pattern image to have a better resolution [#44611](https://github.com/woocommerce/woocommerce/pull/44611) +* Fix - Ensure a consistent border style is applied to combobox suggestions and the main input. [#44183](https://github.com/woocommerce/woocommerce/pull/44183) +* Fix - Ensure all customers have a session when visiting the order pay page. [#43858](https://github.com/woocommerce/woocommerce/pull/43858) +* Fix - Ensure proper handling of product-related taxonomies in the Product Collection block [#44230](https://github.com/woocommerce/woocommerce/pull/44230) +* Fix - Ensure that no undefined index warnings are thrown while parsing the backtrace to determine a log's source [#44486](https://github.com/woocommerce/woocommerce/pull/44486) +* Fix - Ensure WC admin functions are defined before attempting to add notices. [#44114](https://github.com/woocommerce/woocommerce/pull/44114) +* Fix - Fix - Add back the parent machine to the `designWithNoAiStateMachineDefinition` child machine option. [#44397](https://github.com/woocommerce/woocommerce/pull/44397) +* Fix - Fix a possible fatal exception setting a duplicate asset registry key `needsRefreshForInteractivityAPI` [#44808](https://github.com/woocommerce/woocommerce/pull/44808) +* Fix - Fix default shipping method selection after rate changes. [#44117](https://github.com/woocommerce/woocommerce/pull/44117) +* Fix - Fix deprecation notices for legacy order item keys. [#44362](https://github.com/woocommerce/woocommerce/pull/44362) +* Fix - Fixed a bug affecting registration during checkout that would prevent a new user from logging in. [#43777](https://github.com/woocommerce/woocommerce/pull/43777) +* Fix - Fixed a bug where express payment methods could not be removed from the wc/store/payment data store. [#44633](https://github.com/woocommerce/woocommerce/pull/44633) +* Fix - Fixed coupon errors with coupon codes containing apostrophes. [#40998](https://github.com/woocommerce/woocommerce/pull/40998) +* Fix - fix fatal string to array conversion error in get_full_size_image_dimensions [#40395](https://github.com/woocommerce/woocommerce/pull/40395) +* Fix - Fix for the dependency injection container resolution by tag [#44496](https://github.com/woocommerce/woocommerce/pull/44496) +* Fix - Fix orders being attributed to Web Admin incorrectly in certain cases. [#44219](https://github.com/woocommerce/woocommerce/pull/44219) +* Fix - Fix overlay sizing issue with the Product Gallery Pop-Up. [#44479](https://github.com/woocommerce/woocommerce/pull/44479) +* Fix - Fix pre-publish modal styles #44562 [#44562](https://github.com/woocommerce/woocommerce/pull/44562) +* Fix - Fix refund props not updating properly with HPOS [#44214](https://github.com/woocommerce/woocommerce/pull/44214) +* Fix - Fix regression (and inconsistency) in the way the session handler references its database table. [#44517](https://github.com/woocommerce/woocommerce/pull/44517) +* Fix - Fix SVG markup in miniCartIcon [#44042](https://github.com/woocommerce/woocommerce/pull/44042) +* Fix - Fix the missing AI status when reloading the CYS transitional page. [#44121](https://github.com/woocommerce/woocommerce/pull/44121) +* Fix - Fix the REST API controllers registration [#44833](https://github.com/woocommerce/woocommerce/pull/44833) +* Fix - Fix the Site Editor showing the template slug instead of the template title when saving a WooCommerce block template customized by the theme. [#44254](https://github.com/woocommerce/woocommerce/pull/44254) +* Fix - Fix untranslated "Are you already selling somewhere else?" text in the product task [#44763](https://github.com/woocommerce/woocommerce/pull/44763) +* Fix - Focus return to the trigger element when closing the Product Gallery Pop-Up [#44414](https://github.com/woocommerce/woocommerce/pull/44414) +* Fix - HPOS: fix handling order meta containing nonexistent class when sync is on. [#43517](https://github.com/woocommerce/woocommerce/pull/43517) +* Fix - Prevent script caching by using the WC core version to hash Interactivity API assets instead of old WC Blocks version [#44806](https://github.com/woocommerce/woocommerce/pull/44806) +* Fix - Prevent `wc_get_chosen_shipping_method_ids` from causing fatal errors if chosen methods are not strings. [#43869](https://github.com/woocommerce/woocommerce/pull/43869) +* Fix - Product Collection: fix incorrect product data being displayed when Product Collection is placed in Single Product block [#44123](https://github.com/woocommerce/woocommerce/pull/44123) +* Fix - Product Collection: fix minor UI glitches in editor [#44403](https://github.com/woocommerce/woocommerce/pull/44403) +* Fix - Product Editor loading state now shows until form is displayed. No more blank flash of white. [#43840](https://github.com/woocommerce/woocommerce/pull/43840) +* Fix - Product Image block: show the setting to control the imageSizing attribute and add the attribute to the Product Catalog and Product Search Results templates. [#44691](https://github.com/woocommerce/woocommerce/pull/44691) +* Fix - Remove double reporting from daily runs [#44592](https://github.com/woocommerce/woocommerce/pull/44592) +* Fix - Remove override of /jetpack/v4/connection/data that was added as a workaround to fix issues with the mobile apps. [#44390](https://github.com/woocommerce/woocommerce/pull/44390) +* Fix - Remove property type hints in TransientFilesEngine and ReceiptRenderingEngine [#44829](https://github.com/woocommerce/woocommerce/pull/44829) +* Fix - Removes the ability to test if arbitrary files exist on a server through the product editor's downloadable files UI. [#44665](https://github.com/woocommerce/woocommerce/pull/44665) +* Fix - Restrict the Number of Thumbnails setting from the Product Gallery block to integer values [#44282](https://github.com/woocommerce/woocommerce/pull/44282) +* Fix - Translations for the new Product Editor are now loaded. [#44520](https://github.com/woocommerce/woocommerce/pull/44520) +* Fix - Updates REST API V1 (though it generally should no longer be used) to prevent the emission of various deprecation notices. [#44741](https://github.com/woocommerce/woocommerce/pull/44741) +* Fix - Update `get_shipping_countries` to return an empty list of countries when shipping is disabled. [#44034](https://github.com/woocommerce/woocommerce/pull/44034) +* Fix - [CYS - Core]: Before installing the fonts, ensure that the font library is available [#44358](https://github.com/woocommerce/woocommerce/pull/44358) +* Fix - [CYS- Core] Improve the default palette. [#44722](https://github.com/woocommerce/woocommerce/pull/44722) +* Fix - [Experimental] Fix a bug where the editor for attribute selector would flicker and re-render constantly. [#44147](https://github.com/woocommerce/woocommerce/pull/44147) +* Fix - [Experimental] Fix the style of chip for new active filter block. [#44682](https://github.com/woocommerce/woocommerce/pull/44682) +* Add - Add a filter to allow preventing an expired log file from being deleted [#44380](https://github.com/woocommerce/woocommerce/pull/44380) +* Add - Add a new remote variant for random distribution of cohort assignment. [#44786](https://github.com/woocommerce/woocommerce/pull/44786) +* Add - Add details about the logging configuration to the System Status Report [#44106](https://github.com/woocommerce/woocommerce/pull/44106) +* Add - Added the selected collection name in the product collection block context [#43247](https://github.com/woocommerce/woocommerce/pull/43247) +* Add - Add focus trapping within the Product Gallery Pop-Up to enhance keyboard navigation and accessibility. [#44439](https://github.com/woocommerce/woocommerce/pull/44439) +* Add - Add functionality to navigate between Product Gallery image thumbnails with the keyboard. [#44236](https://github.com/woocommerce/woocommerce/pull/44236) +* Add - Add legacy data cleanup process for HPOS. [#43293](https://github.com/woocommerce/woocommerce/pull/43293) +* Add - Add new "can receive cancelled order email" test [#43985](https://github.com/woocommerce/woocommerce/pull/43985) +* Add - Adds logic to display notices of promotions from Woo.com on in-app marketplace pages [#44840](https://github.com/woocommerce/woocommerce/pull/44840) +* Add - Add structured metadata to grouped products. [#42808](https://github.com/woocommerce/woocommerce/pull/42808) +* Add - Adds `wp wc hpos backfill` tool to backfill from/to either order datastore. [#44281](https://github.com/woocommerce/woocommerce/pull/44281) +* Add - Add test to check product reviews. [#44077](https://github.com/woocommerce/woocommerce/pull/44077) +* Add - Add the "Mobile app" order attribution source. [#44519](https://github.com/woocommerce/woocommerce/pull/44519) +* Add - Add the receipts rendering engine [#43502](https://github.com/woocommerce/woocommerce/pull/43502) +* Add - Add `source` event props for `marketing_recommended_extension` track events to differentiate recommendations from woo.com API or default fallback data. [#44714](https://github.com/woocommerce/woocommerce/pull/44714) +* Add - Always show the variation options and variations section [#44001](https://github.com/woocommerce/woocommerce/pull/44001) +* Add - Announce Pop-Up Opening with Voiceovers [#44332](https://github.com/woocommerce/woocommerce/pull/44332) +* Add - CYS - Core - Check the Font Library availability. [#44206](https://github.com/woocommerce/woocommerce/pull/44206) +* Add - CYS - Core: Add async job to install fonts. [#44473](https://github.com/woocommerce/woocommerce/pull/44473) +* Add - CYS - Core: add integration with the font library. [#44004](https://github.com/woocommerce/woocommerce/pull/44004) +* Add - Fix styles for our InterfaceSkeleton actions #44331 [#44331](https://github.com/woocommerce/woocommerce/pull/44331) +* Add - Hide Downloads section under Toggle for product variations [#44152](https://github.com/woocommerce/woocommerce/pull/44152) +* Add - Improve Accessibility in Product Collection Navigation [#44599](https://github.com/woocommerce/woocommerce/pull/44599) +* Add - Introduce WooCommerce Admin Notice component [#44620](https://github.com/woocommerce/woocommerce/pull/44620) +* Add - Product Collection: Add loading indicator for client-side pagination [#44571](https://github.com/woocommerce/woocommerce/pull/44571) +* Add - Product Collection: recognise the location of block in Editor and pass it with the request [#43997](https://github.com/woocommerce/woocommerce/pull/43997) +* Add - Product Collection: Return to top after the page change [#43817](https://github.com/woocommerce/woocommerce/pull/43817) +* Add - Product Editor: Subsection block #43725 [#43725](https://github.com/woocommerce/woocommerce/pull/43725) +* Add - Use the new text area block in the summary field [#44104](https://github.com/woocommerce/woocommerce/pull/44104) +* Add - [Product Block Editor]: use text-area block to handle the variation description field [#44151](https://github.com/woocommerce/woocommerce/pull/44151) +* Update - Add Moroccan regions to states.php [#41769](https://github.com/woocommerce/woocommerce/pull/41769) +* Update - Change promotions transient name to correspond with WC_Admin_Marketplace_Promotions::TRANSIENT_NAME. [#44857](https://github.com/woocommerce/woocommerce/pull/44857) +* Update - Comment: This is behind a feature flag [#44615](https://github.com/woocommerce/woocommerce/pull/44615) +* Update - Create a dedicated survey and tracking events for the CYS flow on core. [#43862](https://github.com/woocommerce/woocommerce/pull/43862) +* Update - CYS - Move checking if the current active theme has modifications to the assembler-hub step instead of the intro step [#44647](https://github.com/woocommerce/woocommerce/pull/44647) +* Update - CYS - Reduce the width of the "Design your own" text box on the Intro screen [#44546](https://github.com/woocommerce/woocommerce/pull/44546) +* Update - CYS - Update "Start customizing your store" task description on Core [#44584](https://github.com/woocommerce/woocommerce/pull/44584) +* Update - CYS - Update homepage templates intro patterns [#44616](https://github.com/woocommerce/woocommerce/pull/44616) +* Update - CYS - Update sidebar links copy on the assembled page. [#44762](https://github.com/woocommerce/woocommerce/pull/44762) +* Update - CYS - Update the "Change your homepage" description on Core [#44579](https://github.com/woocommerce/woocommerce/pull/44579) +* Update - CYS - Update the subheading copy of the transitional page [#44603](https://github.com/woocommerce/woocommerce/pull/44603) +* Update - CYS: Proceed with product creation when their images fail to upload. [#44031](https://github.com/woocommerce/woocommerce/pull/44031) +* Update - Fix condition in Promotions component so marketplace promotions are properly filtered by page. [#44884](https://github.com/woocommerce/woocommerce/pull/44884) +* Update - Fix type handling and default value for remote API transformers [#44418](https://github.com/woocommerce/woocommerce/pull/44418) +* Update - Improved the combobox component validation error message [#44229](https://github.com/woocommerce/woocommerce/pull/44229) +* Update - Improve remote specifications transient handling and error management [#44384](https://github.com/woocommerce/woocommerce/pull/44384) +* Update - Introduced `woocommerce_my_account_after_my_address`, `woocommerce_order_details_after_customer_address`, and `woocommerce_edit_account_form_fields` hooks. [#43823](https://github.com/woocommerce/woocommerce/pull/43823) +* Update - Move rendering of Order Attribution inputs to `woocommerce_checkout_after_customer_details`. Expose a method for custom theming. [#44333](https://github.com/woocommerce/woocommerce/pull/44333) +* Update - Product Collection: improve flaky E2E test when block was nested in Single Product block [#44404](https://github.com/woocommerce/woocommerce/pull/44404) +* Update - Remove WooCommerce Blocks entry from the WooCommerce status page [#44412](https://github.com/woocommerce/woocommerce/pull/44412) +* Update - Simplify the applied coupon data that gets stored as line item meta [#44113](https://github.com/woocommerce/woocommerce/pull/44113) +* Update - This is behind a feature flag. [#44463](https://github.com/woocommerce/woocommerce/pull/44463) +* Update - This is behind a feature flag. [#44615](https://github.com/woocommerce/woocommerce/pull/44615) +* Update - Update "Large Footer" and "Large Footer Dark" Twitter icons to X and update the social URLs. [#44807](https://github.com/woocommerce/woocommerce/pull/44807) +* Update - Update Action Scheduler to 3.7.2 [#44628](https://github.com/woocommerce/woocommerce/pull/44628) +* Update - Updated example plugin code in activity-panel-inbox.md to include namespacing. [#44504](https://github.com/woocommerce/woocommerce/pull/44504) +* Update - Update experiment name for enabling new product editor. [#44731](https://github.com/woocommerce/woocommerce/pull/44731) +* Update - Update Shipping Method creation call to action button with more clear label [#44788](https://github.com/woocommerce/woocommerce/pull/44788) +* Update - Updates the bundled JS Cookie library to v3.0.5. [#43686](https://github.com/woocommerce/woocommerce/pull/43686) +* Update - Update the CYS intro modal copy on Core. [#44081](https://github.com/woocommerce/woocommerce/pull/44081) +* Update - Update the Product gallery pattern title [#44604](https://github.com/woocommerce/woocommerce/pull/44604) +* Update - [CYS - Core] Handling errors during the setup for the `NoAI` flow [#43810](https://github.com/woocommerce/woocommerce/pull/43810) +* Update - [Experimental] Add a flag that will force page refresh when combining interactivity filters with classic template or products (beta) blocks. [#44631](https://github.com/woocommerce/woocommerce/pull/44631) +* Dev - Add base RemoteSpecsEngine class, add logging for errors in all remote specs [#44775](https://github.com/woocommerce/woocommerce/pull/44775) +* Dev - Add checks and unit tests to rule processors [#44448](https://github.com/woocommerce/woocommerce/pull/44448) +* Dev - Add checks and unit tests to Transformers [#44634](https://github.com/woocommerce/woocommerce/pull/44634) +* Dev - Add e2e tests to edit and delete product reviews. [#44411](https://github.com/woocommerce/woocommerce/pull/44411) +* Dev - Added e2e test to monitor number of JS includes in certain pages [#44046](https://github.com/woocommerce/woocommerce/pull/44046) +* Dev - Add error handling and tests for ShippingPartnerSuggestions [#44641](https://github.com/woocommerce/woocommerce/pull/44641) +* Dev - Add extra checks (description, sale-price, SKU, purchase note, attribute color) to the existing add-virtual-product test [#43783](https://github.com/woocommerce/woocommerce/pull/43783) +* Dev - Add php unit watcher and update unit test docs [#44681](https://github.com/woocommerce/woocommerce/pull/44681) +* Dev - Adds e2e tests for the creation of all coupon types (merchant) [#44671](https://github.com/woocommerce/woocommerce/pull/44671) +* Dev - Adds e2e tests for user account email flows [#44622](https://github.com/woocommerce/woocommerce/pull/44622) +* Dev - Adds logic to get notices of promotions from Woo.com endpoint, and (if necessary) show a bubble next to the WooCommerce "Extensions" menu item. [#44655](https://github.com/woocommerce/woocommerce/pull/44655) +* Dev - Add some missing core contributors to the contributors list. [#44740](https://github.com/woocommerce/woocommerce/pull/44740) +* Dev - Adds tests for the creation of restricted coupons [#44716](https://github.com/woocommerce/woocommerce/pull/44716) +* Dev - Add `queryContextIncludes` attribute to Product Collection block [#44150](https://github.com/woocommerce/woocommerce/pull/44150) +* Dev - Apply Rector suggestions for PHP 8.1 [#43230](https://github.com/woocommerce/woocommerce/pull/43230) +* Dev - Apply Rector suggestions for PHP 8.1 [#43233](https://github.com/woocommerce/woocommerce/pull/43233) +* Dev - Apply type checks and enhancements for PHP 8.1 [#41253](https://github.com/woocommerce/woocommerce/pull/41253) +* Dev - Apply type checks and enhancements for PHP 8.1 [#41482](https://github.com/woocommerce/woocommerce/pull/41482) +* Dev - E2E tests: add explicit timeout for action and navigation [#44891](https://github.com/woocommerce/woocommerce/pull/44891) +* Dev - E2E tests: add test for creating a downloadable product [#44112](https://github.com/woocommerce/woocommerce/pull/44112) +* Dev - E2E tests: add tests for managing product images in block editor [#44470](https://github.com/woocommerce/woocommerce/pull/44470) +* Dev - E2E tests: add tests for product edit using blocks editor [#44272](https://github.com/woocommerce/woocommerce/pull/44272) +* Dev - E2E tests: add tests for product inventory in product block editor [#44699](https://github.com/woocommerce/woocommerce/pull/44699) +* Dev - E2E tests: add tests for products bulk edit [#44039](https://github.com/woocommerce/woocommerce/pull/44039) +* Dev - E2E tests: add tests for up-sells and cross-sells [#44154](https://github.com/woocommerce/woocommerce/pull/44154) +* Dev - E2E tests: fix a flaky product inventory test [#44897](https://github.com/woocommerce/woocommerce/pull/44897) +* Dev - E2E tests: update product review tests to work with more reviews [#44644](https://github.com/woocommerce/woocommerce/pull/44644) +* Dev - Fix a couple of flaky e2e tests [#44208](https://github.com/woocommerce/woocommerce/pull/44208) +* Dev - Fixed the postinstall command failing on macos [#44853](https://github.com/woocommerce/woocommerce/pull/44853) +* Dev - Improve return value type checks prior to usage [#43227](https://github.com/woocommerce/woocommerce/pull/43227) +* Dev - Improve the existing E2E test shopper simple product to test description and images [#44365](https://github.com/woocommerce/woocommerce/pull/44365) +* Dev - Misc e2e test fixes [#44325](https://github.com/woocommerce/woocommerce/pull/44325) +* Dev - Move the test out of isolation (tax folder) and update it to reflect cart flow [#44115](https://github.com/woocommerce/woocommerce/pull/44115) +* Dev - Product Collection: minor E2E test optimisation [#44407](https://github.com/woocommerce/woocommerce/pull/44407) +* Dev - Product Filters: update E2E tests after adding Beta label [#44564](https://github.com/woocommerce/woocommerce/pull/44564) +* Dev - Revert a workaround updating the mariadb image tag in wp-env [#44881](https://github.com/woocommerce/woocommerce/pull/44881) +* Dev - Shard Blocks Playwright test execution [#44440](https://github.com/woocommerce/woocommerce/pull/44440) +* Dev - Stabilize a flaky E2E Add to Cart Form test [#44639](https://github.com/woocommerce/woocommerce/pull/44639) +* Dev - Stabilize a flaky Price Filter test by addressing the unstable nature of the filter input. [#44690](https://github.com/woocommerce/woocommerce/pull/44690) +* Dev - Stabilize the 'Products can be filtered based on "on sale" status' E2E test. [#44796](https://github.com/woocommerce/woocommerce/pull/44796) +* Dev - This aims to add more checks to confirm that a completed order email is received, as well as its content. [#44186](https://github.com/woocommerce/woocommerce/pull/44186) +* Dev - Update onboarding task documentation and fix example command [#44026](https://github.com/woocommerce/woocommerce/pull/44026) +* Dev - Updates the test of a virtual product creation functionality with further characteristics [#43783](https://github.com/woocommerce/woocommerce/pull/43783) +* Dev - Update the daily test workflow to run e2e tests with sharding [#44330](https://github.com/woocommerce/woocommerce/pull/44330) +* Dev - Update WooCommerce Blocks Playwright End to End Tests readme [#44468](https://github.com/woocommerce/woocommerce/pull/44468) +* Dev - Workaround for fixing broken wp-env test environment. Force mariadb image tag. [#44841](https://github.com/woocommerce/woocommerce/pull/44841) +* Dev - Wrangle MarketingRecommendations as RemoteSpecsEngine [#44828](https://github.com/woocommerce/woocommerce/pull/44828) +* Dev - [Experimental] Add beta suffix to new filter blocks in prep for release. [#44487](https://github.com/woocommerce/woocommerce/pull/44487) +* Dev - [Experimental] Fix a bug in new attribute filter where we didn't set the attribute from content panel [#44757](https://github.com/woocommerce/woocommerce/pull/44757) +* Dev - [Experimental] Unify class naming in new interactivity stock filter block. [#44073](https://github.com/woocommerce/woocommerce/pull/44073) +* Dev - [Experimental] Utilize WP generated class names to style rating filter block. [#44072](https://github.com/woocommerce/woocommerce/pull/44072) +* Dev - [Experimental] Utilize WP generated class names when styling new active filters block. [#44069](https://github.com/woocommerce/woocommerce/pull/44069) +* Dev - [Product editor block]: Rename the Add button to Publish #44461 [#44461](https://github.com/woocommerce/woocommerce/pull/44461) +* Tweak - Adjust spacing in/between elements on the Cart and Checkout block pages. [#44160](https://github.com/woocommerce/woocommerce/pull/44160) +* Tweak - Improve tasklist performance and add tasklist id track props [#44442](https://github.com/woocommerce/woocommerce/pull/44442) +* Tweak - Product Collection: fix flaky E2E test [#44687](https://github.com/woocommerce/woocommerce/pull/44687) +* Tweak - Setup E2E block theme without opening browser and remove obsolete CLI call. [#44702](https://github.com/woocommerce/woocommerce/pull/44702) +* Tweak - [Experimental] Filter block: replace custom upgrade panel by Transforms API [#44024](https://github.com/woocommerce/woocommerce/pull/44024) +* Performance - Avoid duplicating requests to the `/onboarding/themes/recommended` and `/onboarding/tasks` endpoints during the CYS flow. [#44179](https://github.com/woocommerce/woocommerce/pull/44179) +* Enhancement - CYS - Add title to the "Product Gallery" pattern. [#44556](https://github.com/woocommerce/woocommerce/pull/44556) +* Enhancement - CYS - Core: catch error when font installation fails. [#44559](https://github.com/woocommerce/woocommerce/pull/44559) +* Enhancement - Prevent prefilling of the billing address with the shipping address in the Checkout block for the Guest Shopper. [#44347](https://github.com/woocommerce/woocommerce/pull/44347) +* Enhancement - Product Collection: enable "Sync with query" option by default only for the first Product Catalog instance, disable for 2nd and next ones [#44577](https://github.com/woocommerce/woocommerce/pull/44577) + + = 8.6.1 2024-02-20 = **WooCommerce** diff --git a/packages/js/product-editor/changelog/feature-add-loading-state-to-schedule-button b/packages/js/product-editor/changelog/feature-add-loading-state-to-schedule-button new file mode 100644 index 000000000000..9641c721bf33 --- /dev/null +++ b/packages/js/product-editor/changelog/feature-add-loading-state-to-schedule-button @@ -0,0 +1,4 @@ +Significance: minor +Type: add + +Product Editor: Add loading state functionality to Schedule Product modal diff --git a/packages/js/product-editor/changelog/fix-45589_publish_dropdown_not_visible b/packages/js/product-editor/changelog/fix-45589_publish_dropdown_not_visible new file mode 100644 index 000000000000..0a60faeeb8ce --- /dev/null +++ b/packages/js/product-editor/changelog/fix-45589_publish_dropdown_not_visible @@ -0,0 +1,4 @@ +Significance: minor +Type: fix + +Fix publish dropdown visibility in new product after hiding pre-publish modal #45682 diff --git a/packages/js/product-editor/changelog/fix-45590_prepublish_panel_section_title b/packages/js/product-editor/changelog/fix-45590_prepublish_panel_section_title new file mode 100644 index 000000000000..09ae59af686a --- /dev/null +++ b/packages/js/product-editor/changelog/fix-45590_prepublish_panel_section_title @@ -0,0 +1,4 @@ +Significance: minor +Type: fix + +Fix section title styles in the pre-publish panel on WP 6.5 #45689 diff --git a/packages/js/product-editor/changelog/fix-45665 b/packages/js/product-editor/changelog/fix-45665 new file mode 100644 index 000000000000..a32d020da444 --- /dev/null +++ b/packages/js/product-editor/changelog/fix-45665 @@ -0,0 +1,4 @@ +Significance: patch +Type: fix + +Header tag Hidden now is aligned with the Visibility: Hidden from the pre publish modal diff --git a/packages/js/product-editor/changelog/fix-45667 b/packages/js/product-editor/changelog/fix-45667 new file mode 100644 index 000000000000..477c682dd0b4 --- /dev/null +++ b/packages/js/product-editor/changelog/fix-45667 @@ -0,0 +1,4 @@ +Significance: patch +Type: fix + +Replace the Draft tag with a Scheduled tag in the product header diff --git a/packages/js/product-editor/changelog/fix-45669_doulbe_scroll_bar_prepublish_panel b/packages/js/product-editor/changelog/fix-45669_doulbe_scroll_bar_prepublish_panel new file mode 100644 index 000000000000..4eaeb6bc74bf --- /dev/null +++ b/packages/js/product-editor/changelog/fix-45669_doulbe_scroll_bar_prepublish_panel @@ -0,0 +1,4 @@ +Significance: minor +Type: fix + +Fix double scroll bar in pre-publish panel #45671 diff --git a/packages/js/product-editor/changelog/product-editor-prompt-exports b/packages/js/product-editor/changelog/product-editor-prompt-exports new file mode 100644 index 000000000000..9fb937de19b4 --- /dev/null +++ b/packages/js/product-editor/changelog/product-editor-prompt-exports @@ -0,0 +1,4 @@ +Significance: minor +Type: dev + +Exports handlePrompt from @woocommerce/product-editor for use by extensions expanding the variation quick update menu. Also introduces handleConfirm and exposes it also diff --git a/packages/js/product-editor/src/components/header/header.tsx b/packages/js/product-editor/src/components/header/header.tsx index decae5160b4e..06b7a52e1d65 100644 --- a/packages/js/product-editor/src/components/header/header.tsx +++ b/packages/js/product-editor/src/components/header/header.tsx @@ -125,7 +125,7 @@ export function Header( { function getVisibilityTags() { const tags = []; - if ( productStatus === 'draft' || productStatus === 'future' ) { + if ( productStatus === 'draft' ) { tags.push( ); } + if ( productStatus === 'future' ) { + tags.push( + + ); + } if ( - ( productStatus !== 'future' && catalogVisibility === 'hidden' ) || + ( productStatus !== 'future' && catalogVisibility !== 'visible' ) || ( isVariation && productStatus === 'private' ) ) { tags.push( @@ -249,7 +257,8 @@ export function Header( { diff --git a/packages/js/product-editor/src/components/header/hooks/use-publish/use-publish.tsx b/packages/js/product-editor/src/components/header/hooks/use-publish/use-publish.tsx index f4805ee9e47f..09d3db63e59f 100644 --- a/packages/js/product-editor/src/components/header/hooks/use-publish/use-publish.tsx +++ b/packages/js/product-editor/src/components/header/hooks/use-publish/use-publish.tsx @@ -4,6 +4,7 @@ import { MouseEvent } from 'react'; import { Button } from '@wordpress/components'; import { useEntityProp } from '@wordpress/core-data'; +import { isInTheFuture } from '@wordpress/date'; import { __ } from '@wordpress/i18n'; import type { Product } from '@woocommerce/data'; @@ -28,12 +29,18 @@ export function usePublish< T = Product >( { const { isValidating, isDirty, isPublishing, publish } = useProductManager( productType ); - const [ status, , prevStatus ] = useEntityProp< Product[ 'status' ] >( + const [ , , prevStatus ] = useEntityProp< Product[ 'status' ] >( 'postType', productType, 'status' ); + const [ editedDate ] = useEntityProp< string >( + 'postType', + productType, + 'date_created_gmt' + ); + const isBusy = isPublishing || isValidating; const isDisabled = disabled || isBusy || ! isDirty; @@ -53,7 +60,7 @@ export function usePublish< T = Product >( { function getButtonText() { if ( window.wcAdminFeatures[ 'product-pre-publish-modal' ] && - status === 'future' + isInTheFuture( editedDate ) ) { return __( 'Schedule', 'woocommerce' ); } diff --git a/packages/js/product-editor/src/components/header/publish-button/publish-button-menu/publish-button-menu.tsx b/packages/js/product-editor/src/components/header/publish-button/publish-button-menu/publish-button-menu.tsx index 4a08bb1ab255..12c5fba4bc91 100644 --- a/packages/js/product-editor/src/components/header/publish-button/publish-button-menu/publish-button-menu.tsx +++ b/packages/js/product-editor/src/components/header/publish-button/publish-button-menu/publish-button-menu.tsx @@ -26,7 +26,7 @@ export function PublishButtonMenu( { postType, ...props }: PublishButtonMenuProps ) { - const { isScheduled, schedule, date, formattedDate } = + const { isScheduling, isScheduled, schedule, date, formattedDate } = useProductScheduled( postType ); const [ showScheduleModal, setShowScheduleModal ] = useState< 'schedule' | 'edit' | undefined @@ -62,6 +62,7 @@ export function PublishButtonMenu( { setShowScheduleModal( undefined ) } onSchedule={ scheduleProduct } /> diff --git a/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx b/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx index 106f43e85264..3ed47f61da2f 100644 --- a/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx +++ b/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx @@ -25,7 +25,8 @@ import type { PublishButtonProps } from './types'; export function PublishButton( { productType = 'product', - prePublish, + isMenuButton, + isPrePublishPanelVisible = true, ...props }: PublishButtonProps ) { const { createErrorNotice } = useDispatch( 'core/notices' ); @@ -68,7 +69,7 @@ export function PublishButton( { if ( productType === 'product' && window.wcAdminFeatures[ 'product-pre-publish-modal' ] && - prePublish + isMenuButton ) { function renderPublishButtonMenu( menuProps: Dropdown.RenderProps @@ -78,7 +79,11 @@ export function PublishButton( { ); } - if ( editedStatus !== 'publish' && editedStatus !== 'future' ) { + if ( + editedStatus !== 'publish' && + editedStatus !== 'future' && + isPrePublishPanelVisible + ) { function handlePrePublishButtonClick( event: MouseEvent< HTMLButtonElement > ) { diff --git a/packages/js/product-editor/src/components/header/publish-button/types.ts b/packages/js/product-editor/src/components/header/publish-button/types.ts index 4c38361c8f30..d007eee6bd31 100644 --- a/packages/js/product-editor/src/components/header/publish-button/types.ts +++ b/packages/js/product-editor/src/components/header/publish-button/types.ts @@ -8,5 +8,6 @@ export type PublishButtonProps = Omit< 'aria-disabled' | 'variant' | 'children' > & { productType?: string; - prePublish?: boolean; + isMenuButton?: boolean; + isPrePublishPanelVisible?: boolean; }; diff --git a/packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx b/packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx index 1be8366147cb..412211e290d2 100644 --- a/packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx +++ b/packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx @@ -10,6 +10,7 @@ import { useEntityProp } from '@wordpress/core-data'; import { closeSmall } from '@wordpress/icons'; import classnames from 'classnames'; import type { Product } from '@woocommerce/data'; +import { isInTheFuture } from '@wordpress/date'; /** * Internal dependencies @@ -30,10 +31,10 @@ export function PrepublishPanel( { 'woocommerce' ), }: PrepublishPanelProps ) { - const [ editedDate, , date ] = useEntityProp< string >( + const [ editedDate ] = useEntityProp< string >( 'postType', productType, - 'date_created' + 'date_created_gmt' ); const [ productStatus, , prevStatus ] = useEntityProp< @@ -47,7 +48,7 @@ export function PrepublishPanel( { ? productStatus === 'publish' : true; - if ( editedDate !== date ) { + if ( isInTheFuture( editedDate ) ) { title = __( 'Are you ready to schedule this product?', 'woocommerce' ); description = __( 'Your product will be published at the specified date and time.', diff --git a/packages/js/product-editor/src/components/prepublish-panel/style.scss b/packages/js/product-editor/src/components/prepublish-panel/style.scss index a325916e501c..50336d470400 100644 --- a/packages/js/product-editor/src/components/prepublish-panel/style.scss +++ b/packages/js/product-editor/src/components/prepublish-panel/style.scss @@ -52,7 +52,12 @@ } &__content { - min-height: calc( 100% - #{ $header-height + 220px } ); + // Ensure the pre-publish panel content accounts for the header and footer height. + min-height: calc( 100% - #{ $header-height + 222px } ); + .editor-post-publish-panel__link { + font-weight: 400; + padding-left: $gap-smallest; + } } &__footer { diff --git a/packages/js/product-editor/src/components/schedule-publish-modal/schedule-publish-modal.tsx b/packages/js/product-editor/src/components/schedule-publish-modal/schedule-publish-modal.tsx index d0f8d9f2b488..ed5d7af5c1db 100644 --- a/packages/js/product-editor/src/components/schedule-publish-modal/schedule-publish-modal.tsx +++ b/packages/js/product-editor/src/components/schedule-publish-modal/schedule-publish-modal.tsx @@ -26,6 +26,7 @@ export function SchedulePublishModal( { className, onCancel, onSchedule, + isScheduling, ...props }: SchedulePublishModalProps ) { const [ date, setDate ] = useState< string | undefined >( @@ -77,6 +78,8 @@ export function SchedulePublishModal( {