← Back to Polskiv1.31.1 (50 releases)

Changelog Polski

Changelog for the available Polski WooCommerce plugin: updates, fixes and feature development.

v1.31.1
  • Fixed: switching the NIP module off left the NIP field on checkout. Two services could add it, and the second one defaulted to on from a setting no screen writes, so the switch a merchant can actually see only ever worked in one direction. The field now has a single owner, the NIP module, on both the block and the classic checkout. Reported by czester on the support forum.
v1.31.0
  • Added: **VAT invoices, in the free plugin.** Switch the Invoices module on and an order screen gains an Issue invoice button. The invoice is numbered per year (FV/1/2026, restarting each January), shows both parties with their VAT IDs, lists every line with its own rate, and groups VAT by rate the way an accountant reads it. Shipping and fees are invoiced too.
  • Added: customers get an Invoice link on their order in My Account. The document opens through a link carrying a token derived from the invoice itself, so it works from an email without a login and cannot be reached by guessing an id.
  • Added: the invoice is laid out for A4 and prints cleanly. The free plugin deliberately does not bundle a PDF engine, because a usable one is tens of megabytes; every browser prints to PDF, and that is one click on the document.
  • Note: an issued invoice is frozen. Editing the order afterwards does not rewrite it, which is the point of a document with a number on it. Issuing twice for one order returns the invoice already issued rather than burning a second number.
v1.30.8
  • Fixed: the NIP field never appeared on the block checkout. Polski boots on `init` priority 0, by which point WooCommerce has already fired `woocommerce_init`, so the services that registered their block checkout fields on that action registered them into an event that had already passed. Affected the NIP lookup module and the B2B checkout fields.
  • Fixed: legal checkboxes could be switched on but never off. Two handlers were attached to the same admin-post action; the one that won only wrote back the fields present in the request, and an unticked checkbox is absent from a form submission. There is now a single save path, and it also stops stripping the link markup out of the Terms and Privacy labels.
  • Fixed: the order button label had no effect on the block checkout. That button is rendered by React and its label resolved through WooCommerce's own checkout filter, so the PHP filter Polski used could never reach it. It now registers the supported `placeOrderButtonLabel` filter instead. The classic checkout is unchanged.
  • Fixed: the NIP field was registered twice when both the NIP lookup module and the B2B checkout fields were on, which WooCommerce rejects. The lookup module now owns the field.
v1.30.7
  • Fixed: the Polski icon in the admin menu still sat low on a narrow screen and when the menu is collapsed to icons. WordPress shrinks that row from 34 to 30 pixels in both cases and the plugin was still centring the icon in the taller one. 1.30.3 fixed the ordinary sidebar; this fixes the other two.
v1.30.6
  • Fixed: a shop manager could open the withdrawal settings screen but not save it. The menu was available to anyone who manages WooCommerce, while saving was still restricted to a full administrator, so pressing Save ended in a permissions error. Both now use the same permission.
  • Fixed: changelog.txt, the file that keeps the full release history inside the plugin, was missing the last four releases.
v1.30.5
  • Fixed: a percent sign in the guest form's intro text, added in 1.30.4, corrupted the sentence on the public page. Writing something as ordinary as "Zwracamy 100% ceny" produced "Zwracamy 100" followed by an invisible byte and the rest of the line, because the text was passed through a formatter that reads a percent as a formatting instruction. The intro now uses {company} and {days} and prints everything else exactly as typed, percent signs included. If you already saved an intro containing a percent, it will render correctly after this update with no change on your side.
  • Fixed: the plugin reported its own version as 1.29.7 while being 1.30.x. That number is shown on the plugin's admin page and is used to version stylesheets and scripts, so an admin who had already loaded the old files kept them after updating, which is why the menu-icon fix in 1.30.3 may not have appeared for you. It is also the value the plugin compares against when deciding whether to run an upgrade routine. The release script had been silently failing to update it since 1.29.7.
v1.30.4
  • Added: the guest withdrawal form's wording is now editable under Withdrawal settings, in a Guest form wording section: the heading, the intro paragraph, the two field labels and the submit button. Asked for on the support forum. The texts on the My Account side were already editable and these were not, which was an inconsistency rather than a decision. Leave a field empty and the built-in wording is used exactly as before, so nothing changes for a shop that does not open the screen. The intro accepts %1$s for your company name and %2$d for the withdrawal period, and prints your text as written if you leave them out.
v1.30.3
  • Fixed: the Polski icon in the admin menu sat lower than every other icon in the sidebar, and jumped into place only while the pointer was over it. WordPress puts vertical padding on that element and the plugin's own styling cleared it only in the hover state, so the icon was misaligned for as long as you were not pointing at it.
v1.30.2
  • Declared compatibility with WooCommerce 11.0.
v1.30.1
  • The Polish catalogue is bundled again, on purpose. WordPress.org builds its language packs from the strings in the released package, so a release that changes source strings always lands before translate.wordpress.org has seen the new ones, and this release changes about 520 of them. Without the bundled copy a Polish shop would read an English interface until the translations were re-imported. WordPress still prefers the language pack wherever it has a string, so nothing overrides a translator.
  • Fixed the PRO promo on the settings screen quoting a price in PLN. PRO is priced and charged in EUR, so an admin on a Polish site was shown a zloty amount and then billed in euro, and the zloty figure was a fixed conversion that drifted from the real charge as the rate moved. The promo now shows the euro price that is actually taken.
  • Rebuilt the bundled language catalogues from translate.wordpress.org rather than from the copies in the repository. Those copies had fallen behind: Polish was missing 43 strings that translators had already done, and disagreed with them on another 52. Polish and Czech are now complete.
  • Fixed the withdrawal information block printing its heading twice. It rendered a title of its own directly above the first statutory heading from Annex I to Directive 2011/83/EU, so "Right of withdrawal" appeared on two lines in a row. The two statutory headings are now the only headings, both at the same level as the model form's.
v1.30.0
  • The plugin's source strings are now English. About 520 of them were written in Polish, which is how the plugin started, but WordPress.org expects an English source: every other language on translate.wordpress.org was being translated out of Polish rather than out of the original. Nothing changes on a Polish shop, because each of those strings now carries its old Polish wording as the Polish translation. Shops running another language get translations made from English for the first time.
  • Along the way, a handful of strings that said the same thing in two different ways were consolidated, so the same label no longer appears as two entries to translate.
v1.29.8
  • The package no longer bundles translation catalogues. Polish, Belarusian, Czech, Slovak and Chinese all have WordPress.org language packs built from translate.wordpress.org, so the bundled copies were duplicates of files WordPress already installs on its own, and they added about a megabyte to every download. Nothing changes for those languages. Spanish is the exception: there is no Spanish translation on translate.wordpress.org and therefore no Spanish language pack, so the Spanish interface falls back to English.
  • Housekeeping: the release build refuses to produce a package that carries translation catalogues, development files or editor backups, or whose plugin header and readme disagree about the version or the WordPress version tested. The 1.29.7 build was one manual check away from being uploaded with a mismatched header.
v1.29.7
  • Declared compatibility with WordPress 7.1.
  • Fix: the withdrawal confirmation email now actually reaches the customer. WooCommerce builds its email objects only when something asks for them, and nothing did on a storefront request, so the confirmation had no listener attached and was never sent even though the declaration itself was saved. That is why 1.29.5 did not settle it. The same wiring now also covers the guest declaration form, the REST endpoint, the double opt-in email and the completed and rejected notices.
v1.29.6
  • Fix: resolved a TypeError fatal error on WooCommerce -> Reports when opening sales and refund reports due to non-array statuses passed through the woocommerce_reports_order_statuses filter.
  • Fix: legal checkboxes module toggle is now properly honored on modern WooCommerce block checkout; disabling the module cleanly removes all additional consent checkboxes and restores standard WooCommerce terms behavior.
  • Fix: added WooCommerce 8.6+ Additional Checkout Fields API integration for the NIP lookup module, enabling the NIP field and validation on modern block checkout pages.
  • Fix: the checkout order button text now defaults to statutory "Zamawiam z obowiązkiem zapłaty" when the module is enabled without a custom override, and translates place order button text across both classic and block checkout.
v1.29.5
  • Fix: resolved a TypeError fatal error occurring when filing a withdrawal declaration on the storefront due to hook argument type mismatch in the AI withdrawal reason classifier; confirmation email is now delivered reliably.
v1.29.4
  • Fix: changed allergen seeding names in gettext calls to standard English source strings with bundled Polish translations, ensuring GlotPress translation catalogs on translate.wordpress.org remain 100% complete and valid across all locales.
v1.29.3
  • Fix: resolved a fatal error occurring when filing a withdrawal declaration or viewing the withdrawals list in WP Admin due to mismatched template variables and date formatting on DateTimeImmutable instances; email confirmation is now delivered reliably.
v1.29.2
  • Fix: restored automatic NIP verification and company auto-fill from GUS REGON on checkout; fixed script initialization for custom themes (e.g. Divi) and replaced PHP SoapClient with robust SOAP 1.2 HTTP transport to resolve GUS XOP/MTOM multipart parsing.
v1.29.1
  • Corrected the PRO pricing note. It said the amount is shown in PLN at checkout, which is not true: Polski PRO is priced and charged in EUR. The note now says so, in English, Polish, German and Spanish.
v1.29.0
  • **The Food module now works.** It never did. The service checked a setting that the plugin seeds as off and never writes, so the food block on the product page was invisible on every shop no matter what the Food module toggle said. It now follows the toggle, which is the switch you can actually reach. Enter ingredients, allergens, nutrition, Nutri-Score or alcohol content, switch the module on, and they appear.
  • The other half of the same bug: the food shortcodes and the Elementor food widgets ignored both switches and rendered regardless. They now follow the module too. So that nothing disappears from a shop relying on them, this update switches the Food module on automatically wherever food data already exists: any product with ingredients, nutrition, Nutri-Score, alcohol content, origin or net quantity filled in, or any product tagged with an allergen.
  • Double opt-in now follows its module toggle as well as its own setting; previously the toggle did nothing. Shops that already had double opt-in switched on keep it, because the module is enabled for them automatically, so no account waiting for verification suddenly becomes able to log in.
  • Environmental claim fields in the product editor now follow the Anti-greenwashing module. When the module is off the plugin now leaves stored claims alone instead of clearing them the next time you save the product. Shops with claims already entered get the module switched on automatically.
v1.28.0
  • Six module toggles now do what they say. An audit of all 91 modules found ten with no enabled-check anywhere in the code, meaning the switch was decorative and the feature ran regardless. Fixed in this release: Checkout button, Consent logging, Legal pages, Email attachments, Plugin data and the store audit's environmental-claims check.
  • The most consequential of those: **Consent logging kept recording after you switched it off.** Every order still wrote a row with the shopper's IP address, browser user agent and timestamp. If you had that module off, personal data was being collected against your setting. It now stops when the module is off. Rows already stored are left alone; delete them from the consent records screen if you want them gone.
  • Checkout button: switching the module off now really restores WooCommerce's own "Place order" wording, on the classic, block and multi-step checkouts alike.
  • Email attachments: switching the module off now really stops the legal documents being attached to customer emails. Worth knowing before you switch it off.
  • Legal pages: switching the module off stops new pages being generated. Pages you already have stay published and keep being used everywhere else in the plugin. The module description said "Off until enabled", which was not what happened; it now describes the real behaviour.
  • Plugin data: uninstall now honours the module. With it off, uninstalling leaves your data in place regardless of the delete setting.
  • Fixed the store audit reporting a warning for environmental claims even on stores that had the module switched on. It was checking a module id that does not exist.
  • Raised the minimum WordPress version from 6.4 to 6.9. This matches what already had to be true: WooCommerce 10.8 raised its own WordPress minimum to 6.9, and this plugin requires WooCommerce, so a store on WordPress 6.4 could not be running a supported WooCommerce anyway. The old header promised a compatibility that did not exist.
  • Development dependency: WooCommerce stubs aligned to 10.9.
v1.27.1
  • The nutrition table listed energy twice with both rows labelled "Energy", because the regulation asks for it in kilojoules and in kilocalories. The rows now read "Energy (kJ)" and "Energy (kcal)".
v1.27.0
  • New module, Consumer information: the product page can carry the reminder that the statutory guarantee of conformity applies, plus per-product fields for a commercial guarantee of durability, the period of free software updates for goods with digital elements, and repair information. This is the pre-contractual information Directive (EU) 2024/825 requires from 27 September 2026. Off by default. The harmonised label artwork for the durability guarantee comes from a separate implementing act, so the module renders plain labelled rows for now.
  • Fixed: the nutrition table could never be filled in. The stored nutrition meta had two readers expecting incompatible shapes and nothing that wrote it, so the table never appeared and the nutrition data was always missing from structured data. Nutrition values now import and export through the WooCommerce product CSV, like ingredients and the other food fields, using the form energy_kcal:250|fat:12.3|salt:0.9.
v1.26.0
  • The fourteen allergens of Annex II to Regulation (EU) 1169/2011 are now seeded on update, so the allergen field is usable straight away instead of starting empty. Terms you already created keep their own names; matching is by slug.
v1.25.4
  • Declared compatibility with WooCommerce 10.9.
v1.25.3
  • Security: guest product questions now await moderation instead of auto-publishing, and Q&A voting is restricted to valid answers.
v1.25.2
  • Translation quality pass: corrected Polish, German and Spanish (product names kept in English, legal withdrawal terminology, WooCommerce glossary and grammar fixes).
v1.25.1
  • Documentation: readme links are now labelled links.
v1.25.0
  • Added AI transparency support for the AI Act (art. 50): AI-classified withdrawal reasons are now labelled as such, and a new "Label AI-generated content" option (on by default) discloses product copy generated by the Pro AI description generator on the storefront.
v1.24.12
  • Fixed low-contrast headings on the admin settings screen under an OS dark-mode preference.
v1.24.11
  • Added a Free vs PRO overview to the readme.
v1.24.10
  • Added bundled Polish, German and Spanish translations for the plugin interface.
v1.24.9
  • Added a dashboard overview of PRO features (polski PRO).
v1.24.8
  • Accessibility: the social-proof toast is now keyboard-dismissable, respects reduced motion, and meets AA contrast.
  • Admin: a Polish flag is shown on the Polski row in the plugins list.
  • Added a WordPress Playground blueprint so the plugin can be tried via the wp.org Live Preview.
  • Translations: only the Polish translation is bundled; other locales come from the WordPress.org language packs.
  • Housekeeping: Plugin Check code annotations; release package no longer bundles dev tools.
v1.24.7
  • Housekeeping: stop bundling machine-generated translations (Polish is kept); other languages now come from the WordPress.org language packs. Also keep build artifacts out of the released package. No functional changes.
v1.24.6
  • Fix: a module switched off in Polski > Modules no longer renders anything on the storefront. Previously some features left a non-working button or stray markup behind when disabled (quick view, compare, wishlist, unit price, "from" price, the Omnibus lowest-price note, the VAT and shipping notices, delivery time, manufacturer, badges, the withdrawal links, the dispute-resolution notice, and GPSR safety details).
v1.24.5
  • Fix: the VAT notice under the price no longer shows a doubled percent sign ("23%%" → "23%").
  • Fix: the shipping-costs notice no longer runs into the VAT notice ("VATzzgl." → proper spacing), including in page builders that don't load the plugin stylesheet.
  • Fix: the default Polish shipping-costs label is now "plus koszty wysyłki" (previously an untranslated German "zzgl. kosztów wysyłki").
v1.24.4
  • New blocks: product-data blocks for block themes and the editor - Unit Price, Delivery Time, Lowest Price (Omnibus), Tax Information, Shipping Costs, Manufacturer, Safety Instructions, Safety Documents, Power Supply, Defect Description, Nutrition Values, Allergens, Ingredients, Nutri-Score, Food Information and Product Safety Information (GPSR) - all in the "Polski" category. Each one displays the matching product data and shows nothing outside a product context. This brings the block editor to parity with the Polski widgets for Elementor.
v1.24.3
  • New blocks: DSA Report Form, Dispute Resolution (ODR) Information, Small-Taxpayer VAT Exemption Information and Available Payment Methods are now available as blocks (in the "Polski" category), so they can be placed on any page without remembering a shortcode. Each one displays nothing until the matching feature is configured.
v1.24.2
  • New: all Polski blocks are now grouped in the block editor under a separate "Polski" category, and block metadata is registered from block.json files, so the blocks are correctly visible and easier to find.
  • Fix: storefront blocks - AJAX search, AJAX filters and the product slider - did not register on installed pages. They now register correctly and appear in the editor.
v1.24.1
  • Fix: the gallery and zoom lightbox could stay on screen as a dark overlay if the theme forced its own display value. The closed state is now always hidden.
  • Hardening: the popup and quick-view overlays also force the hidden state, so a theme should not keep a closed overlay on screen.
v1.24.0
  • New: full support for the WooCommerce block checkout. Consent checkboxes, the digital-content consent and custom checkout fields render, validate and save in both the block and classic checkout.
  • New: product information, including the lowest price from 30 days, the unit price and the delivery time, appears in the block cart and checkout.
  • Security: hardened rate-limit handling on the guest withdrawal path and improved IPv6 address anonymisation in the consent log.
  • Fix: uninstall removes all plugin tables, database migrations run in the correct order, and the Omnibus lowest-price window no longer collapses to the current price for an empty period.
v1.23.2
  • Improvement: the setup wizard is now a guided multi-step process: company, legal, taxes and OSS, checkout, finish. It collects company data, enables the needed legal modules and helps configure taxes and checkout. Optional steps can be skipped, and finishing does not disable modules you already use.
v1.23.1
  • Translations: completed the bundled translations for German, Czech, Slovak, Ukrainian, Lithuanian, Belarusian and Simplified Chinese, including the text of the new setup wizard and module search and sorting.
v1.23.0
  • New: the setup wizard. A new card suggests ready-made scenarios such as a Polish legal baseline, food and grocery, digital products, B2B and wholesale, fashion and conversion growth. The wizard only enables modules, it does not disable existing settings.
v1.22.7
  • Fix: the Polski admin menu icon no longer shifts on hover and in the active state.
v1.22.6
  • New: the modules screen now has instant search by name and description and sorting: grouped, alphabetical or enabled first. Without reloading the page.
v1.22.5
  • Fix: removed a TypeError fatal error that could occur on order queries, including on the WooCommerce orders screen, when the withdrawal query helper received a pagination object instead of an array.
v1.22.4
  • New: the BDO number module. Enter a BDO number and display it with the [polski_bdo] shortcode or the BDO number block, for example in the footer. The company identification block can also include the BDO number.
v1.22.3
  • Admin: merged five separate settings screens into one tabbed screen, and moved withdrawals, the consent log, CRA incidents, SBOM, the complaint template and GDPR training documents into a reports and tools centre.
  • Admin: split the module list into groups and added tooltips to each module. Action links are dimmed when a module is disabled.
  • Fix: the Polski menu icon is now centred relative to its label.
  • Translations: refreshed and recompiled all bundled language catalogs after the settings and menu changes.
  • Documentation: updated the documentation and plugin-page links on plogins.com.
  • Older versions are available in [changelog.txt](https://plugins.svn.wordpress.org/polski/trunk/changelog.txt).