Guia de Atualização
O TCPDF-Next está atualmente na linha de release 1.x. Esta página explica a política de versionamento e como se manter atualizado.
Versionamento Semântico
O TCPDF-Next segue o Versionamento Semântico 2.0.0:
| Incremento de Versão | Significado | Seguro para Atualizar? |
|---|---|---|
| Patch (1.0.x) | Correções de bugs, documentação, refatorações internas | Sim — totalmente retrocompatível |
| Minor (1.x.0) | Novas funcionalidades, adições sem quebra | Sim — nenhuma alteração no código existente necessária |
| Major (x.0.0) | Mudanças que quebram a API | Leia o guia de migração primeiro |
Durante a série 1.x, a API pública é considerada estável. Qualquer mudança que quebre compatibilidade será reservada para a próxima versão major e será acompanhada de um guia de migração detalhado.
Verificando o Changelog
Antes de atualizar, revise o CHANGELOG no GitHub. Cada release lista:
- Added — novas funcionalidades e classes
- Changed — modificações no comportamento existente
- Deprecated — APIs que serão removidas na próxima versão major
- Fixed — correções de bugs
- Security — patches de vulnerabilidades (atualize imediatamente)
Atualizando via Composer
# Atualizar para a última versão compatível dentro da sua restrição
composer update yeeefang/tcpdf-next
# Ou fixar em uma versão específica
composer require yeeefang/tcpdf-next:^1.2Após atualizar, execute sua suíte de testes para verificar se nada quebrou:
composer testMigrando de Outras Bibliotecas
Se você está vindo de outra biblioteca PDF, os seguintes guias ajudarão a mapear conceitos familiares para seus equivalentes no TCPDF-Next:
Do TCPDF legado
O TCPDF-Next não é um fork. É uma reescrita completa do zero com uma API completamente nova. Principais diferenças:
- Constantes de configuração estáticas substituídas por enums tipados e value objects.
- Estado global eliminado — cada instância de
Documenté autocontida. - Todas as classes são
readonlyquando possível, comdeclare(strict_types=1)rigoroso. - PHP 8.5+ obrigatório (veja Por que PHP 8.5?).
Uma folha de referência de migração lado a lado será publicada junto com a release estável 1.0.
Do FPDF / FPDI
Os métodos cell/multiCell/text/write possuem nomes intencionalmente similares, então a curva de aprendizado é mínima. As principais diferenças são:
- Parâmetros nomeados e enums substituem flags de inteiros posicionais.
- A saída usa o enum
OutputDestinationao invés de strings de caractere único. - O gerenciamento de fontes é tratado através de
FontConfigao invés de posicionamento manual de arquivos.
Do Dompdf / wkhtmltopdf
Se você está acostumado com conversão HTML-para-PDF, veja o pacote Artisan, que fornece um pipeline de renderização CSS3 completo sobre o TCPDF-Next Core. Para construção programática de PDF, a abordagem orientada por API descrita em Uso Básico será mais performática e previsível do que a geração baseada em HTML.