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
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
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
ver. 0.311 - 23.02.2026
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)
ver. 0.309 - 23.02.2026
NEW - ApiloLogger (logowanie operacji Apilo do pp_log), cache-busting CSS/JS w admin panelu, poprawki UI listy produktow, clipboard API
ver. 0.308 - 22.02.2026
NEW - kolorowe badge statusow zamowien, walidacja hex, sanityzacja HTML transport, optymalizacja SQL
ver. 0.308 - 22.02.2026
NEW - kolorowe badge statusow zamowien, walidacja hex, sanityzacja HTML transport, optymalizacja SQL
(float) $data['version'], 'ver_str' => $data['version'], 'date' => $date, 'text' => $data['changelog'], ]; } } // 2. Load legacy entries $legacyFile = __DIR__ . '/changelog-legacy.json'; if ( file_exists( $legacyFile ) ) { $legacyJson = @file_get_contents( $legacyFile ); if ( $legacyJson ) { $legacy = @json_decode( $legacyJson, true ); if ( is_array( $legacy ) ) { foreach ( $legacy as $item ) { if ( empty( $item['version'] ) ) continue; $entries[] = [ 'version' => (float) $item['version'], 'ver_str' => $item['version'], 'date' => isset( $item['date'] ) ? $item['date'] : '', 'text' => isset( $item['text'] ) ? $item['text'] : '', ]; } } } } // 3. Sort descending by version usort( $entries, function ( $a, $b ) { if ( $a['version'] == $b['version'] ) return 0; return ( $a['version'] > $b['version'] ) ? -1 : 1; } ); // 4. Output HTML foreach ( $entries as $entry ) { $header = 'ver. ' . htmlspecialchars( $entry['ver_str'] ); if ( $entry['date'] ) { $header .= ' - ' . htmlspecialchars( $entry['date'] ); } $text = nl2br( htmlspecialchars( $entry['text'] ) ); echo '' . $header . '
' . "\n"; echo $text . "\n"; echo '
' . "\n"; }