- NUEVO: Licencias – Las licencias ahora se pueden leer y administrar a través de la API de Habilidades de WordPress (requiere EDD 3.7.1 o posterior).
- Seguridad: Los enlaces de descarga de paquetes ahora se firman con un secreto específico del sitio, por lo que su expiración no puede ser falsificada.
- Seguridad: El formulario de renovación de licencias ya no revela los detalles de una licencia o el precio de renovación a nadie más que al propietario de la licencia.
- Seguridad: Se corrigió un problema que permitía que los precios de actualización y renovación de licencias se cambiaran al finalizar la compra.
- Seguridad: Se corrigió un problema de divulgación de información por el cual la API de actualizaciones podía describir productos no publicados o protegidos con contraseña.
- Seguridad: Se corrigió un problema de scripting entre sitios (XSS) almacenado en el registro de cambios del producto.
- Seguridad: Se corrigió un problema de falsificación de solicitudes del lado del servidor (SSRF) en la ubicación del archivo readme.txt del producto.
- Seguridad: La eliminación de una licencia, incluso a través de acciones masivas, ahora requiere la capacidad de administrar licencias.
- Seguridad: Se agregó protección contra falsificación de solicitudes entre sitios (CSRF) a las acciones de límite de activación y aviso de renovación en la pantalla de licencias.
- Seguridad: Se corrigió un problema de scripting entre sitios (XSS) reflejado en la pantalla de licencias.
- Seguridad: Las acciones masivas en la pantalla de licencias ahora requieren las mismas capacidades que sus versiones de licencia única.
- Seguridad: Se corrigió un problema de inyección SQL en el orden de clasificación de la tabla de lista de licencias.
- Seguridad: Se corrigió un problema que podía revelar la URL del sitio activado de otro cliente al agregar un sitio a una licencia.
- Seguridad: La exportación de claves de licencia ahora requiere permiso para administrar licencias.
- Seguridad: Los registros de cambios de productos, descripciones y avisos de actualización enviados por la API de actualizaciones ahora se limitan al mismo HTML que el contenido de otros productos.
- Seguridad: Se corrigió un problema de inyección SQL en el filtro de estado de la exportación de licencias.
- Seguridad: Se corrigió un problema que permitía que una solicitud no autenticada eliminara las licencias de un pedido mientras este permanecía.
- Administración: El título de la página de Licencias ahora es "Licencias".
- Administración: Se corrigió el estilo del aviso de requisitos del plugin en la pantalla de Plugins en WordPress 7.1.
- Administración: La página de actualizaciones de licencias ya no aparece en la paleta de comandos de WordPress.
- Administración: Se corrigió el envío de un aviso de renovación a una licencia caducada desde las acciones masivas de la pantalla de licencias.
- Administración: Al hacer clic en Filtrar en la pantalla de licencias, ya no se ejecuta la acción masiva seleccionada sobre las licencias marcadas.
- Administración: La pantalla de licencias conserva el término de búsqueda y la pestaña cuando se recarga después de una acción masiva.
- API: La API de actualización ya no describe productos no publicados, privados o protegidos con contraseña, a menos que la solicitud incluya una licencia activa o caducada para ese producto. Una licencia deshabilitada ya no cuenta.
- Bloques: Se restauró el botón de cancelar en el formulario de renovación de licencia.
- Descargas: Los enlaces de descarga del paquete de actualización utilizan una nueva firma, por lo que los enlaces generados antes de la actualización dejan de funcionar. Caducan por sí solos dentro de la expiración de enlaces de descarga de la tienda (24 horas por defecto).
- Descargas: Los registros de cambios de productos ya no permiten scripts, iframes u otro HTML fuera de lo que permite el contenido de la publicación, por lo que se eliminan los videos incrustados en un registro de cambios.
- Descargas: La ubicación del archivo readme.txt de un producto debe ser una URL pública. Ya no se obtienen direcciones de red locales y privadas, y las URL no válidas no se guardan.
- Correos electrónicos: Los avisos de renovación ya no se envían para licencias cuyo producto ha sido eliminado.
- Correos electrónicos: Se corrigió la acción masiva de Enviar aviso de renovación que no enviaba nada para licencias que no habían caducado.
- Licencias: Una licencia debe estar asociada a una cuenta de usuario para ser actualizada. Una licencia sin cuenta, como la de una compra de invitado, ya no se puede actualizar.
- Licencias: Se corrigió un error fatal al ejecutar la concesión de licencias retroactiva en paquetes con una licencia secundaria irresoluble.
- Renovaciones: En el formulario y bloque de renovación de licencia, una licencia asociada a una cuenta de usuario solo puede ser renovada por ese usuario.
- Renovaciones: Con la coincidencia de correo electrónico habilitada, a un invitado que renueva una licencia asociada a una cuenta ahora se le pide que inicie sesión.
- Renovaciones: Renovar una licencia ya no elimina el mismo producto del carrito cuando ya está allí como una nueva compra. Ambos permanecen en el carrito.
- Renovaciones: Se corrigió un mensaje falso de "ya está en tu carrito" al renovar un producto que estaba en el carrito como una nueva compra.
- Dev: Se ha obsoleto
EDD_Software_Licensing::get_download_package(). UsaEDD\SoftwareLicensing\Downloads\Package::get_download_package(). - Dev: Los controladores AJAX de límite de activación ahora devuelven una respuesta JSON en lugar de un número bruto.
- Dev: El filtro
edd_sl_package_download_computed_hashahora se aplica cuando se generan las URL de los paquetes, no solo cuando se validan. - Dev: La expiración del enlace de descarga del paquete ahora se genera y se verifica en UTC.

