diff --git a/updates/0.30/ver_0.320.zip b/updates/0.30/ver_0.320.zip
new file mode 100644
index 0000000..d94066f
Binary files /dev/null and b/updates/0.30/ver_0.320.zip differ
diff --git a/updates/0.30/ver_0.320_manifest.json b/updates/0.30/ver_0.320_manifest.json
new file mode 100644
index 0000000..74e85c4
--- /dev/null
+++ b/updates/0.30/ver_0.320_manifest.json
@@ -0,0 +1,26 @@
+{
+ "changelog": "NEW - API: endpoint ensure_producer (znajdź lub utwórz producenta); GET product zwraca producer_name",
+ "version": "0.320",
+ "files": {
+ "added": [
+
+ ],
+ "deleted": [
+
+ ],
+ "modified": [
+ "autoload/Domain/Producer/ProducerRepository.php",
+ "autoload/Domain/Product/ProductRepository.php",
+ "autoload/api/ApiRouter.php",
+ "autoload/api/Controllers/DictionariesApiController.php"
+ ]
+ },
+ "checksum_zip": "sha256:eb38b6f260768c25d331de60098eba647a897972c211b37b39314c8a3f954bf3",
+ "sql": [
+
+ ],
+ "date": "2026-02-24",
+ "directories_deleted": [
+
+ ]
+}
\ No newline at end of file
diff --git a/updates/changelog.php b/updates/changelog.php
index adb7694..d16fcf7 100644
--- a/updates/changelog.php
+++ b/updates/changelog.php
@@ -1,11 +1,14 @@
+ver. 0.320 - 24.02.2026
+NEW - API: endpoint ensure_producer (znajdź lub utwórz producenta); GET product zwraca producer_name
+
ver. 0.319 - 24.02.2026
-FIX - usunięcie shopPRO eksportu produktów; API produktu: dodano custom_fields i security_information
+FIX - usunięcie shopPRO eksportu produktów; API produktu: dodano custom_fields i security_information
ver. 0.318 - 24.02.2026
-NEW - shopPRO export produktĂłw + API endpoints (ensure_attribute, ensure_attribute_value, upload_image)
+NEW - shopPRO export produktĂłw + API endpoints (ensure_attribute, ensure_attribute_value, upload_image)
ver. 0.317 - 23.02.2026
-FIX - klucz API: fix zapisu (brakowalo w whiteliście), przycisk Generuj losowy klucz, ulepszony routing API
+FIX - klucz API: fix zapisu (brakowalo w whiteliście), przycisk Generuj losowy klucz, ulepszony routing API
ver. 0.316 - 23.02.2026
FIX - migracja brakujacej kolumny type w pp_shop_products_custom_fields
@@ -14,16 +17,16 @@ FIX - migracja brakujacej kolumny type w pp_shop_products_custom_fields
FIX - PDOException w listowaniu atrybutow admin (SQLSTATE HY093)
ver. 0.314 - 23.02.2026
-FIX - naprawa globalnej wyszukiwarki admin (Content-Type, Cache-Control, POST, try/catch), NEW - title strony z numerem zamĂ„ĂË€šÄąĂË€šwienia
+FIX - naprawa globalnej wyszukiwarki admin (Content-Type, Cache-Control, POST, try/catch), NEW - title strony z numerem zamÄ‚ĂË€žĂËÂĂ˂¬ĹˇĂ„Ä…ĂËÂĂ˂¬Ĺˇwienia
ver. 0.313 - 23.02.2026
-FIX - sync pÄ‚ĂË€žĂ„ĂË€¦Ä‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡atnoÄ‚ĂË€žĂ„ĂË€¦Ä‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąĹşci Apilo (int cast na apilo_order_id PPxxxxxx dawaÄ‚ĂË€žĂ„ĂË€¦Ä‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡ 0) + logowanie decyzji sync do pp_log
+FIX - sync pĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇatnoĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąĹşci Apilo (int cast na apilo_order_id PPxxxxxx dawaĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇ 0) + logowanie decyzji sync do pp_log
ver. 0.312 - 23.02.2026
-FIX - krytyczne bugi integracji Apilo: curl_getinfo po curl_close, nieskoĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľczona pÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľÄ‚ĂË€ąĂ‚ÂÂÂtla wysyĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇki, ceny 0.00 PLN, walidacja cen
+FIX - krytyczne bugi integracji Apilo: curl_getinfo po curl_close, nieskoÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‚¦ĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€žĂ„Äľczona pĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľÄĂË€šĂËÂĂ˂¬Ä…Ä‚ĂË€šĂ‚ÂÂÂtla wysyÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‚¦ĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€ąĂËÂĂ˂¬Ë‡ki, ceny 0.00 PLN, walidacja cen
ver. 0.311 - 23.02.2026
-FIX - race condition callback pÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‚¦ĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€ąĂËÂĂ˂¬Ë‡atnoÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‚¦ĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ă„ąĹźci Apilo, persistence filtrÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇw tabel admin, poprawki cen zamÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇwieÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‚¦ĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€žĂ„Äľ
+FIX - race condition callback pĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ĂĂË€šĂ‚¦ÄĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂËÂĂ˂¬Ä…Ä‚ĂË€šĂ‚ÂÂÂÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇĂ„ĂË€šĂËÂĂ˂¬ĹˇÄ‚ĂË€šĂ‚€ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂËÂĂ˂¬Ä…Ä‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‹ĂË€ˇatnoĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ĂĂË€šĂ‚¦ÄĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂËÂĂ˂¬Ä…Ä‚ĂË€šĂ‚ÂÂÂÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇĂ„ĂË€šĂËÂĂ˂¬ĹˇÄ‚ĂË€šĂ‚€ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ä‚ĂË€žĂ„ĂË€¦Ă„ąĹşci Apilo, persistence filtrĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€ąĂËÂĂ˂¬Ë‡Ä‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‚¦ĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€ąĂËÂĂ˂¬Ë‡w tabel admin, poprawki cen zamĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€ąĂËÂĂ˂¬Ë‡Ä‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬Ă‚¦ĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ä‚ĂË€šĂ‚¬ĂĂË€žĂ„ĂË€¦Ä‚ĂË€ąĂËÂĂ˂¬Ë‡wieĂ„ĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąÄľĂĂË€žĂËÂĂ˂¬ĹˇÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąÄľĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ĂĂË€šĂ‚¦ÄĂË€šĂËÂĂ˂¬ĹľÄ‚ËÂÂÄ‚ËÂĂˀšÂ¬ÄąË‡Ă„ĂË€šĂËÂĂ˂¬Ä…Ä‚ĂË€šĂ‚ÂÂÂÄ‚ĂË€žĂËÂĂ˂¬ĹˇÄ‚ĂË€ąĂ‚ÂÂÂĂ„ĂË€šĂ‹ÂÂÂÄ‚ËÂÂÄ‚ËÂĂ˂¬ĹˇĂ‚¬ÄąËĂË€ˇĂ„ĂË€šĂËÂĂ˂¬ĹˇÄ‚ĂË€šĂ‚€ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂËÂĂ˂¬Â¦Ă„ĂË€šĂËÂĂ˂¬ĹľÄ‚ĂË€žĂ„Äľ
ver. 0.310 - 23.02.2026
NEW - Zakladka Logi w sekcji Integracje (podglad pp_log z paginacja, sortowaniem, filtrami)