= 2.3.0 =
* Sklik / Seznam Nákupy recenze: nové recenze se řadí podle data, nejnovější první (dříve končily za limitem shortcodu)
* Shortcode [tsz_all_shop_reviews] nově zahrnuje i recenze ze Sklik / Seznam Nákupy
* Odstraněno stahování recenzí ze Zboží.cz API (Seznam ukončil v březnu 2026): sekce „Recenze obchodu", pole „API klíč (recenze)" a automatická aktualizace
* Sjednocený Seznam opt-out checkbox v pokladně pro Sklik SEM i Zboží, nastavení pod Sklik – Recenze
* Opt-out checkboxy Heureka a Seznam nově fungují i v blokové (Gutenberg) pokladně
* Sklik SEM: událost AddToCart se odesílá i při AJAX vložení do košíku a z výpisu produktů, včetně množství a varianty
* Aktualizace sdílené knihovny, ověřeno s WP 7.0 a WC 10.8
* Sklik / Seznam Nákupy recenze: nové recenze se řadí podle data, nejnovější první (dříve končily za limitem shortcodu)
* Shortcode [tsz_all_shop_reviews] nově zahrnuje i recenze ze Sklik / Seznam Nákupy
* Odstraněno stahování recenzí ze Zboží.cz API (Seznam ukončil v březnu 2026): sekce „Recenze obchodu", pole „API klíč (recenze)" a automatická aktualizace
* Sjednocený Seznam opt-out checkbox v pokladně pro Sklik SEM i Zboží, nastavení pod Sklik – Recenze
* Opt-out checkboxy Heureka a Seznam nově fungují i v blokové (Gutenberg) pokladně
* Sklik SEM: událost AddToCart se odesílá i při AJAX vložení do košíku a z výpisu produktů, včetně množství a varianty
* Aktualizace sdílené knihovny, ověřeno s WP 7.0 a WC 10.8
= 3.4.2 =
* Opraveno vystavení dokladu u produktů, dopravy a poplatků s HTML v názvu (např. „ nebo `
* `) — iDoklad API takový název odmítá chybou „contains restricted HTML" a doklad nevznikl; HTML se nyní před odesláním odstraní (řádkový zlom se nahradí mezerou)
* Hromadný export skladu do iDokladu nyní zahrnuje i produkty, kterým bylo ID položky iDokladu v tabulce skladu smazáno (prázdná hodnota se dříve přeskakovala); název položky se před odesláním stejně ošetří od HTML a ořízne na 200 znaků
* Do logu chyb API se nově zapisuje i důvod selhání spojení (curl chyba), pokud iDoklad neodpověděl
* Aktualizována sdílená knihovna Toret na v1.174.0 — příliš dlouhý popis chyby se ořízne, aby se záznam do logu neztratil
* Soubor control.php je zastaralý a bude odstraněn, pro cron používejte /wp-json/toret-idoklad/v1/payment-sync.
* Opraveno vystavení dokladu u produktů, dopravy a poplatků s HTML v názvu (např. „ nebo `
* `) — iDoklad API takový název odmítá chybou „contains restricted HTML" a doklad nevznikl; HTML se nyní před odesláním odstraní (řádkový zlom se nahradí mezerou)
* Hromadný export skladu do iDokladu nyní zahrnuje i produkty, kterým bylo ID položky iDokladu v tabulce skladu smazáno (prázdná hodnota se dříve přeskakovala); název položky se před odesláním stejně ošetří od HTML a ořízne na 200 znaků
* Do logu chyb API se nově zapisuje i důvod selhání spojení (curl chyba), pokud iDoklad neodpověděl
* Aktualizována sdílená knihovna Toret na v1.174.0 — příliš dlouhý popis chyby se ořízne, aby se záznam do logu neztratil
* Soubor control.php je zastaralý a bude odstraněn, pro cron používejte /wp-json/toret-idoklad/v1/payment-sync.
= 4.0.0 =
* Nová verze pluginu přepsaná od základu: pouze PPL CPL API a widget výdejních míst 2.0, myAPI odstraněno. Vyžaduje přístup k CPL (Client ID a Client secret ze zákaznické administrace PPL) a API klíč widgetu 2.0.
* Hromadné podání zásilek běží na pozadí ve frontě (Action Scheduler, záložně WP-Cron): administrace nečeká na PPL, čísla zásilek a štítky se v seznamu objednávek doplňují průběžně s ukazatelem průběhu. Pro e-shopy bez stálého provozu je k dispozici serverový cron (adresa v nastavení, záložka Stav).
* Štítky se po založení zásilky stahují dopředu a tisknou na jedno kliknutí. Arch A4 skládá plugin sám a před tiskem se ptá na první volnou pozici, vícebalíkové zásilky tisknou štítky všech balíků, ZPL s volitelným rozlišením 203/300/600 dpi.
* Vytvoření objednávky ani načítání webu nečeká na PPL API, všechna volání jsou mimo požadavek zákazníka.
* Vlastní evidence zásilek a svozů v databázi místo meta objednávek, PPL log s filtry a exportem CSV. Meta objednávek ve tvaru z verze 3.x se dál zapisují kvůli napojeným pluginům a integracím.
* Nový e-mail „PPL zásilka odeslána“ (WooCommerce → Nastavení → E-maily): zákazníkovi odejde hned po založení zásilky u PPL s odkazem na sledování a výdejním místem. Vkládání odkazu na sledování do ostatních e-mailů zůstává.
* Ověření věku 15+/18+ a ID check (ověření totožnosti podle dokladu) u produktu. Služby se kontrolují proti číselníku vašeho účtu PPL, nesjednaná služba odeslání srozumitelně zastaví.
* Obnovena metoda PPL Return Connect Europe a Import (zásilky z adresy odesílatele v zahraničí), vratná zásilka i do zahraničí, celní doklady ICS2 a pole HS kód / celní popis u produktů.
* Svoz: objednání v dialogu s datem a časovým oknem, volitelně automaticky na další pracovní den. Zásilky jednoho odesílatele ve stejný den sdílejí jeden svoz.
* Změna výdejního místa v detailu objednávky, dokud zásilka není u PPL. Widget v pokladně se otevírá podle aktuální adresy zákazníka, bloková pokladna zobrazuje vybrané místo jako pole s adresou ve stylu ostatních Toret dopravců.
* Přepracované nastavení se záložkami: dopravní metody a ceny po zemích, dobírka pevná nebo podle hodnoty objednávky, chování kupónu na dopravu zdarma, vlastní poplatky, nápověda přímo v pluginu. Bez sdílené knihovny toret-library a bez externích funkčních skriptů.
* Licenční klíč a aktualizace přímo v pluginu. Bez aktivní licence funguje jen pokladna.
* Překlady: čeština, slovenština a nově polština.
* Odstraněno večerní doručení, PPL tuto službu už několik let neposkytuje.
* Nastavení i zásilky z verze 3.x se převedou automaticky po aktivaci. Odinstalace pluginu volitelně smaže všechna jeho data (nastavení → Stav).
* Minimální verze: WordPress 7.1, WooCommerce 11.0, PHP 8.1.
* Nová verze pluginu přepsaná od základu: pouze PPL CPL API a widget výdejních míst 2.0, myAPI odstraněno. Vyžaduje přístup k CPL (Client ID a Client secret ze zákaznické administrace PPL) a API klíč widgetu 2.0.
* Hromadné podání zásilek běží na pozadí ve frontě (Action Scheduler, záložně WP-Cron): administrace nečeká na PPL, čísla zásilek a štítky se v seznamu objednávek doplňují průběžně s ukazatelem průběhu. Pro e-shopy bez stálého provozu je k dispozici serverový cron (adresa v nastavení, záložka Stav).
* Štítky se po založení zásilky stahují dopředu a tisknou na jedno kliknutí. Arch A4 skládá plugin sám a před tiskem se ptá na první volnou pozici, vícebalíkové zásilky tisknou štítky všech balíků, ZPL s volitelným rozlišením 203/300/600 dpi.
* Vytvoření objednávky ani načítání webu nečeká na PPL API, všechna volání jsou mimo požadavek zákazníka.
* Vlastní evidence zásilek a svozů v databázi místo meta objednávek, PPL log s filtry a exportem CSV. Meta objednávek ve tvaru z verze 3.x se dál zapisují kvůli napojeným pluginům a integracím.
* Nový e-mail „PPL zásilka odeslána“ (WooCommerce → Nastavení → E-maily): zákazníkovi odejde hned po založení zásilky u PPL s odkazem na sledování a výdejním místem. Vkládání odkazu na sledování do ostatních e-mailů zůstává.
* Ověření věku 15+/18+ a ID check (ověření totožnosti podle dokladu) u produktu. Služby se kontrolují proti číselníku vašeho účtu PPL, nesjednaná služba odeslání srozumitelně zastaví.
* Obnovena metoda PPL Return Connect Europe a Import (zásilky z adresy odesílatele v zahraničí), vratná zásilka i do zahraničí, celní doklady ICS2 a pole HS kód / celní popis u produktů.
* Svoz: objednání v dialogu s datem a časovým oknem, volitelně automaticky na další pracovní den. Zásilky jednoho odesílatele ve stejný den sdílejí jeden svoz.
* Změna výdejního místa v detailu objednávky, dokud zásilka není u PPL. Widget v pokladně se otevírá podle aktuální adresy zákazníka, bloková pokladna zobrazuje vybrané místo jako pole s adresou ve stylu ostatních Toret dopravců.
* Přepracované nastavení se záložkami: dopravní metody a ceny po zemích, dobírka pevná nebo podle hodnoty objednávky, chování kupónu na dopravu zdarma, vlastní poplatky, nápověda přímo v pluginu. Bez sdílené knihovny toret-library a bez externích funkčních skriptů.
* Licenční klíč a aktualizace přímo v pluginu. Bez aktivní licence funguje jen pokladna.
* Překlady: čeština, slovenština a nově polština.
* Odstraněno večerní doručení, PPL tuto službu už několik let neposkytuje.
* Nastavení i zásilky z verze 3.x se převedou automaticky po aktivaci. Odinstalace pluginu volitelně smaže všechna jeho data (nastavení → Stav).
* Minimální verze: WordPress 7.1, WooCommerce 11.0, PHP 8.1.
= 2.2.1 =
* Soubor includes/api/cron-status-update.php je zastaralý a bude odstraněn, pro cron používejte /wp-json/toret-csob/v1/check-status
* Opraveno opakované volání Google Pay echo na bránu ČSOB při každém načtení pokladny (výsledek se nyní ukládá do session)
* Doplněn timeout pro volání API ČSOB (5 s připojení, 15 s odpověď), nedostupná brána už neblokuje pokladnu
* Zapnuto ověřování SSL certifikátu brány ČSOB (CA bundle WordPressu, cestu lze změnit filtrem toret_csob_ssl_certificate_path)
* Soubor includes/api/cron-status-update.php je zastaralý a bude odstraněn, pro cron používejte /wp-json/toret-csob/v1/check-status
* Opraveno opakované volání Google Pay echo na bránu ČSOB při každém načtení pokladny (výsledek se nyní ukládá do session)
* Doplněn timeout pro volání API ČSOB (5 s připojení, 15 s odpověď), nedostupná brána už neblokuje pokladnu
* Zapnuto ověřování SSL certifikátu brány ČSOB (CA bundle WordPressu, cestu lze změnit filtrem toret_csob_ssl_certificate_path)
= 3.2.1 =
* Opraveno zpracování notifikací platby na webech s cache (WP Rocket, LiteSpeed, Cloudflare) – endpoint pro notifikace a návrat z brány je nově chráněn proti cachování
* Opraveno logování – záznamy v logu nyní obsahují číslo objednávky
* Opraveno zpracování notifikací platby na webech s cache (WP Rocket, LiteSpeed, Cloudflare) – endpoint pro notifikace a návrat z brány je nově chráněn proti cachování
* Opraveno logování – záznamy v logu nyní obsahují číslo objednávky
= 1.1.0 =
* Oprava: Markdown verze stránky přicházela o hlavní obsah u šablon, které mají na obalu stránky třídu obsahující „sidebar“ (např. sidebars1, has-sidebar, no-sidebar) – ve výstupu pak zůstala jen data produktu a atributy
* Oprava: Generování Markdownu nově projde ochranou heslem pluginu Password Protected (typicky na staging webech) – vlastní požadavek pluginu se ověřuje tajným tokenem
* Metabox stránky/produktu upozorní, když se vyrenderovanou stránku nepodařilo stáhnout (přihlašovací stránka, HTTP chyba, prázdná odpověď) a Markdown obsahuje jen základní obsah
* Nové soubory pro AI agenty: llms-full.txt (rozšířený index se strojově čitelnými endpointy), agents.md (provozní manuál pro AI agenty s editorem v administraci) a sitemap sitemap_agentic_discovery.xml zařazená do indexu sitemap WordPressu, Yoastu i Rank Math
* Markdown verze stránky je dostupná i přes příponu .md v URL (/stranka.md, /kategorie/index.md)
* Hlavičky X-Markdown-Tokens a Content-Signal u Markdown odpovědí (kompatibilní s Cloudflare Markdown for Agents), nastavení Content-Signal v administraci
* llms.txt podle specifikace v2 – odkaz rel="describedby" v hlavičce stránky i HTTP hlavičce Link, odkazy na llms-full.txt a agents.md v robots.txt
* Oprava: Markdown verze stránky přicházela o hlavní obsah u šablon, které mají na obalu stránky třídu obsahující „sidebar“ (např. sidebars1, has-sidebar, no-sidebar) – ve výstupu pak zůstala jen data produktu a atributy
* Oprava: Generování Markdownu nově projde ochranou heslem pluginu Password Protected (typicky na staging webech) – vlastní požadavek pluginu se ověřuje tajným tokenem
* Metabox stránky/produktu upozorní, když se vyrenderovanou stránku nepodařilo stáhnout (přihlašovací stránka, HTTP chyba, prázdná odpověď) a Markdown obsahuje jen základní obsah
* Nové soubory pro AI agenty: llms-full.txt (rozšířený index se strojově čitelnými endpointy), agents.md (provozní manuál pro AI agenty s editorem v administraci) a sitemap sitemap_agentic_discovery.xml zařazená do indexu sitemap WordPressu, Yoastu i Rank Math
* Markdown verze stránky je dostupná i přes příponu .md v URL (/stranka.md, /kategorie/index.md)
* Hlavičky X-Markdown-Tokens a Content-Signal u Markdown odpovědí (kompatibilní s Cloudflare Markdown for Agents), nastavení Content-Signal v administraci
* llms.txt podle specifikace v2 – odkaz rel="describedby" v hlavičce stránky i HTTP hlavičce Link, odkazy na llms-full.txt a agents.md v robots.txt
= 2.1.0 =
* Plugin nově vyžaduje PHP 8.1 nebo vyšší a WooCommerce 6.7 nebo vyšší
* Kompletní přestavba pluginu na nové jádro; nastavení, seznamy u produktů i data objednávek se při aktualizaci automaticky převedou
* Odesílání kontaktů běží na pozadí (Action Scheduler) s opakováním při chybě API a s logem odeslání v detailu objednávky
* Nově více seznamů kontaktů najednou: globálně, u produktu i u varianty (varianta přebíjí produkt)
* Nově minimální počet kusů produktu v objednávce pro přiřazení do jeho seznamů
* Nově mapování polí objednávky (číslo, cena, měna, datum, doprava, platba, firma, země, poznámka) na vlastní pole ve SmartEmailingu
* Nově volitelný double opt-in a nastavitelná platnost souhlasu ve dnech; do SmartEmailingu se odesílá i název firmy
* Souhlas na pokladně funguje i v blokové pokladně WooCommerce
* Přepracované nastavení: přepínač režimů přiřazování seznamů, výběr seznamů, účelů a vlastních polí z nabídky, ověření připojení, znovunačtení seznamů
* Volba „Přiřadit zároveň i do globálních Seznamů kontaktů“ se nyní respektuje (dříve se globální seznam přidával vždy)
* Tlačítko „Odeslat znovu“ v detailu objednávky, hromadná akce v seznamu objednávek zachována
* Opraveno duplicitní zařazování kontaktu při obnovení děkovné stránky
* Zabezpečení administrace (nonce, kontrola oprávnění, sanitizace vstupů)
* Kompletní překlad do češtiny a slovenštiny
* Plugin nově vyžaduje PHP 8.1 nebo vyšší a WooCommerce 6.7 nebo vyšší
* Kompletní přestavba pluginu na nové jádro; nastavení, seznamy u produktů i data objednávek se při aktualizaci automaticky převedou
* Odesílání kontaktů běží na pozadí (Action Scheduler) s opakováním při chybě API a s logem odeslání v detailu objednávky
* Nově více seznamů kontaktů najednou: globálně, u produktu i u varianty (varianta přebíjí produkt)
* Nově minimální počet kusů produktu v objednávce pro přiřazení do jeho seznamů
* Nově mapování polí objednávky (číslo, cena, měna, datum, doprava, platba, firma, země, poznámka) na vlastní pole ve SmartEmailingu
* Nově volitelný double opt-in a nastavitelná platnost souhlasu ve dnech; do SmartEmailingu se odesílá i název firmy
* Souhlas na pokladně funguje i v blokové pokladně WooCommerce
* Přepracované nastavení: přepínač režimů přiřazování seznamů, výběr seznamů, účelů a vlastních polí z nabídky, ověření připojení, znovunačtení seznamů
* Volba „Přiřadit zároveň i do globálních Seznamů kontaktů“ se nyní respektuje (dříve se globální seznam přidával vždy)
* Tlačítko „Odeslat znovu“ v detailu objednávky, hromadná akce v seznamu objednávek zachována
* Opraveno duplicitní zařazování kontaktu při obnovení děkovné stránky
* Zabezpečení administrace (nonce, kontrola oprávnění, sanitizace vstupů)
* Kompletní překlad do češtiny a slovenštiny
= 3.5.1 =
* Načítání poboček tlačítkem v nastavení nově běží přes admin-ajax (po jednotlivých službách dopravce, průběh se vypisuje přímo na stránce) místo přímého volání souboru srv/updateBranches.php, které hostingy začínají blokovat
* Obří seznamy poboček (DPD Pickup, 150 tisíc položek) se zpracovávají po částech a ukládají hromadně — už nepadají na limitu paměti ani na timeoutu hostingu
* Nový REST endpoint /wp-json/toret-balikobot/v1/reload-branches (volitelný parametr carriers=kod1,kod2) pro obnovu poboček hostingovým cronem, se zámkem proti překrývajícím se běhům
* Soubor srv/updateBranches.php je zastaralý — zatím funguje pro stávající crony, ale v některé z příštích verzí bude odstraněn; v cronu ho nahraďte REST endpointem
* Načítání poboček tlačítkem v nastavení nově běží přes admin-ajax (po jednotlivých službách dopravce, průběh se vypisuje přímo na stránce) místo přímého volání souboru srv/updateBranches.php, které hostingy začínají blokovat
* Obří seznamy poboček (DPD Pickup, 150 tisíc položek) se zpracovávají po částech a ukládají hromadně — už nepadají na limitu paměti ani na timeoutu hostingu
* Nový REST endpoint /wp-json/toret-balikobot/v1/reload-branches (volitelný parametr carriers=kod1,kod2) pro obnovu poboček hostingovým cronem, se zámkem proti překrývajícím se běhům
* Soubor srv/updateBranches.php je zastaralý — zatím funguje pro stávající crony, ale v některé z příštích verzí bude odstraněn; v cronu ho nahraďte REST endpointem
= 7.2.1 =
* V nastavení se nově zobrazuje REST URL pro cron aktualizace stavů zásilek (/wp-json/toret-dpd/v1/check-status)
* Původní soubor cron-status-update.php je zastaralý a bude v některé z příštích verzí odstraněn – přenastavte si prosím cron na novou URL
* Opraven neplatný odkaz na neexistující soubor cron-pickups-import-sk.php v nastavení
* Cron stavů zásilek nyní respektuje nastavený počet objednávek na jeden běh (dříve se hodnota z nastavení ignorovala)
* V nastavení se nově zobrazuje REST URL pro cron aktualizace stavů zásilek (/wp-json/toret-dpd/v1/check-status)
* Původní soubor cron-status-update.php je zastaralý a bude v některé z příštích verzí odstraněn – přenastavte si prosím cron na novou URL
* Opraven neplatný odkaz na neexistující soubor cron-pickups-import-sk.php v nastavení
* Cron stavů zásilek nyní respektuje nastavený počet objednávek na jeden běh (dříve se hodnota z nastavení ignorovala)
= 1.3.8 =
* Přidán REST endpoint pro cron aktualizace stavů zásilek: /wp-json/toret-fofr/v1/check-status (původní URL ?tfofrstatus=cron zůstává funkční)
* Přidán zámek proti překrývajícím se běhům cronu stavů zásilek (10 minut)
* Přidán REST endpoint pro cron aktualizace stavů zásilek: /wp-json/toret-fofr/v1/check-status (původní URL ?tfofrstatus=cron zůstává funkční)
* Přidán zámek proti překrývajícím se běhům cronu stavů zásilek (10 minut)