Release 0.9a: Move ng to main, modernize PHP 8.1+ client, update documentation and add Gitea workflow

This commit is contained in:
sandros committed 2026-09-28 09:19:38 +02:00
1 parent 76e09c0b96
commit 67bc8aa462
9 files changed
+1560 -1455

No files matched your search

+26
View File
@@ -0,0 +1,26 @@
# 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.