- NOU: Licențe – Licențele pot fi acum citite și gestionate prin API-ul WordPress Abilities (necesită EDD 3.7.1 sau o versiune ulterioară).
- Securitate: Linkurile de descărcare a pachetelor sunt acum semnate cu un secret specific site-ului, astfel încât expirarea lor să nu poată fi falsificată.
- Securitate: Formularul de reînnoire a licenței nu mai dezvăluie detaliile unei licențe sau prețul de reînnoire nimănui în afară de proprietarul licenței.
- Securitate: S-a remediat o problemă care permitea modificarea prețurilor de upgrade și reînnoire a licenței la finalizarea comenzii.
- Securitate: S-a remediat o problemă de divulgare de informații prin care API-ul de actualizare putea descrie produse nepublicate sau protejate prin parolă.
- Securitate: S-a remediat o problemă de scripting inter-site stocat în jurnalul de modificări al produsului.
- Securitate: S-a remediat o problemă de falsificare a cererilor de pe server în locația fișierului readme.txt al produsului.
- Securitate: Ștergerea unei licențe, inclusiv prin acțiuni în masă, necesită acum permisiunea de ștergere a licențelor.
- Securitate: S-a adăugat protecție împotriva falsificării cererilor inter-site la acțiunile de limitare a activării și notificare de reînnoire pe ecranul licențelor.
- Securitate: S-a remediat o problemă de scripting inter-site reflectat pe ecranul licențelor.
- Securitate: Acțiunile în masă pe ecranul licențelor necesită acum aceleași permisiuni ca și versiunile lor pentru licențe individuale.
- Securitate: S-a remediat o problemă de injecție SQL în ordinea de sortare a tabelului de listă a licențelor.
- Securitate: S-a remediat o problemă care putea dezvălui URL-ul site-ului activat al altui client la adăugarea unui site la o licență.
- Securitate: Exportul cheilor de licență necesită acum permisiunea de a gestiona licențele.
- Securitate: Jurnalele de modificări ale produselor, descrierile și notificările de upgrade trimise de API-ul de actualizare sunt acum limitate la același HTML ca și conținutul altor produse.
- Securitate: S-a remediat o problemă de injecție SQL în filtrul de stare al exportului de licențe.
- Securitate: S-a remediat o problemă care permitea unei cereri neautentificate să șteargă licențele unei comenzi, în timp ce comanda rămânea.
- Admin: Titlul paginii ecranului Licențe este acum „Licențe”.
- Admin: S-a remediat stilizarea notificării cerințelor de plugin pe ecranul Pluginuri în WordPress 7.1.
- Admin: Pagina de upgrade-uri de licență nu mai apare în consola de comenzi WordPress.
- Admin: S-a remediat trimiterea unei notificări de reînnoire către o licență expirată din acțiunile în masă ale ecranului licențelor.
- Admin: Apăsarea pe Filtrare pe ecranul licențelor nu mai execută acțiunea în masă selectată pe licențele bifate.
- Admin: Ecranul licențelor păstrează termenul de căutare și fila la reîncărcare după o acțiune în masă.
- API: API-ul de actualizare nu mai descrie produse nepublicate, private sau protejate prin parolă, decât dacă cererea include o licență activă sau expirată pentru acel produs. O licență dezactivată nu mai este luată în considerare.
- Blocuri: S-a restaurat butonul de anulare pe formularul de reînnoire a licenței.
- Descărcări: Linkurile de descărcare a pachetelor de actualizare folosesc o nouă semnătură, astfel linkurile generate înainte de actualizare nu mai funcționează. Acestea expiră de la sine în timpul expirării linkului de descărcare al magazinului (24 de ore implicit).
- Descărcări: Jurnalele de modificări ale produselor nu mai permit scripturi, iframe-uri sau alte elemente HTML în afara celor permise de conținutul postării, astfel videoclipurile încorporate într-un jurnal de modificări sunt eliminate.
- Descărcări: Locația fișierului readme.txt al unui produs trebuie să fie un URL public. Adresele locale și de rețea privată nu mai sunt preluate, iar URL-urile invalide nu sunt salvate.
- Emailuri: Notificările de reînnoire nu mai sunt trimise pentru licențele al căror produs a fost șters.
- Emailuri: Acțiunea de trimitere în masă a notificărilor de reînnoire a fost remediată, aceasta nu mai trimite nimic pentru licențele care nu expiraseră.
- Licențe: O licență trebuie să fie atașată unui cont de utilizator pentru a fi actualizată. O licență fără cont, cum ar fi una dintr-o achiziție de tip guest, nu mai poate fi actualizată.
- Licențe: A fost remediată o eroare fatală la rularea licențierii retroactive pe pachete cu o licență copil nerezolvabilă.
- Reînnoiri: În formularul și blocul de reînnoire a licenței, o licență atașată unui cont de utilizator poate fi reînnoită doar de acel utilizator.
- Reînnoiri: Cu potrivirea prin email activată, un guest care reînnoiește o licență atașată unui cont este acum rugat să se autentifice.
- Reînnoiri: Reînnoirea unei licențe nu mai elimină același produs din coș atunci când acesta se află deja acolo ca o achiziție nouă. Ambele rămân în coș.
- Reînnoiri: A fost remediat un mesaj fals de „deja în coș” la reînnoirea unui produs care se afla în coș ca o achiziție nouă.
- Dev: Depreciat
EDD_Software_Licensing::get_download_package(). FolosițiEDD\SoftwareLicensing\Downloads\Package::get_download_package(). - Dev: Handler-ele AJAX pentru limita de activare returnează acum un răspuns JSON în loc de un număr brut.
- Dev: Filtrul
edd_sl_package_download_computed_hashse aplică acum atunci când sunt generate URL-urile pachetelor, nu doar când sunt validate. - Dev: Expirarea linkului de descărcare a pachetului este acum generată și verificată în UTC.

