Skip to content

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ónSignificado¿Seguro de actualizar?
Patch (1.0.x)Correcciones de errores, documentación, refactorizaciones internasSí — totalmente retrocompatible
Minor (1.x.0)Nuevas funcionalidades, adiciones sin cambios incompatiblesSí — no se requieren cambios en el código existente
Major (x.0.0)Cambios incompatibles en la APILee 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

bash
# 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.2

Después de actualizar, ejecuta tu suite de pruebas para verificar que nada se haya roto:

bash
composer test

Migració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 Document es autocontenida.
  • Todas las clases son readonly donde es posible, con declare(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 OutputDestination en lugar de cadenas de un solo carácter.
  • La gestión de fuentes se maneja a través de FontConfig en 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.

Distribuido bajo la licencia LGPL-3.0-or-later.