
GDPR features, tweaks, and settings

- User data export, erasure, and anonymization tools.
- Settings for enabling automatic data cleanup or removal.
- New Customizer settings for checkout fields and policy notices on the Checkout page.
- Tweaks to logging to ensure personal data does not get logged.
GeoLite2 integration

Features for store owners

- A multisite dashboard widget that shows order information from across all sites.
- Wildcard email support for coupon restrictions. Using the wildcard character you can set up coupons restricted to groups of similar email addresses (.edu email accounts, corporate email accounts from a certain business, etc.).
- Users can now set their display name on the My Account page.
- Improvements to the admin product search, including the ability to search for multiple products in the same query.
Features for store builders and developers

- We’ve moved all photoswipe styles to their own CSS file to make them easy to dequeue if needed.
- You can declare a custom data sanitization callback in the settings API.
- We’ve added support for additional HTML5 input types for settings and checkout forms.
- Lots of new filters and actions to increase the customizability of WooCommerce.
Upgrading to 3.4
3.4 is a minor update and should be compatible with sites running any version of WooCommerce greater than or equal to 3.0. We still recommend testing and backing up prior to upgrading just to be safe. Note: There are a few post-update database upgrade routines that need to run after updating. These may run for a while if you have a large amount of data in your database. If you’re a developer and have somehow missed the beta and RC, the following information may be useful.Deprecations in 3.4
WC_Geo_IP
has been deprecated since the legacy GeoLite database has been deprecated. See the the top of this article for more info.- The Product Type column in the admin Products screen has been removed and released as a feature plugin. See this post for more info. If you’d like to keep the column, simply install the feature plugin and you’re set.
WC_Widget_Product_Tag_Cloud::_get_current_taxonomy
has been deprecated forWC_Widget_Product_Tag_Cloud::get_current_taxonomy
.WC_Widget_Product_Tag_Cloud::_topic_count_text
has been deprecated forWC_Widget_Product_Tag_Cloud::topic_count_text
.
Template file changes in 3.4
- `auth/form-login.php` - Named nonces and used `nbsp;` to separate the `*` in required fields to prevent awkward line breaks. - `cart/cart.php` - Named nonces and added filter around backorder notification text. - `cart/shipping-calculator.php` - Named nonces. - `checkout/form-coupon.php` - Use `no-js` class to to hide forms/content that require JavaScript. - `checkout/form-login.php` - Use `no-js` class to to hide forms/content that require JavaScript. - `checkout/form-pay.php` - Named nonces. - `checkout/payment.php` - Named nonces. - `checkout/terms.php` - Make sure terms page exists and isn't trashed. Used `nbsp;` to separate the `*` in required fields to prevent awkward line breaks. - `emails/plain/email-customer-details.php` - Fixed converting letters with accents to uppercase. - `emails/plain/email-downloads.php` - Make `woocommerce_email_downloads_column_` hook format aware. - `emails/plain/email-addresses.php` - Fixed converting letters with accents to uppercase. - `emails/plain/customer-reset-password.php` - Removed user login from reset password link. - `emails/plain/email-order-details.php` - Fixed converting letters with accents to uppercase. - `emails/customer-reset-password.php` - Removed user login from reset password link. - `emails/email-downloads.php` - Make `woocommerce_email_downloads_column_` hook format aware. - `global/form-login.php` - Used `nbsp;` to separate the `*` in required fields to prevent awkward line breaks. - `global/quantity-input.php` - Escape and strip tags to prevent broken HTML. - `myaccount/form-add-payment-method.php` - Named nonces. - `myaccount/form-edit-account.php` - Added autocomplete attributes. Used `nbsp;` to separate the `*` in required fields to prevent awkward line breaks. - `myaccount/form-edit-address.php` - Named nonces. - `myaccount/form-login.php` - Added class and autocomplete attributes to form. Used `nbsp;` to separate the `*` in required fields to prevent awkward line breaks. - `myaccount/form-lost-password.php` - Named nonces and added autocomplete attributes. - `myaccount/form-reset-password.php` - Named nonces and added autocomplete attributes. Used `nbsp;` to separate the `*` in required fields to prevent awkward line breaks. - `order/form-tracking.php` - Named nonces. - `single-product/add-to-cart/grouped.php` - Added `woocommerce_add_to_cart_form_action` filter and class to form. - `single-product/add-to-cart/simple.php` - Added `woocommerce_add_to_cart_form_action` filter. - `single-product/add-to-cart/variable.php` - Added `woocommerce_add_to_cart_form_action` filter and fixed variation URL bug when using special characters. - `single-product/review-meta.php` - Add escaping to publish date to prevent broken HTML. - `templates/archive-product.php` - Use `woocommerce_product_loop` instead of `have_posts`.
How we tested 3.4
3.4 beta was released on April 18th 2018 and remained in beta until the RC on May 9th 2018. During this time we tested internally, tested our own extensions and themes, tested popular premium themes, did some managed updates for actual customers on staging sites to pick up on any conflicts or bugs before the public release, and tested the update on WooCommerce.com. If you spot any issues please let us know on GitHub. Thanks to everyone who helped test 3.4!We
Contributors
A massive thanks to everyone in the community who have contributed, be that via issue reports, fixes, translation, testing, supporting other users or simply spreading the word.
mikejolley | claudiosanches | claudiulodro | rodrigoprimo | kloon | peterfabian |
WPprodigy | dechov | shivapoudel | rnaby | bor0 | alexmacarthur |
Chunkford | belcherj | michakrapp | stevegrunwell | helgatheviking | saimonh3 |
nishitlangaliya | v18 | javorszky | pierrebuet | jeffstieler | tivnet |
GlennMartin1 | Chouby | amritansh24 | jb510 | Drivingralle | franticpsyx |
mksunlab | garrett-eclipse | jimjasson | tiagonoronha | corsonr | wcjonathan |
R33D3M33R | digitalchild | philipdowner | techjewel | haydenw | linkhousemedia |
ericnicolaas | shoheitanaka | seostudio | ahmedofali | iamzozo | alexminza |
rynaldos | michaeltieso | torrelasley | envelope | mweimerskirch | laurendavissmith |
bekarice | roylindauer | mojo2405 | norcross | sofyansitorus | danielshields |
jconroy | obiPlabon | mysterioux | emgk | JeroenSormani | aaronkirkham |
catearcher | BrianHenryIE | danielbitzer | edwardkay | iconicwp | marcinbot |
suifengtec | tareq1988 | hoangkianh | jeffikus | mtruitt | pascalroget |
kouratoras | willgorham |