Panduan Upgrade
TCPDF-Next saat ini berada pada release line 1.x. Halaman ini menjelaskan kebijakan versioning dan cara tetap up to date.
Semantic Versioning
TCPDF-Next mengikuti Semantic Versioning 2.0.0:
| Kenaikan Versi | Arti | Aman untuk Update? |
|---|---|---|
| Patch (1.0.x) | Bug fix, dokumentasi, refaktor internal | Ya — sepenuhnya backward-compatible |
| Minor (1.x.0) | Fitur baru, penambahan non-breaking | Ya — tidak perlu perubahan kode yang ada |
| Major (x.0.0) | Perubahan API breaking | Baca panduan migrasi terlebih dahulu |
Selama seri 1.x, API publik dianggap stabil. Setiap perubahan breaking akan dicadangkan untuk major release berikutnya dan akan disertai panduan migrasi detail.
Memeriksa Changelog
Sebelum upgrade, tinjau CHANGELOG di GitHub. Setiap release mencantumkan:
- Added — fitur dan class baru
- Changed — modifikasi pada perilaku yang ada
- Deprecated — API yang akan dihapus di major version berikutnya
- Fixed — bug fix
- Security — patch kerentanan (upgrade segera)
Update melalui Composer
# Update ke versi kompatibel terbaru dalam constraint Anda
composer update yeeefang/tcpdf-next
# Atau pin ke versi tertentu
composer require yeeefang/tcpdf-next:^1.2Setelah update, jalankan test suite Anda untuk memverifikasi tidak ada yang rusak:
composer testMigrasi dari Library Lain
Jika Anda datang dari library PDF lain, panduan berikut akan membantu Anda memetakan konsep familiar ke padanan TCPDF-Next:
Dari TCPDF legacy
TCPDF-Next bukan fork. Ini adalah penulisan ulang dari awal dengan API yang sepenuhnya baru. Perbedaan utama:
- Konstanta konfigurasi statis diganti dengan typed enum dan value object.
- Global state dihilangkan — setiap instance
Documentbersifat mandiri. - Semua class bersifat
readonlyjika memungkinkan, dengandeclare(strict_types=1)ketat. - PHP 8.5+ diperlukan (lihat Mengapa PHP 8.5?).
Cheat sheet migrasi side-by-side akan dipublikasikan bersamaan dengan stable release 1.0.
Dari FPDF / FPDI
Method cell/multiCell/text/write sengaja memiliki nama yang mirip, sehingga kurva pembelajaran minimal. Perbedaan utama:
- Named parameter dan enum menggantikan flag integer posisional.
- Output menggunakan enum
OutputDestinationbukan string karakter tunggal. - Manajemen font ditangani melalui
FontConfigbukan penempatan file manual.
Dari Dompdf / wkhtmltopdf
Jika Anda terbiasa dengan konversi HTML-to-PDF, lihat package Artisan, yang menyediakan pipeline rendering CSS3 penuh di atas TCPDF-Next Core. Untuk konstruksi PDF programatik, pendekatan berbasis API yang dijelaskan di Penggunaan Dasar akan lebih performan dan predictable daripada pembuatan berbasis HTML.