Releases: mike42/escpos-php
v4.0
This change updates the supported PHP versions, and contains some breaking changes to improve compatibility with newer PHP installs.
Breaking changes to users who are upgrading:
- Support for PHP 7.0. 7.1 and 7.2 has been removed. PHP 7.3 or higher is required from this version.
- Source files now use
declare(strict_types=1)
, which will cause errors for callers which are not using the correct scalar types.
Bug fixes:
- Using the GD library to load images would result in an error on PHP 8. This was due to a change to the GD interface from PHP 8.0.
- The example scripts now refer to
vendor/autoload.php
, so they will work if this repository is checked out and used standalone. - PHPUnit has been updated to version 9.0.
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
v2.2
v2.1
New features:
- Upside-down printing is now implemented #615
- Include updates from escpos-printer-db
Bug and code fixes:
- Modify validation code in
WindowsPrintConnector
for PHP 7.3 compatibility - Add to type hints where possible, replace old usages in examples, and correctly label the namespace for some exceptions
Newly tested printers:
- OKI RT322
- ithaca ITherm 280
- Rongta RP80USE
- Sewoo SLK-TS400
- Approx APPPOS80AM
- QPOS Q58M
- HOIN HOP-H58
- Xeumior SM-8330
- Birch PRP-085III
- 3nStar RPT-008
- POSLIGNE ODP200H-III-G
v2.0.2
v2.0.1
This point release includes an updated copy of receipt-print-hq/escpos-printer-db, so that character encoding improvements are accessible on these printers:
- TM-T88IV
- TM-T88IV-SA
v2.0
You must have PHP 5.4 or HHVM 3.21 or higher to upgrade to this version.
New features:
Bug fixes:
- WindowsPrintConnector on Linux will now use SMB2 due to SMB3 compatibility issues affecting printing to newer Windows versions. Contributed by @1dal #488
Tested on new devices:
- Senor TP-100
- 3nStrat POS-08
- Black Copper BC-85AC
- Nyear NP100
- Star BSC10
- Sicar POS-80
- Bematech-4200-TH
- Xprinter XP-90, XP-58 Series
- Dapper-Geyi Q583P
- Epson EU-T332C
v1.6
New features:
- Release paper function for Epson TM-U295 #417
- Allow
+
character in passwords for Windows shared printers #392
Tested on new devices:
- Citizen CT-S310II
- Epson TM-T20II
- Epson TM-T81
- Epson TM-T88II
- Epson TM-U590 and TM-U590P
- Epson TM-U295
- Equal (EQ-IT-001) POS-58
- Metapace T-25
- Nexa PX700
- Orient BTP-R580
- Star TSP100III FuturePRNT
- XPrinter XP-Q20011
- Xprinter XP-80C
This is expected to be the final release in the 1.x series. Newer versions will drop support for some end-of-life PHP versions.
v1.5.2
v1.5.1
Changes are limited to build and documentation fixes.
Bug fixes:
- Dependency introduced in 1.5 broke installation for some users #300
- Requirement for imagick to be installed for some features was not documented #262
Tested on new devices:
- gprinter GP-U80300I
- gprinter GP-U80160I
- SPRT SP-POS88V
- Xprinter F-900