=== Fluid Checkout for WooCommerce - Lite ===
Contributors: fluidwebco, diegoversiani, luiggiab
Tags: woocommerce, checkout, conversion, multi-step, one-page
Requires PHP: 7.4
Requires at least: 5.0
Tested up to: 5.9
Stable tag: 1.6.0
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Provides a distraction free checkout experience for any WooCommerce store. Ask for shipping information before billing in a truly linear multi-step or one-step checkout, add options for gift message, and display a coupon code field at the checkout page that does not distract your customers. Similar to the Shopify checkout, and even better.


== Description ==

Fluid Checkout simplifies and improves the checkout experience on WooCommerce websites for your new and repeating customers with a truly linear, Shopify-like checkout.

Eliminate unnecessary friction at the checkout page and benefit from better conversion rates, customer satisfaction, and earned customer loyalty.

Ask for shipping information before billing in a **multi-step or one-step checkout**, easily add trust symbols, add options for gift message and packaging and display a coupon code field that does not distract your customers.

Similar to the Shopify checkout, and even better!

Better accessibility at the checkout page with support for keyboard-only navigation and screen readers.

[View detailed list of features on our website](https://fluidcheckout.com/features/)

<blockquote>
<strong>Top notch plugin and support team!</strong>

Cleanest and easiest checkout plugin on the market - it will save you a lot of headache in setting up your checkout flow and the support team is active/responsive and consistently working to improve. Just go ahead download and activate this one 🔥🔥🔥

<cite>@vsonacci</cite>
</blockquote>


== Demos ==

* [Multi step layout](https://demos.fluidcheckout.com/multi-step/cart/?add-to-cart=14&quantity=2)
Make sure to test the checkout flow by adding to the cart and completing the purchase at least two times to see how the plugin streamlines the process for repeat customers.

* [Single step layout](https://demos.fluidcheckout.com/single-step/cart/?add-to-cart=22&quantity=2)
Single step checkout is recommended when only a few fields are required, usually when selling digital products or allowing local store pickup where shipping address information is not needed.

* [Highly stylized theme](https://demos.fluidcheckout.com/theme-deli/cart/?add-to-cart=14&quantity=2)
With themes that are highly stylized such as Storefront Deli -- when comparing to a plain theme such as the default Storefront theme, Fluid Checkout adapts itself with part of the theme's styles, keeping the same look and feel while improving the experience.

<blockquote>
<strong> Insane how great this is!</strong>

This plugin radically modernizes and cleans up the WooCommerce checkout.
While doing a better job at UX & Conversion Optimization, it's also more compatible with plugins… even ahead of the new Gutenberg WooCommerce Checkout block that's been under development!
Quite insane how the developer is doing this. And a free plugin!!

<cite>@allancaeg</cite>
</blockquote>


== Lite Version (Free) ==

* **Multi-step or Single-step**: Choose between multi-step and one-step checkout layouts. While Fluid Checkout changes the layout of the checkout page, it will still look and feel like your website.

* **Optimized for mobile**: Fluid Checkout is optimized for mobile devices and will surface the most appropriate keyboard type on fields such as phone and email. In fact, Fluid Checkout was created with mobile devices in mind, and enhanced with more functionality and style for bigger screens.

* **Easily add trust symbols to the checkout page**: Add any widget such as accepted payment methods, security badges, reviews, testimonials, or anything that can boost the perceived trust customers have on the website. The checkout page contains widget areas displayed at strategic positions:

1. Order Summary: at the bottom of the order summary, below the order details and the place order button when present.
2. Checkout Sidebar: displayed on the sidebar, below the order summary.
3. Checkout Header - Desktop: at the checkout header -- only displayed on desktop devices and when using the plugin's header and footer templates.
4. Checkout Header - Mobile: at the top of the page, right below the checkout header -- only displayed on mobile devices and when using the plugin's header and footer templates.

* **Shipping before billing**: Customers expect to fill up shipping information before thinking about billing, by asking for the shipping information before billing, we remove unnecessary friction, matching the customer's expectations.

* **Hide optional fields**: The average checkout page has 16 open fields, by removing optional fields from the immediate view we can reduce that number to about 8-9 fields. These fields can still be entered as the customer can click the "Add <insert optional field name>" links to reveal the fields they need. Examples of these fields are the "Company", "Address line 2", "Phone" and "Order notes".

* **Instant field validation**: The default WooCommerce checkout only validates when the form is submitted, leading to confusion and frustration. Customers want the "Place order" button to be the last thing they click to complete their purchase. Some things can only be validated when placing the order, such as if the credit card is valid and has enough funds to cover the order total, however, most errors at checkout can be prevented by instantly validating the customer data.

* **Integrated coupon code field at the checkout**: When users see an open coupon code field at the checkout page the changes they will leave the website and go "coupon hunting" is very high, and they might not come back. The integrated coupon code field is displayed in a custom expansible section, and while less noticeable is still discoverable by customers who have a coupon and need to add it.

* **Offer gift options**: Customers can add a gift message to their order, to be printed with the packing slip generated by popular invoices and packing slips plugins.

* **Shipping phone field**: Add a separate phone field for shipping-related questions, in addition to the native billing phone field.

* **Automatically saved customer data**: customers won't lose any information they already have entered on the checkout page, and will get back exactly where they left when re-visiting it. Only payment information won't be saved for security reasons.

* **Skip completed steps**: Repeat customers will love how easy it is to complete their next purchase. Fluid Checkout skips the steps where all required information is provided and validated while providing an easy way to review and change any of the information.

* **Log-in without leaving the checkout**: Repeat customers with an account registered can log in from the checkout page directly without having to visit another page and make their way back to checkout.


== PRO Version ==

We are working to bring to you the following PRO features:

* Address book
* Cart page optimization
* Edit cart at checkout
* Thank you / Order confirmation page
* [Google Address Autocomplete for WooCommerce](https://fluidcheckout.com/product/fc-google-address-autocomplete/)
* Customize checkout steps and fields
* Account matching, let registered customers complete the purchase without logging in and attach the order to their account
* Account pages optimization

**[Google Address Autocomplete for WooCommerce](https://fluidcheckout.com/product/fc-google-address-autocomplete/) is now available as a stand-alone plugin**.


== Need more features? ==

**[Request a feature](https://support.fluidcheckout.com/).**


== Tested WooCommerce Themes ==

By default, Fluid Checkout works with every WooCommerce theme. Some themes may need adjustments due to not using WooCommerce standards hooks or styles. We've tested certain third-party WooCommerce themes to ensure better compatibility with Fluid Checkout:

= Free Themes =

* Astra - by Brainstorm Force
* Blocksy - by CreativeThemes
* Divi - by Elegant Themes
* Flatsome - by UX-Themes
* Generate Press - by Tom Usborne
* Go - by GoDaddy
* Hello Elementor - by Elementor Team
* Hestia - by ThemeIsle
* Kadence - by Kadence WP
* Neve - by ThemeIsle
* Ocean WP - by OceanWP
* OnePress - by FameThemes
* Orchid Store - by themebeez
* Page Builder Framework - by David Vongries
* Phlox - by averta
* PopularFX - by Pagelayer
* Storefront - by WooCommerce
* Woostify - by Woostify
* Zakra - by ThemeGrill

= Premium Themes =

* Aora - by Thembay
* Avada - by ThemeFusion
* Diza - by Thembay
* Electro - by MandrasThemes
* Hazel - by Select Themes
* Impreza - by UpSolution
* Kentha - by QantumThemes
* LeadEngine - by Key-Design
* Mr. Tailor - by Get Bowtied
* OnAir2 - by QantumThemes
* Phlox PRO - by averta
* Riode - by D-THEMES
* Shoptimizer - by CommerceGurus
* The Hanger - by Get Bowtied
* Woodmart - by XTemos
* Zota - by Thembay

** Don't see your theme in the list? No problem. **

Only the themes that we have added explicit compatibility with, or that we have tested and works as expected are listed above.

If your theme is not on the list it **does not mean it won't work**. Only that we have not tested it yet.

Try Fluid Checkout now and if you experience any issues please let us know through the [support forum](https://wordpress.org/support/plugin/fluid-checkout/) and we'll fix it asap.


== Compatible with popular plugins ==

= Payment Gateways (Free and Premium) =

* Integration Rede for WooCommerce - by MarcosAlexandre
* Mercado Pago payments for WooCommerce - by Mercado Pago
* PagSeguro for WooCommerce - by Claudio Sanches
* Payment Plugins for Stripe WooCommerce - by Payment Plugins
* Rede WooCommerce - by Rede
* WooCommerce Affirm Gateway - by WooCommerce
* WooCommerce Amazon Pay - by WooCommerce
* WooCommerce Authorize.Net Gateway - by SkyVerge
* WooCommerce PayPal Payments - by WooCommerce
* WooCommerce PayPal Checkout Gateway - by WooCommerce
* WooCommerce Stripe Gateway - by WooCommerce
* WooCommerce Stripe Payment Gateway - by WooCommerce

= Payment Gateways (with Express Checkout) =

* WooCommerce Amazon Pay - by WooCommerce
* WooCommerce Stripe Gateway - by WooCommerce
* WooCommerce Stripe Payment Gateway - by WooCommerce

= Free Plugins =

* Brazilian Market on WooCommerce - by Claudio Sanches ([see demo](https://demos.fluidcheckout.com/google-address-autocomplete-brazilian-market/cart/?add-to-cart=14&quantity=1))
* Checkout Field Editor for WooCommerce - by ThemeHigh
* Flexible Checkout Fields for WooCommerce - by WP Desk
* Creative Mail - by Constant Contact
* Delivery & Pickup Date Time for WooCommerce - by CodeRockz
* Elementor - by Elementor Team
* Flexible Shipping - by WP Desk
* Germanized for WooCommerce - by vendidero
* Klaviyo - by Klaviyo.
* MailerLite WooCommerce Integration - by MailerLite
* MailPoet - by MailPoet
* SG Map to Address - by Sevengits
* SG Checkout Location Picker for WooCommerce - by Sevengits
* WooCommerce Correios - by Claudio Sanches
* WooCommerce PDF Invoices & Packing Slips - by Ewout Fernhout

= Premium Plugins =

* Captcha Pro - by BestWebSoft
* FluentCRM Pro - by Fluent CRM
* German Market - by MarketPress
* WooCommerce Delivery & Pickup Date Time Pro - by CodeRockz
* WooCommerce Print Invoices/Packing Lists - by SkyVerge

** Don't see a plugin in the list? No problem. **

Only the plugins that we have added explicit compatibility with, or that we have tested and works as expected are listed above.

If a plugin or payment method is not on the list it **does not mean it won't work**. Only that we have not tested it yet.

Try Fluid Checkout now and if you experience any issues please let us know through the [support forum](https://wordpress.org/support/plugin/fluid-checkout/) and we'll fix it asap.


== Fully Customizable ==

In addition to a number of default settings (including a custom header/logo), multi-step or single step layout types and easily enabling/disabling features from settings page, the plugin contains HTML/PHP based templates and provides many filters and action hooks that allow for customization.

To customize template files, copy the templates to your theme folder, add a hook to the filter `fc_override_template_with_theme_file` to allow the plugin's version of the template to be overriden by the your customized template file. For more information and examples, see our guide [How to customize template files](https://support.fluidcheckout.com/portal/en/kb/articles/how-to-customize-template-files).

To customize styles when making small adjustments, just add your custom CSS through your theme, the Customizer Custom CSS field or using a plugin.

If you need more control, you can remove the plugin styles and add your own complete custom CSS files. If you are familiar with SASS and other code building tools, the original SASS files are included in the plugin and can be modified and rebuilt, most styles make use of SASS variables that can make the process a lot easier.


== Translations ==

All labels and other texts added or changed by the plugin are translatable using the built-in WordPress functions.

Currently the plugin is translated into the languages below, and more are comming soon:

* English (Default)
* Dutch - Netherlands (thanks to Robin Bak, Duncan - magnesium-minerals.nl, Damy Bosch - advice.nl)
* German - Germany (thanks to @reilix - felix-gudowius.de)
* Italian - Italy (thanks to Samuele - floralgarden.it)
* Portuguese - Brazil
* Spanish - Spain (thanks to @gio15 - senseiwpacademy.com)
* Swedish - Sweden (thanks to @kozley, @tobifjellner, @elbogen)
* Turkish - Turkey (thanks to @orkunakca)

** Want Fluid Checkout in your language? **

Please contribute your language to the plugin to make it even more useful. Send your translation files through our [support channel](https://fluidcheckout.com/support/).

** RTL Support **

* Although currently there are no official transations to any RTL language, the plugin will adjust its layout to RTL languages accordingly.

** Note: **

Fluid Checkout is fully localized/translatable. This is very important for all users worldwide.
For translating Fluid Checkout, we recommend the plugin ["Loco Translate - By Tim Whitlock"](https://wordpress.org/plugins/loco-translate/).


== Contributions are welcome ==

Your are more than welcome to contribute to the project with your code, feature request and feedback.

If you found and fixed a bug, implemented a new feature, or translated the plugin.
[Please fork the repository from Github](https://github.com/fluidweb-co/fluid-checkout) and submit a Pull Request.


== Installation ==

= Automatic installation =

* Log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.
* Search for "Fluid Checkout for WooCommerce", and press "Install now".
* Or, press "Upload Plugin" and select the zip file, then press "Install Now".

= Settings =

Once installed and activated, the Fluid Checkout will take over the WooCommerce checkout page and change its layout to the **multi-step** option. The default settings were chosen to minimize checkout abandonment and to work for most shops. Some features need to be enabled on the settings page before you see them at the checkout page.

If you want to tweak the settings, head over to WP Admin > WooCommerce > Settings > Fluid Checkout.


== Frequently Asked Questions ==

= Will Fluid Checkout work with my theme? =

Yes! Fluid Checkout should work with most theme out-of-the-box. However some themes may need adjustments due to not using WooCommerce standard hooks or styles.

**If you have any issues using Fluid Checkout with your theme please let us know through the [support forum](https://wordpress.org/support/plugin/fluid-checkout/) and we'll fix it asap.**

= Does Fluid Checkout work with the plugins I use on my webshop? =

Although Fluid Checkout was built in a way that it should be compatible with most plugins, the checkout page is a really complex part of WooCommerce and there are myriads of plugins that extends it. Because of that, it is likely that some plugins won't work optimaly with Fluid Checkout out-of-the-box.

**If you have any issues using Fluid Checkout with other plugins please let us know through the [support forum](https://wordpress.org/support/plugin/fluid-checkout/) and we'll fix it asap.**

= Is Fluid Checkout compliant with privacy laws (GDPR/RGPD/CCPA/LGPD)? =

We value your privacy and your customers' privacy.

While we cannot guarantee that the plugin is fully compliant with privacy laws in every country.

**We assure you that Fluid Checkout does not, and will not, collect any customer data from your shop.**

In the future, **and with your explicit consent**, we might collect some non-sensitive usage data from your website such as the plugin and WooCommerce settings, which other plugins and themes you have installed on your shop to help us to improve the plugin.

Details and examples of the data collected will be shown on the plugin interface for you to review prior to sending the data to our servers for collection and storage.

= Is Fluid Checkout fully compatible with ADA/WCAG 2.1 Level AA requirements? Will it make my webshop compliant? =

No. While Fluid Checkout does improve the accessibility of the checkout page by implementing support for keyboard-only navigation and screen readers, **we can't say if your webshop will be 100% compliant or not** with ADA, WCAG or any other accessibility requirements. 

Did you know that only about 30% of accessibility issues can be detected with automated tools? The majority of the issues can only be detected with manual testing on each page of the website. Read the article: [Automated Accessibility Testing Tools: How Much Do Scans Catch?](https://www.essentialaccessibility.com/blog/automated-accessibility-testing-tools-how-much-do-scans-catch).

We have plans to add an "accessible layout" feature that will ensure most accessibility issues will be fixed.

**[Contact us](https://fluidcheckout.com/support/) if you need help with making your webshop accessible to people with disabilities.**

= How do I add trust symbols to the checkout page? =

The plugin provides widget areas in strategic positions on the checkout page for adding the trust symbols. Head over to WP Admin > Appearance > Widget Areas, and add any type of widget to boost the perceived trust customers have on the website.

= How do I get Fluid Checkout for WooCommerce PRO? =

We are working on building the PRO version of Fluid Checkout. Visit [our website](https://fluidcheckout.com) and sign up to be the first to know when it's ready.


== Screenshots ==

1. Step 1 - Contact: Email, account creation and newsletter sign-up
2. Step 2 - Shipping: Shipping address, shipping method, gift options, additional order notes
3. Step 3 - Billing: Billing address and company information
4. Step 4 - Payment: Payment options and discounts
5. Single Step: All fields are displayed in one single step.
6. Settings: Multi-step or single-step layout, choose a logo and header color, enable/disable features
7. Theme Deli: The checkout page looks and feels like your website, even with highly styled themes


== Changelog ==

= Unreleased =

* Added: Body class `fc-checkout-step-current--<step_id>` to let developers change elements styles based on the currently active step.
* Added: Feature to disable the place order buttons when not in the last step, activated by default. Use filter `` to deactivate changes to the place order button `disabled` state.
* Improved: Translations to Dutch.
* Improved: Compatibility with plugin Brazilian Market.
* Improved: Compatibility with plugin German Market.
* Fixed: Order summary height too big on desktop view in some instances, resulting in extra whitespace.
* Fixed: Duplicate IDs and field names when the additional place order section is displayed on the sidebar.

= 1.6.0 - 2022-05-19 =

* Added: New option to enable/disable the Checkout Progress Bar feature.
* Added: New hooks `fc_shipping_methods_before_packages_inside` and `fc_shipping_methods_after_packages_inside`.
* Added: Translation to Dutch (Netherlands). Thanks to Robin Bak, Duncan - magnesium-minerals.nl, Damy Bosch - advice.nl.
* Improved: Clear object cache with `wp_cache_flush` when saving settings or updating the plugin.
* Improved: Moved some options from the "Advanced" to "Tools" and "Checkout" settings tabs. Removed the "Advanced" settings tab.
* Improved: Only register checkout header widget areas when using the Fluid Checkout header template.
* Improved: Display the shipping calculator above the shipping methods in the cart page (PRO feature).
* Improved: Refactor make SCSS code reusable by using variables like `$_body-theme-selector` and `$_body-page-selector`.
* Improved: Only display no shipping methods message on the checkout page when using the template file shipping-methods-available.php.
* Improved: Refactor integrated coupon code feature to use own AJAX functions and scripts.
* Improved: Refactor extract coupon code styles into a separate file.
* Improved: Allow fragments to be replaced every time even when their contents are equal the existing elements in the DOM when they contain any element with class `fc-fragment-always-replace`.
* Improved: Compatibility with plugin Brazilian Market.
* Improved: Compatibility with theme Shoptimizer.
* Improved: Compatibility with themes, set expected styles for cart items rows in the order summary.
* Improved: Spacing around trust symbols widget areas.
* Fixed: Hide shipping methods on the cart page when WooCommerce the option "Hide shipping costs until an address is entered" is checked (PRO feature).
* Fixed: Run hooks `fc_shipping_methods_before_packages`, `fc_shipping_methods_after_packages` only on initial page load skip on AJAX fragments requests.
* Fixed: Do not attempt to output the admin Gift Message edit form on the front end.

= 1.5.8 - 2022-05-03 =

* Added: New hooks `fc_checkout_before_step_shipping_fields_inside` and `fc_checkout_after_step_shipping_fields_inside` which contents are replaced with every checkout update.
* Improved: Compatibility with WooCommerce Delivery & Pickup Date Time Pro by CodeRockz, when selecting the delivery fields position as "After the shipping address", it will be displayed after the "Shipping Methods" section when shipping methods are displayed after the "Shipping Address" section in the checkout page.
* Improved: Also display "edit cart" link on order summary for mobile devices.
* Fixed: Run hooks `fc_checkout_before_step_billing_fields`, `fc_checkout_after_step_billing_fields`, `fc_checkout_before_step_shipping_fields` and `fc_checkout_after_step_shipping_fields` only on initial page load skip on AJAX fragments requests.
* Fixed: Moved hook `woocommerce_checkout_after_customer_details` out of the form-billing.php template file, now run on the hook `fc_checkout_after_step_billing_fields`.

= 1.5.7 - 2022-04-12 =

* Improved: Change the default position for the shipping methods section to after the shipping address. The position for the shipping methods section can be changed in the plugin settings.
* Fixed: Checkout fields arguments merge functions replacing some existing classes.

= 1.5.6 - 2022-04-11 =

* Fixed: Fatal error (JS) when `select2` script is disabled on the checkout page. Fixes issue with page fragments loading indefinitely.
* Fixed: Fatal error (PHP) when changing some checkout fields arguments.

= 1.5.5 - 2022-04-06 =

* Added: Compatibility with theme LeadEngine.
* Fixed: Not updating checkout options while typing the postcode and other address fields when shipping phone feature is enabled.
* Fixed: Not updating checkout options while entering the billing address.
* Fixed: Jumping to the top of the page, most notably on mobile, when `select2` fields break while updating the checkout page.
* Fixed: Fatal error when Checkout Widgets feature is disabled while WooCommerce PayPal Payments plugin is active.

= 1.5.4 - 2022-03-29 =

* Added: Compatibility with plugin Fluent CRM.
* Added: Compatibility with plugin Klaviyo.
* Added: Compatibility with plugin MailerLite WooCommerce Integration.
* Added: Compatibility with plugin MailPoet.
* Added: Compatibility with plugin Polylang.
* Added: Translation to Italian (Italy). Thanks to Samuele from floralgarden.it.
* Added: Translation to Turkish (Turkey). Thanks to Orkun Akça.
* Improved: Compatibility with Brazilian Market, set fields as required according to the person type selected.
* Fixed: Email validation should consider an empty optional email field as valid.
* Fixed: Remove duplicate phone numbers on emails.
* Fixed: Layout and alignment of the place order section.
* Fixed: Letter case for guest checkout section separator.

= 1.5.3 - 2022-03-03 =

* Added: Support for RTL languages.
* Added: New option to enable/disable Local Pickup features.
* Added: New option to select position for the shipping methods substep (before or after shipping address).
* Added: New filter `fc_checkout_login_button_class` for changing login button classes.
* Improved: Compatibility with WooCommerce PayPal Payments, fixes missing spacing around the payment buttons.
* Improved: Refactor move pickup point to its own substep, instead of using the shipping address substep to display the shop address.
* Improved: Refactor make filters `fc_substep_{$substep_id}_attributes` available to all substeps.
* Fixed: Restore previous values entered for the billing address when switching back to new billing address ("same as shipping" checkbox unchecked).
* Fixed: Restore previous values entered for the shipping address when switching between "Local pickup" and other shipping methods.
* Fixed: Shipping costs being shown with tax included when tax settings is set to display without tax included.
* Fixed: State field validation message for required field displaying even when field is optional.
* Fixed: Fatal error when our checkout fields optimization feature is disabled.

= 1.5.2 - 2022-02-14 =

* Added: Compatibility with theme Avada.
* Added: Compatibility with theme Electro.
* Added: Compatibility with theme The Hanger.
* Added: Compatibility with theme Phlox PRO.
* Added: Compatibility with theme Zota.
* Added: Compatibility with plugin Flexible Shipping.
* Added: Compatibility with plugin PagSeguro for WooCommerce.
* Added: Compatibility with plugin WooCommerce Affirm Gateway.
* Added: New filter `fc_checkout_update_before_unload` to let developers control whether to try to save users data when leaving the checkout page.
* Improved: Compatibility with plugin WooCommerce PayPal Payments - by WooCommerce. Now the buttons are displayed below the terms checkbox as expected.
* Improved: Refactor checkout script to make better use of `fcSettings`.
* Fixed: Position for the hook `woocommerce_after_shipping_rate` to be displayed inside the shipping method `<label>` element.
* Fixed: Prevent fatal errors when using the Plugin Organizer or similar plugins. Also checks if the function `WC` is available before before loading the plugin features.

= 1.5.1 - 2022-02-03 =

* Added: Compatibility with plugin Brazilian Market on WooCommerce - by Claudio Sanches.
* Added: New filters `fc_is_step_complete_shipping_field_keys_skip_list` and `fc_is_step_complete_billing_field_keys_skip_list` to skip validating required fields in order to determine if the steps are complete or not.
* Added: Add new classes for form fields `form-row-one-third`, `form-row-two-thirds` and `form-row-middle`.
* Improved: Validate shipping methods fields selection on the client-side.
* Fixed: Remove duplicate product image on checkout order summary for some themes.
* Fixed: Do not set first shipping method as selected from the template file, instead, let WooCommerce manage the chosen shipping method.
* Fixed: PHP warning `Undefined array key "type"` when trying to get the substep review text for custom fields.

= 1.5.0 - 2022-01-28 =

* Bump tested up to WordPress 5.9 and WooCommerce 6.1
* Added: New filter `fc_checkout_update_fields_selectors` for CSS selectors used to trigger update the checkout fragments.
* Added: New filters `fc_is_billing_same_as_shipping_checked` and `fc_output_billing_same_as_shipping_as_hidden_field` for billing same as shipping.
* Added: New filter `fc_is_billing_address_data_same_as_shipping_before` to allow developers to hijack the returning value for the function `FluidCheckout_Steps::is_billing_address_data_same_as_shipping_before()`.
* Added: Function to get list of address field keys, necessary for Address Book (PRO) feature.
* Added: New class `fc-no-validation-icon` for checkout field classes to prevent or remove the validation check icon.
* Added: New class `fc-skip-hide-optional-field` to skip hiding optional checkout fields.
* Added: New debug mode advanced option.
* Added: New "Tools" settings section. Only available where there are tools to be displayed.
* Added: New filter `fc_billing_same_as_shipping_option_label` to change the label for the option "billing address same as shipping".
* Added: Compatibility with plugin Creative Mail.
* Improved: Color contrast set by Fluid Checkout to pass WCAG 2.1 AA.
* Improved: Renamed the checkout settings subtab from "Checkout options" to "Checkout".
* Improved: Compatibility with plugin WooCommerce Stripe Payment Gateway - by WooCommerce, will not show Express Checkout section if the Stripe payment gateway is not available.
* Improved: Compatibility with plugin Checkout Field Editor for WooCommerce (free) - by Themehigh, now the changes applied to billing and shipping fields are also applied to the address edit form on the account pages.
* Improved: Compatibility with theme Neve, login form is now displayed in the modal as expected.
* Improved: Compatibility with plugin Checkout Field Editor for WooCommerce. Add option to make changes to checkout fields affect account edit address screen.
* Improved: Display contact substep fields based on the order of field keys in the contact fields list.
* Improved: Dynamically display contact substep field values on the substep review text when the step is completed.
* Improved: Refactor custom admin setting types moving each type to their own files.
* Improved: Add `state`, `country` and `select` field types to the optional fields to hide behind an "add" link.
* Improved: Refactor replace use of `$checkout` variable from `WC()->checkout()` in multiple places.
* Improved: Display shipping only fields after the fields in common with the billing section (same as billing only fields).
* Improved: Refactor normalize theme compat styles to use theme specific selector `body.theme-slug`, where `slug` is the actual theme slug.
* Improved: Refactor functions to generate substep review text with array of lines for easier customization.
* Improved: Display custom fields in the substep review text.
* Improved: Change function priority get checkout field values from persisted posted data or session to `100`, previously `10`.
* Improved: Also update the checkout form and order summary when the browser tab gets visible again, as when changing tabs.
* Improved: Change order of gift message field to before the gift from/sender field to make it consistent with other parts of the website.
* Fixed: Stretched product images on the checkout order summary.
* Fixed: Fatal error while editing the checkout page on Elementor, and possibly other page editors.
* Fixed: Skip setting posted data to session or customer object when the `post_data` request parameter is not provided, avoiding the values from being cleared unintentionally.
* Fixed: Remove field values from session in case they are not provided with the `post_data` parameter, fixes not being able to unselect/uncheck optional `checkbox`, `radio` and `select` fields.
* Fixed: Parse posted data for multiple-value/multi-select fields as arrays.
* Fixed: Use filtered parsed posted data when getting field keys to save to customer session.
* Fixed: Shipping and billing phone numbers being displayed twice on order confirmation page.
* Fixed: Missing borders between some steps and substeps.
* Fixed: Maybe get shipping country value from session when appropriate.
* Fixed: Allow HTML elements for gift message text, message footer and information text on Packing Slip documents.
* Fixed: Display gift message section on Packing Slip documents even when option to display gift message as part of the totals table is enabled.
* Fixed: Typo in the filter name, renaming `fc_adress_field_keys_skip_list` to `fc_address_field_keys_skip_list`.
* Fixed: Checks for shipping and billing address when determining if the steps are complete to use the correct country values when addresses were changed by hooks.
* Fixed: Prevents fatal error on admin pages by checking for available resources before calling them.
* Fixed: Added the missing hook `woocommerce_checkout_after_customer_details` back to the checkout page after the billing form.
* Fixed: Validation of fields in the contact substep.
* Fixed: Styles for `select2` fields to fill 100% width of available field container space.
* Fixed: Styles for `select2` multiple selection fields for various themes.
* Fixed: Only display shipping phone in the contact step review text when the field is available.
* Removed: Duplicate filter hook `fc_general_settings`, instead use the hook `fc_checkout_general_settings`.

[See older changes](https://github.com/fluidweb-co/fluid-checkout/blob/main/changelog.md)


== Upgrade Notice ==

= 1.5 =
* Lays the foundations for the PRO version. Change the way field values are persisted between requests. Remove hook `fc_general_settings` and renamed hook `fc_adress_field_keys_skip_list` to `fc_address_field_keys_skip_list` can break customizations that use those hooks.

= 1.4 =
* Changes to "Proceed to <next_step>" button labels, custom translations will need to be updated. Changes the way customer session data is cleared. Renamed hook `fc_customer_persisted_data_clear_fields` to `fc_customer_persisted_data_clear_fields_order_processed` can break customizations that use this hook.

= 1.3 =
* Moved local pickup functions and customizations to a new class, potentially breaking sites with customizations that rely on these functions.
