Skip to content
Devix Open Source

Changelog

Every release of Invoice PDF, newest first. Breaking changes are flagged.

v1.0.0

Breaking 15 Sep 2026

First release.

Added

  • An Arabic shaper in pure PHP: every letter's isolated, initial, medial and final form, the six letters that never join forwards, the lam-alef ligature, vowels carried along without breaking a join, and Urdu's extra letters. It makes dompdf — which 5.7 million Laravel applications a month already have — render Arabic correctly.
  • A reordering pass for right-to-left lines that leaves numbers and Latin words running the right way and mirrors brackets.
  • Shaper::toPlain(), which reverses shaping exactly, for the machine-readable copy of an invoice.
  • Invoice::problems(), returning reason codes for what a jurisdiction requires and this invoice has not got — including the exchange rate a UAE invoice not in dirhams must show, and ZATCA's requirement that the seller be named in Arabic.
  • Whole minor units throughout, with tax rates in basis points and tax summed per line, matching Devix VAT Calculator exactly.
  • Zero-rated, exempt, out-of-scope and reverse charge kept apart in the breakdown, because a VAT return needs them apart.
  • A self-contained HTML renderer with no stylesheet, font or script to fetch, and table columns emitted in reverse for Arabic because dompdf lays them out in source order whatever dir says.
  • A Laravel service provider, an Invoice facade and a publishable config.
  • No dependencies beyond ext-mbstring.