Descripción: Se ha realizado una refactorización mayor del sistema de notificaciones y generación de comprobantes para eliminar dependencias legacy (Imagick/FTP) y modernizar la arquitectura. 🚀 Nuevas Características (Features) Microservicio PDF (pdf-cropper): Nuevo servicio en Python (FastAPI + Poppler) desplegado en Docker (Puerto 8050) para la conversión de PDF a Imagen. Reemplaza la librería Imagick de PHP, aislando el procesamiento pesado fuera del plugin. Modo Full: Garantiza la conversión del PDF completo respetando su relación de aspecto original (sin recortes ni "square crop"). Overlay de Texto: Capacidad nativa en el backend para sobreescribir texto dinámicamente (ej. cambiar "Tarjeta de crédito Stripe" por "OXXO Pay") basado en parámetros. Integración S3 / MinIO: Implementación de MinioStorageService . Los comprobantes (JPG) y Vouchers OXXO se suben automáticamente a MinIO en lugar de usar FTP. Generación de URLs públicas seguras. 🧹 Mantenimiento y Limpieza (Chores/Refactor) Limpieza Automática (Cleanup): Se implementó lógica para eliminar archivos temporales locales (PDFs descargados, JPGs generados) inmediatamente después de una subida exitosa a MinIO. Aplica tanto para comprobantes de pago como para Vouchers OXXO. Refactor ClientCallBellAPI : Eliminación de código muerto relacionado con FTP de WordPress. Implementación de cliente HTTP Guzzle para comunicación con pdf-cropper. Cache Busting: Se añade Timestamp al nombre de archivo (_time()) para evitar caché agresivo en WhatsApp/Navegadores. Detección de Método: Lógica preliminar para detectar "OXXO" o "Transferencia" en notas de pago y aplicar Overlay. Docker Infraestructura: Actualización de docker-compose.yml para incluir pdf-cropper. Instalación de fuentes (fonts-dejavu-core) para renderizado correcto de texto. 🐛 Correcciones (Bug Fixes) Fix Recorte de Imagen: Se eliminó la restricción de relación de aspecto 1:1 (cuadrado) que cortaba headers y footers en documentos rectangulares. Standardización de Notas: Actualización de AbstractStripeOperationsFacade para incluir explícitamente "OXXO" o "Transferencia" en las notas de pago de UCRM (preparación para lógica de plantillas).
2.8 KiB
2.8 KiB
CHANGELOG
2.3.0 - 2025-08-22
Added
- PHP 8.5 support
2.2.0 - 2025-03-27
Fixed
- Revert "Allow an empty EachPromise to be resolved by running the queue"
2.1.0 - 2025-03-27
Added
- Allow an empty EachPromise to be resolved by running the queue
2.0.4 - 2024-10-17
Fixed
- Once settled, don't allow further rejection of additional promises
2.0.3 - 2024-07-18
Changed
- PHP 8.4 support
2.0.2 - 2023-12-03
Changed
- Replaced
call_user_func*with native calls
2.0.1 - 2023-08-03
Changed
- PHP 8.3 support
2.0.0 - 2023-05-21
Added
- Added PHP 7 type hints
Changed
- All previously non-final non-exception classes have been marked as soft-final
Removed
- Dropped PHP < 7.2 support
- All functions in the
GuzzleHttp\Promisenamespace
1.5.3 - 2023-05-21
Changed
- Removed remaining usage of deprecated functions
1.5.2 - 2022-08-07
Changed
- Officially support PHP 8.2
1.5.1 - 2021-10-22
Fixed
- Revert "Call handler when waiting on fulfilled/rejected Promise"
- Fix pool memory leak when empty array of promises provided
1.5.0 - 2021-10-07
Changed
- Call handler when waiting on fulfilled/rejected Promise
- Officially support PHP 8.1
Fixed
- Fix manually settle promises generated with
Utils::task
1.4.1 - 2021-02-18
Fixed
- Fixed
each_limitskipping promises and failing
1.4.0 - 2020-09-30
Added
- Support for PHP 8
- Optional
$recursiveflag toall - Replaced functions by static methods
Fixed
- Fix empty
eachprocessing - Fix promise handling for Iterators of non-unique keys
- Fixed
method_existscrashes on PHP 8 - Memory leak on exceptions
1.3.1 - 2016-12-20
Fixed
wait()foreign promise compatibility
1.3.0 - 2016-11-18
Added
- Adds support for custom task queues.
Fixed
- Fixed coroutine promise memory leak.
1.2.0 - 2016-05-18
Changed
- Update to now catch
\Throwableon PHP 7+
1.1.0 - 2016-03-07
Changed
- Update EachPromise to prevent recurring on a iterator when advancing, as this could trigger fatal generator errors.
- Update Promise to allow recursive waiting without unwrapping exceptions.
1.0.3 - 2015-10-15
Changed
- Update EachPromise to immediately resolve when the underlying promise iterator
is empty. Previously, such a promise would throw an exception when its
waitfunction was called.
1.0.2 - 2015-05-15
Changed
- Conditionally require functions.php.
1.0.1 - 2015-06-24
Changed
- Updating EachPromise to call next on the underlying promise iterator as late as possible to ensure that generators that generate new requests based on callbacks are not iterated until after callbacks are invoked.
1.0.0 - 2015-05-12
- Initial release