← Zurück zu Polski PRO v1.18.1 (24 Releases)

Changelog Polski PRO

Changelog für das verfügbaren WooCommerce-Plugin Polski PRO: Updates, Korrekturen und Funktionsentwicklung.

v1.18.1
  • The multi-step checkout now honours the free plugin's Checkout button module. Both the classic and the block multi-step checkout read that setting directly, so switching the module off left the custom wording on the place-order button anyway.
  • Minimum WordPress raised to 6.9, matching the free plugin.
v1.18.0
  • The KSeF environment selector now works. The client read a `test_mode` key that nothing ever wrote, so every store was pinned to the Ministry test endpoint regardless of the setting. Choosing "production" now really means production. Only that exact value opts in; anything else, including an empty or unrecognised value, stays on the test endpoint.
  • Safety measure for the above: if your store already had "production" stored, this update resets it to "test" once. That value was chosen while the setting did nothing, and an update should not be the reason a store starts filing legally binding invoices. Set it back deliberately when you are ready. Authentication has still not been proven end to end against a live test account.
  • The Product add-ons module toggle now does something. Add-ons ran on every store regardless of the switch, because the service never read it. To avoid removing a working feature, this update turns the module on automatically for any store that already has add-ons configured on at least one product.
  • Removed the accounting settings group. It collected API credentials for wFirma, Fakturownia and iFirma to perform a push that no code path could carry out, so the plugin was storing third-party API keys and doing nothing with them. Stored values are left untouched in the database and are no longer read or editable. For accountants, the per-invoice UBL/PEPPOL download and the JPK_FA report remain, and all three services import those files.
v1.17.0
  • Fixed a fatal error in the KSeF submission endpoint. `POST /polski-pro/v1/invoices/{id}/ksef` called a method that does not exist, so the request died instead of returning a response. It now queues the submission and answers 202, with 422 for document types KSeF does not accept (receipts, proformas, packing slips), 409 for an invoice already submitted, and 503 when Action Scheduler is unavailable.
  • Fixed the KSeF token setting, which had never been read. The settings endpoint saves the token as `api_token` while the background job looked for `auth_token`, so every submission stopped immediately with a "no auth token" status even when a token was filled in.
  • Fixed the KSeF retry backoff. The delay was calculated and then discarded, so a persistent API fault produced four submissions within seconds instead of spacing them out.
  • KSeF submissions still go to the Ministry test environment only, and the authentication flow has not been proven end to end against a live test account. Nothing in wp-admin triggers a submission; the REST endpoint is the only entry point.
  • Corrected the plugin description and the in-plugin upgrade screen. Direct transmission to wFirma, Fakturownia and iFirma is not enabled in this version, and courier label generation is not available for any carrier. What ships is the per-invoice UBL/PEPPOL XML download, the JPK_FA report, and live shipment tracking. The documentation has been rewritten to match.
v1.16.0
  • AI Act (art. 50) transparency: product copy created by the AI description generator is now marked (machine-readable) and gets a short disclosure on the storefront. A new "Label AI-generated content" option (on by default, in the free plugin's AI settings) controls the on-page disclosure.
v1.15.4
  • Accessibility: honour the OS reduce-motion preference in the multi-step checkout and deactivation forms.
v1.15.3
  • Plugin Check: escaping/sanitisation/i18n/hygiene fixes.
v1.15.2
  • Hardening: added direct file access protection to the template and configuration files that were missing it, so they cannot be loaded outside of WordPress.
v1.15.1
  • Fixed an order fulfillment status issue that could prevent settings from loading on stores using the Packed/Shipped/Delivered statuses.
  • Completed the Polish translation for the order fulfillment statuses and the tax-rules command, and corrected several Polish strings.
  • Internal quality: restored the PHPStan bootstrap so static analysis runs again, and the analyzer now verifies that every settings-backed service is wired correctly.
v1.15.0
  • Licensing and updates now run through Freemius (one-step activation, automatic updates), replacing the in-house license manager. Standalone premium distribution via wppoland.com.
  • Security hardening: escaped all admin/storefront output (XSS), bound SQL table and identifier names with %i placeholders across every repository, and documented request handlers that rely on WooCommerce/WordPress nonce verification.
  • Internal quality: working WPCS, PHPStan (level 6), and PHPUnit gates for the Pro plugin.
v1.14.0
  • Withdrawal Pro: one-click refunds from the admin and via REST (`POST /polski-pro/v1/withdrawals/{id}/refund`), with defensive epsilon rounding and payload re-validation on the refunded amount.
  • Withdrawal Pro: refund PDF credit notes, withdrawal audit log, reporting, and accounting-integration hooks.
  • Withdrawal Pro: one-time admin guide covering the Pro-specific withdrawal decisions.
v1.13.0
  • Automation engine: rule-based automation UI with a filter system for triggering store actions.
v1.12.0
  • Catalog Mode: full "disable shop" mode. New `polski_catalog.disable_shop` toggle (off by default) blocks shop archive, cart, and checkout routes when active so the storefront becomes a pure showcase. Independent sub-toggles per route family (`disable_shop_archive`, `disable_cart`, `disable_checkout`) so merchants can keep, for example, the cart up while hiding the public shop. Admins (manage_woocommerce) bypass the block so they can still preview from wp-admin. Routes early on `template_redirect` priority 1 with a 302 to home_url; filterable via `polski/catalog_mode/disabled_redirect` (return empty string for a 404 instead).
  • Catalog Mode: ABSPATH direct-access guard on the service file (Plugin Check requirement).
v1.11.1
  • GUS auto-fill button: now works in **Block checkout** in addition to classic. The inline script handles both legacy (`#billing_nip`) and WC 8.6+ additional-fields (`#polski-nip`, `input[name="polski/nip"]`) field IDs, uses React's native input setter so controlled inputs pick up programmatic value changes, and watches the DOM with `MutationObserver` so it survives Block checkout's async hydration.
  • GUSClient: short-circuits to `WP_Error('gus_no_soap')` when the PHP soap extension is missing instead of throwing, so the REST endpoint returns a clean 501 without needing an outer try/catch.
  • GUSClient: object cache for the NIP table read (`wp_cache_get`/`wp_cache_set`/`wp_cache_delete`), `%i` placeholder for the table name, and a translators comment on the SOAP fault message - clears the remaining Plugin Check warnings on this file.
  • GUSClient: tighter return type on the cache helper to match the public `lookupByNip` shape.
v1.11.0
  • New: GUS auto-fill button at checkout. The classic WooCommerce checkout now shows a "Pobierz dane z GUS" button next to the NIP field; on click the new POST `/wp-json/polski-pro/v1/gus/lookup` endpoint queries GUS via the existing `Polski\Pro\Validation\GUSClient`, validates the NIP with `Polski\Util\NipValidator`, and fills `billing_company`, `billing_address_1`, `billing_postcode`, `billing_city`, and `billing_regon`. Includes a per-IP rate limit (default 10 lookups / hour, filterable via `polski-pro/gus/rate_limit_window_seconds` and `polski-pro/gus/rate_limit_max_attempts`). Block-checkout integration is left for a follow-up - the REST endpoint is reusable.
v1.10.0
  • New module: AI Feed - invoice Markdown endpoint. `GET /wp-json/polski-pro/v1/invoices/{id}/markdown` returns a Markdown representation of an invoice (number, type, parties NIP, item table with net/VAT/gross, totals, KSeF reference and status, correction reason) so accounting agents and customer-service AI can ingest invoice data without parsing PDF. Auth: shop managers can fetch any invoice; the order owner can fetch their own when authenticated. New filter `polski-pro/ai_feed/invoice_markdown` for customizing the output. Service `Polski\Pro\AIFeed\InvoiceMarkdownBuilder`.
v1.9.0
  • OSS integration helper: `Polski\Pro\TaxRules\OssHelper::isEnabled()` lets invoice, tax-rule and shipping code branch on OSS state without coupling to the FREE `OssObserverService` directly. Reads the `polski_tax_oss_enabled` filter exposed by polski 1.10.0.
v1.8.3
  • Subscriptions: price-change notifications. `Repository::updateRecurringAmount()` now diffs the previous amount and fires `polski_subscription_amount_changed`; the service listens on this action and emails the customer with old/new price, effective renewal date, and a one-click cancel link. Filters `polski_subscription_amount_change_body` / `_headers`; action `polski_subscription_amount_change_notified`.
v1.8.2
  • Subscriptions: extensibility hooks for renewal reminders, filters `polski_subscription_reminder_windows`, `polski_subscription_reminder_subject`, `polski_subscription_reminder_body`, `polski_subscription_reminder_headers`, `polski_subscription_skip_reminder`; actions `polski_subscription_reminder_sent`, `polski_subscription_reminder_failed`.
v1.8.1
  • Performance: bundle flatpickr 4.6.13 locally (checkout LCP improvement, eliminates third-party origin on `cdn.jsdelivr.net`).
  • Performance: upgrade `wp_enqueue_script` calls to array strategy with `defer` (Tax Rules admin, flatpickr).
v1.8.0
  • Tax Rules: WP-CLI command `wp polski tax-rules {list,run,export,import}`.
  • Tax Rules: Bulk action on products list ("Apply tax rules" / "Dry-run tax rules").
  • Tax Rules: 31 unit tests for model serialization + engine condition evaluation.
v1.7.2
  • Tax Rules: Smart Pickers in editor (categories, tags, tax classes, GTU codes).
  • Tax Rules: Weekly and Monthly cron triggers.
v1.7.1
  • Tax Rules: custom taxonomy condition, rule groups, search/filter, JSON import/export.
v1.7.0
  • New module: Tax Rules engine for auto-assigning GTU, JPK_V7 codes and tax classes.
v1.6.0
  • Initial release of PRO.