v3.0
Breaking changes for developers who are upgrading:
- Support for PHP 5.x and HHVM has been removed. PHP 7.0 or higher is required from this version.
- The
intl
PHP extension is now required (see docs). This replaces the use ofmbstring
andiconv
, which are no longer used. - composer is now required to correctly load dependencies, where it was previously optional.
Printer::text()
will now throw anException
if invalid UTF-8 is supplied. UsePrinter::textRaw()
if you are encoding text manually.- Printer-specific sub-classes of
CapabilityProfile
have been removed (eg.StarCapabilityProfile
). Use a named profile withCapabilityProfile::load()
instead. - The API now uses scalar and return type hinting in some places, which makes it more strict than it was previously.
New features:
- Inclusion of new printer profiles from escpos-printer-db.
- gfx-php has been added as a dependency, which allows image processing to work without
gd
orimagick
being present in most cases. - A new
MultiplePrintConnector
has been added, which allows developers to route identical print data to multiple printers simultaneously.
Experimental features:
- A new
UnifontPrintBuffer
, which uses glyphs from a GNU Unifont hex file as an alternative to the on-board printer fonts. See the includedunifont-print-buffer.php
example for usage.
Bug fixes:
- Added checks where temporary files are created, to give clearer error messages on setups where the temp directory is misconfigured, see #362