Guía de actualización
TCPDF-Next se encuentra actualmente en la línea de lanzamiento 1.x. Esta página explica la política de versionado y cómo mantenerte al día.
Versionado semántico
TCPDF-Next sigue Semantic Versioning 2.0.0:
| Cambio de versión | Significado | ¿Seguro de actualizar? |
|---|---|---|
| Patch (1.0.x) | Correcciones de errores, documentación, refactorizaciones internas | Sí — totalmente retrocompatible |
| Minor (1.x.0) | Nuevas funcionalidades, adiciones sin cambios incompatibles | Sí — no se requieren cambios en el código existente |
| Major (x.0.0) | Cambios incompatibles en la API | Lee primero la guía de migración |
Durante la serie 1.x, la API pública se considera estable. Cualquier cambio incompatible se reservará para la próxima versión mayor y vendrá acompañado de una guía de migración detallada.
Revisión del changelog
Antes de actualizar, revisa el CHANGELOG en GitHub. Cada versión lista:
- Added — nuevas funcionalidades y clases
- Changed — modificaciones al comportamiento existente
- Deprecated — APIs que se eliminarán en la próxima versión mayor
- Fixed — correcciones de errores
- Security — parches de vulnerabilidades (actualiza inmediatamente)
Actualización con Composer
# Actualizar a la última versión compatible dentro de tu restricción
composer update yeeefang/tcpdf-next
# O fijar a una versión específica
composer require yeeefang/tcpdf-next:^1.2Después de actualizar, ejecuta tu suite de pruebas para verificar que nada se haya roto:
composer testMigración desde otras bibliotecas
Si vienes de otra biblioteca PDF, las siguientes guías te ayudarán a mapear conceptos familiares a sus equivalentes en TCPDF-Next:
Desde TCPDF heredado
TCPDF-Next no es un fork. Es una reescritura completa desde cero con una API completamente nueva. Diferencias clave:
- Las constantes de configuración estáticas fueron reemplazadas por enums tipados y value objects.
- Se eliminó el estado global — cada instancia de
Documentes autocontenida. - Todas las clases son
readonlydonde es posible, condeclare(strict_types=1)estricto. - Se requiere PHP 8.5+ (consulta ¿Por qué PHP 8.5?).
Se publicará una hoja de referencia de migración lado a lado junto con la versión estable 1.0.
Desde FPDF / FPDI
Los métodos cell/multiCell/text/write tienen nombres intencionalmente similares, por lo que la curva de aprendizaje es mínima. Las principales diferencias son:
- Los parámetros con nombre y enums reemplazan las banderas de enteros posicionales.
- La salida usa el enum
OutputDestinationen lugar de cadenas de un solo carácter. - La gestión de fuentes se maneja a través de
FontConfigen lugar de la colocación manual de archivos.
Desde Dompdf / wkhtmltopdf
Si estás acostumbrado a la conversión HTML a PDF, consulta el paquete Artisan (tcpdf-next/artisan). Proporciona un pipeline de renderizado completo CSS3 sobre TCPDF-Next Core. Para la construcción programática de PDF, el enfoque orientado por API descrito en Uso básico será más eficiente y predecible que la generación basada en HTML.