Limited-Time Offer

Get Extra 20% off on FullCharge Yearly Plan — available for first 10 users only. Don’t miss out! 🚀

WC · Version history

WC changelog and version history

Latest version
4.18.1
Nov 5, 2026 (6 days ago)
Releases
116
since 2017
In the last year
24
about one every 15 days
Tested up to
WordPress 7.2
PHP 7.4 or later

Releases each year

  • 20178 releases
  • 20189 releases
  • 20191 release
  • 20204 releases
  • 20215 releases
  • 202210 releases
  • 20236 releases
  • 202419 releases
  • 202531 releases
  • 202623 releases

202623 releases

  1. WC 4.18.1Latest

    • The links to the website, the documentation, the donation and the support now open in the language of whoever is looking at the screen.
  2. WC 4.18.0

    • Contextual help in the Help tab of the settings page, with a panel for every section and a link to the full documentation.
  3. WC 4.17.0

    • Fixed: valid identifiers from Cyprus, Malta and Serbia were rejected, because their check digit algorithms were not the official ones.
    • Fixed: Dutch VAT numbers issued since 2020, which are not derived from the personal identification number, are accepted now.
    • Fixed: Ireland, France, Portugal, Sweden, Slovenia, Latvia and Romania rejected valid forms of their identifiers.
    • Fixed: Spanish NIF numbers from the K, L and M series were checked with the company algorithm instead of the individual one.
    • Fixed: the + and * signs, which are part of some Irish and Dutch numbers, were stripped when the field was cleaned up.
    • New: check digit validation for Albania, Andorra, Belarus, Moldova, Montenegro, North Macedonia, San Marino and Ukraine.
    • New: Northern Ireland (XI) numbers are validated, instead of always rejected, and the Brazilian CNPJ accepts the numbers with letters issued from 2026.
  4. WC 4.16.1

    • Fixed: the plugin redefined the Phone field and always left it as optional, ignoring the setting in Customize > WooCommerce > Checkout, and brought the field back even when it was set to hidden. WooCommerce already provides it, so the plugin no longer touches it.
  5. WC 4.16.0

    • Security: the VAT exemption was kept in the customer session and was never rechecked when the order was placed, so an order could be completed without VAT using a number that did not match the order address. It is now recalculated from the final order data in both checkouts.
    • Fixed: the United Kingdom check digit algorithm rejected valid VAT numbers (Tesco’s GB220430231 or the BBC’s GB333289454). It now follows the HMRC specification.
    • Fixed: a VIES or EORI outage could leave a valid number remembered as invalid. Only conclusive answers are cached now, for 30 days if valid and 24 hours if not.
    • Fixed: on the first load of the Checkout block the shipping form was not validated, so a NIF/CIF/NIE coming from the customer’s saved address did not apply the exemption until the field was touched.
    • New check digit validation for Iceland, Brazil (CNPJ and CPF), Peru, Colombia and Uruguay. Monaco now uses the French algorithm and the Åland Islands the Finnish one.
    • Brazil, Mexico, Colombia, Peru and Uruguay added to the validated countries: their identifiers used to be accepted without any checking. Mexico’s RFC is checked for structure and for a real date.
    • The EORI number is checked for shape before querying HMRC or the European Commission.
    • Security: data migrations no longer run for users without the manage_woocommerce capability, the customer CSV export neutralizes formula injection, the checkout scripts escape everything they print, and every $_POST read verifies its own nonce.
    • New apg_nif_maximo_consultas_por_minuto filter to cap external VIES/EORI lookups per IP address. Off by default.
    • Fixed: a field sharing its label with the NIF/CIF/NIE one disappeared from the order admin, the missing SoapClient notice showed the link markup as plain text, and a fatal error was possible on the VIES endpoint without a WooCommerce session.
    • Tested with WooCommerce 11.1.0. The translation template has been regenerated: nine strings that were in the plugin but missing from it are now translatable.
  6. WC 4.15.0

    • New setting “Require billing field from this amount”: the NIF/CIF/NIE field becomes required in the billing form when the order total (taxes included) is equal to or greater than the amount entered, even if the “Require billing field?” option is not checked. Leave it empty to disable it. It never a…
    • Fixed: in the Checkout block, the billing field was not enforced as required when “Show shipping field?” was unchecked and both required options were checked. The field was not registered as natively required and the plugin’s own check was skipped, so the order could be placed with an empty NIF/CIF…
    • Fixed: in the Checkout block, the per-form required check only ran when some validation (NIF/CIF/NIE, VIES or EORI) was enabled. Requiring the field in a single form without any validation active had no effect.
    • Security: the AJAX endpoint that applies the VAT exemption in the Checkout block (apg_nif_quita_iva_bloques) trusted the value sent by the browser and did not check any nonce, so any visitor could remove the VAT from their own order without a valid VAT number. It now verifies the nonce and recalcul…
    • The field label is now kept in sync with the order amount in both checkouts: the “(optional)” text disappears as soon as the order reaches the configured amount, and comes back if it drops below it (for example, after applying a coupon). The state is always calculated on the server, so the label an…
    • In the Checkout block, with “Use same address for billing” ticked only the shipping form is shown, and that address is also the billing one: its NIF/CIF/NIE field now follows the billing rules, as it should.
    • Fixed: when the field was required and left empty with validation enabled, two error messages were shown (the required one and the invalid format one). The format is no longer validated on an empty field.
    • Fixed: uninstalling the plugin left behind the apg_nif_meta_pedido_migrado option and the VIES/EORI cache transients.
    • The json_split_objects() helper function has been renamed to apg_nif_json_split_objects(). It was declared in the global namespace without a prefix, which could cause a fatal error if another plugin declared the same name.
    • Internal cleanup: removed unreachable code, unused globals and an unnecessary address-fields lookup in the shipping form.
  7. WC 4.14.1

    • Fixed: the metadata cleanup and the one-time automatic migration did not actually process the HPOS order table (wc_orders_meta); they relied on the $wpdb->wc_orders_meta property, which WooCommerce does not set, so on HPOS stores the 4.14.0 migration touched only postmeta and left the orders untouc…
  8. WC 4.14.0

    • The order meta key for the NIF/CIF/NIE is now _billing_nif / _shipping_nif (with a leading underscore), matching WooCommerce’s native order meta convention (_billing_*) so the value is read by ERP integrations such as Holded and others that expect the underscored key. Reading still falls back to th…
    • The duplicate-metadata cleanup tool now migrates the legacy billing_nif / shipping_nif keys to the canonical _billing_nif / _shipping_nif (in both postmeta and HPOS wc_orders_meta). Run it from the plugin settings or via WP-CLI on large stores.
    • This cleanup also runs automatically once, in the admin, right after updating to this version, so the migration happens without clicking the button (the settings button and the WP-CLI script remain available as an alternative for very large stores).
    • Customer (user) meta is unchanged: it stays billing_nif / shipping_nif, as WooCommerce stores customer billing fields without the underscore.
  9. WC 4.13.0

    • Fixed the NIF/CIF/NIE field not being auto-filled when selecting a customer while creating or editing an order in the admin panel. The field is now rendered with the id that WooCommerce’s customer-details script expects (_billing_nif / _shipping_nif), while the value is still stored under the canon…
    • Unified the NIF metadata key across every save path. The classic checkout no longer leaves a legacy _billing_nif / _shipping_nif copy, and editing an order from the admin panel no longer creates a second metadata entry.
    • Rewrote the duplicate NIF metadata detection and cleanup tool. Detection now also finds orders where billing_nif and _billing_nif (or shipping_nif and _shipping_nif) coexist, works on both postmeta and wc_orders_meta (HPOS, including sync mode and configurations where the cleanup button previously…
    • Reviewed and corrected the plugin’s English texts. Fixed the wording of the settings description and field tooltips (e.g. “validate the field before submission”, “allow and validate the VIES VAT number / the EORI number”) and of the information box (“Contact us”, “If you enjoy this plugin and find…
  10. WC 4.12.2

    • Fixed the root cause of the NIF field not saving when editing an existing order from the admin panel: the field definition was missing an explicit id, so WooCommerce was writing the admin-entered value to _billing_nif / _shipping_nif instead of billing_nif / shipping_nif. As a result, the display a…
    • Fixed the duplicate NIF metadata detection function so it checks both postmeta and wc_orders_meta (HPOS) regardless of the active storage mode. Previously the cleanup button could fail to appear on stores using HPOS sync mode or certain HPOS configurations.
  11. WC 4.12.1

    • Fixed a regression introduced in 4.12.0 where editing the NIF field on an existing order from the admin panel and saving would silently discard the new value, leaving the old one in the database. This happened on stores with duplicate NIF metadata rows created by older versions of the plugin. The a…
  12. WC 4.12.0

    • Fixed duplicate billing_nif / shipping_nif metadata rows generated when placing orders with Checkout Blocks, which caused the NIF field to appear unchanged after editing an order from the admin panel.
    • Added a “Fix duplicate NIF metadata” button in the plugin settings page to clean up existing duplicate rows in stores affected by previous versions.
  13. WC 4.11.4

    • Fixed a Checkout Blocks regression introduced in 4.11.3 where the NIF/CIF/NIE field could be treated as a native address field during Store API requests and incorrectly trigger a required-field error on checkout.
  14. WC 4.11.3

    • Fixed the NIF/CIF/NIE field in My Account address editing when the account page is rendered with the [woocommerce_my_account] shortcode on stores using Checkout Blocks.
  15. WC 4.11.2

    • Fixed order admin and formatted address NIF loading for orders created with Checkout Blocks by reading billing_nif and shipping_nif first, with fallback to legacy meta keys.
  16. WC 4.11.1

    • Fixed requerido_envio in classic checkout so the shipping NIF/CIF/NIE field is only required when the customer checks “Ship to a different address”.
  17. WC 4.11.0

    • Added the apg_nif_skip_required filter to override the required status for billing or shipping via hook.
  18. WC 4.10.0

    • Added support for Italian Codice Fiscale validation.
    • Fixed international prefix detection so non-ISO leading letters are not treated as country prefixes.
    • Fixed Checkout Block VIES validation initialization in valida-bloques-nif.js.
  19. WC 4.9.1

    • Fixed compatibility with FunnelKit Builder custom checkout validation when showing the shipping field.
    • Minor fixes.
  20. WC 4.9.0

    • Added compatibility declaration for product_instance_caching.
    • Improved VIES, EORI and VAT exemption handling.
  21. WC 4.8.3

    • Added a new option to hide the shipping NIF/CIF/NIE field.
    • Improved required billing/shipping field handling in the Checkout Block.
    • Fixed compatibility with Checkout Field Editor (Checkout Manager) for WooCommerce.
    • Minor fixes.
  22. WC 4.8.2

    • Minor fixes.
  23. WC 4.8.1

    • Added the apg_nif_skip_validation filter
    • Minor fixes.

202531 releases

  1. WC 4.8.0

    • Fixed JavaScript validation.
  2. WC 4.7.0.6

    • Minor fixes.
  3. WC 4.7.0.5

  4. WC 4.7.0.4

  5. WC 4.7.0.3

  6. WC 4.7.0.1

  7. WC 4.7.0.2

  8. WC 4.7

  9. WC 4.6.0.1

  10. WC 4.6

  11. WC 4.5.0.2

  12. WC 4.5.0.1

  13. WC 4.5

  14. WC 4.4.0.1

  15. WC 4.4

  16. WC 4.3

  17. WC 4.2

  18. WC 4.1.0.1

  19. WC 4.1

  20. WC 4.0.0.9

  21. WC 4.0.0.8

  22. WC 4.0.0.7

  23. WC 4.0.0.6

  24. WC 4.0.0.5

  25. WC 4.0.0.4

  26. WC 4.0.0.3

  27. WC 4.0.0.2

  28. WC 4.0.0.1

  29. WC 4.0

  30. WC 3.2.0.1

  31. WC 3.2

202419 releases

  1. WC 3.1.0.2

  2. WC 3.1.0.1

  3. WC 3.1

  4. WC 3.0.15

  5. WC 3.0.14

  6. WC 3.0.13

  7. WC 3.0.12

  8. WC 3.0.11

  9. WC 3.0.10

  10. WC 3.0.9

  11. WC 3.0.8

  12. WC 3.0.7

  13. WC 3.0.6

  14. WC 3.0.5

  15. WC 3.0.4

  16. WC 3.0.3

  17. WC 3.0.2

  18. WC 3.0.1

  19. WC 3.0

20236 releases

  1. WC 2.1.0.2

  2. WC 2.1.0.1

  3. WC 2.1

  4. WC 2.0.1

  5. WC 2.0

  6. WC 1.7.4.1

202210 releases

  1. WC 1.7.4

  2. WC 1.7.3.1

  3. WC 1.7.3

  4. WC 1.7.2.6

  5. WC 1.7.2.5

  6. WC 1.7.2.4

  7. WC 1.7.2.3

  8. WC 1.7.2.2

  9. WC 1.7.2.1

  10. WC 1.7.2

20215 releases

  1. WC 1.7.1

  2. WC 1.7

  3. WC 1.6

  4. WC 1.5.1

  5. WC 1.5

20204 releases

  1. WC 1.4.2

  2. WC 1.4.1

  3. WC 1.4.0.2

  4. WC 1.4.0.1

20191 release

  1. WC 1.4

20189 releases

  1. WC 1.3.0.2

  2. WC 1.3.0.1

  3. WC 1.3

  4. WC 1.2.1.3

  5. WC 1.2.1.2

  6. WC 1.2.1.1

  7. WC 1.2.1

  8. WC 1.2.0.4

  9. WC 1.2.0.3

20178 releases

  1. WC 1.2.0.2

  2. WC 1.2.0.1

  3. WC 1.2

  4. WC 1.1.0.6

  5. WC 1.1.0.5

  6. WC 1.1.0.4

  7. WC 1.1.0.3

  8. WC 1.1.0.2

Questions about WC’s releases

What is the latest version of WC?

4.18.1, released on Nov 5, 2026 (6 days ago). It’s tested up to WordPress 7.2 and needs PHP 7.4 or later.

How often is WC updated?

24 releases in the last year, about one every 15 days. Its first release on WordPress.org dates from June 2017.

Know when your rivals ship

Track your plugin and its rivals: TrackWP sees each new release in the nightly snapshot and alerts you, with what it did to their rank.

Start free

Release dates come from the day each version’s folder was made in WC’s WordPress.org SVN repository; the notes from its readme’s changelog, as its authors wrote it.