Files

2.7 KiB

Changelog

A ninjaMail API klienskönyvtár változásainak jegyzéke.


[0.9a] - 2026-09-28

Hozzáadva (Added)

  • Modern PHP 8.1+ támogatás: Szigorú típusosság (declare(strict_types=1);), típusos osztálytulajdonságok, skalár és union típusok minden osztályban (ninjaMail, ninjaMailSend, ninjaMailSubscription, ninjaMailNewsletter, ninjaMailCampaign, ninjaMailStatistics).
  • Gitea Actions CI/CD automatizáció: Új .gitea/workflows/release-test.yaml munkafolyamat, amely automatikusan ellenőrzi a PHP érvényességet és szintaxist (PHP 8.1, 8.2, 8.3, 8.4 verziókon) minden kiadáskor (release), címkénél (tag) és push eseménynél külső API hívások nélkül.
  • Offline érvényesség-ellenőrzés: Új tests/test_validity.php tesztcsomag a metódusok, típusok és kivételkezelés tesztelésére hálózati forgalom nélkül.
  • Anonimizált tesztelő szkript: Új test_all.php futtatható tesztfájl környezeti változókból (NINJAMAIL_HOST, NINJAMAIL_KEY) konfigurálható, anonimizált tesztadatokkal.
  • Kriptográfiailag biztonságos token generálás: A login() metódusban bin2hex(random_bytes(16)) használata a korábbi gyenge md5(time()) helyett.

Módosítva (Changed)

  • Főkönyvtár átszervezése: Az ng mappa tartalma átkerült a projekt gyökerébe, az új generációs kód vált a hivatalos kiadássá.
  • Terminológia szabványosítása: A félrevezető „gyár” kifejezés cseréje a szabványos „végpont” (endpoint) megnevezésre a kódban és a teljes dokumentációban.
  • Dokumentáció egyesítése és felülvizsgálata: A README.md összefésülése és frissítése, a hibás adatok tisztítása (pl. fekiratkozó elgépelés, kampányvégpont feladatának pontosítása, hiányzó listakezelési útmutató és hírlevél frissítési adatok pótlása).
  • cURL kéréskódolás: A POST kérések form-urlencoded kódolást (http_build_query) használnak, biztosítva a tömbösített és összetett paraméterek (pl. kampány listák update()) hibátlan szerveroldali fogadását.
  • Kampány-hírlevél összerendelés: A ninjaMailCampaign::attach() metódus mostantól mind a campaign, mind az id paramétert továbbítja, biztosítva a szerveroldali relations végpont kompatibilitását.
  • PHP 8.5 kompatibilitás: A PHP 8.5-ben elavulttá vált curl_close() hívás eltávolítása, és üres API válaszok robusztus kezelése JSON szintaxishiba dobása nélkül.

Eltávolítva (Removed)

  • Az elavult, nem típusos örökölt kódok (example.simple.php és az eredeti gyökér ninjamail.class.php) törlésre kerültek az új kiadásokból.
  • Az ng alkönyvtár megszüntetésre került.