Releases: salmanasmat/Windows-AirPrint-Bridge
Releases · salmanasmat/Windows-AirPrint-Bridge
Release list
AirPrintBridge_Setup_v1.3.0
v1.3.0 - 2026-09-11
🎯 Dynamic Media Size Handling & Label Printer Scaling Fix
- IPP Media Attribute Parsing: Implemented structured binary IPP job attribute extraction (
extract_ipp_job_attributes) to parse client-selected paper sizes such asmediakeywords (e.g.,iso_a6_105x148mm,na_index-4x6_4x6in). - Physical Media Dimensions Mapping: Added
IPP_MEDIA_SIZESlookup mapping standard PWG media keywords across ISO A/B/C series, North American formats, and label/receipt sizes directly to millimeter dimensions. - Windows DC DEVMODE Configuration: Dynamically adjusts the printer Device Context
DEVMODE(DMPAPER_USERwithPaperWidthandPaperLengthin tenths of mm) viaResetDC(), ensuring Windows spooler respects the requested paper format. - True DPI-Aware 1:1 Scaling: Replaced canvas-dependent stretch scaling with native DPI rendering (
printer_dpi / 72.0), fixing the issue where A6 and thermal labels printed significantly smaller on label printers (such as Zebra ZD220D). Includes automatic shrink-to-fit safety clamping. - Expanded Media Advertisements: Advertised A5, A6, A7, A8, US Legal, 4×6", and 100×150mm formats in
media-supportedandmedia-readyattributes so iOS and Android dialogs present label sizes natively.
AirPrintBridge_Setup_v1.2.0
v1.2.0 - 2026-08-18
📱 Android & IPP Everywhere Full Compatibility
- UUID Synchronization for Android BIPS: Synchronized the printer's
UUIDin mDNS TXT records with theprinter-uuidIPP response attribute (uuid5(NAMESPACE_DNS, f"{printer_name}@{hostname}")). This resolves the strict UUID mismatch rejection in Android's Built-in Print Service (com.android.bips), allowing Android devices to natively discover and show the printer. - RFC 8011 IPP Tag Compliance: Fixed encoding of
uri-security-supportedanduri-authentication-supportedtoIPP_TAG_KEYWORD(0x44), matching IPP RFC standards and Android native C parser expectations. - Expanded PDL Support: Added
image/pwg-rasterto both mDNS TXTpdlrecords and IPPdocument-format-supportedattribute lists for complete Android IPP Everywhere / Mopria standard compliance.
🔍 Diagnostic Tooling
- Android PDL Validation: Updated
diagnose.pyto test and report PWG-raster / Android PDL format readiness during network diagnostic scans.
v1.1.1
v1.1.1 - 2026-08-12
🌐 Multi-PC Network & Display Enhancements
- Multi-PC Network Identification: Dynamic printer naming incorporating host PC name and printer name (
Printer (PC-NAME)). - Unique mDNS UUIDs: Machine-specific mDNS UUID generation (
uuid5onPrinter@Hostname) preventing iOS/AirPrint device collision across multiple PCs running the bridge on the same LAN. - Enhanced IPP & mDNS Attributes: Updated
printer-make-and-model,printer-info,printer-location, and mDNS TXTnotefields for clear printer discovery UI on iOS, macOS, and Android.
v1.1.0
v1.1.0 - 2026-08-12
🛠️ Windows Service & Compatibility Fixes
- Windows Service SCM Error 7039 Fixed: Updated PyInstaller build settings to
--consolemode to ensure PID consistency with Windows Service Control Manager. - Persistent Service Logging: Fixed log file path resolution when frozen with PyInstaller (
sys.executabledirectory) so logs persist properly. - IPP Operation Expansion: Added support for
Get-Job-Attributes(0x0009) andCancel-Job(0x0008) required by iOS PrintKit post-print routines.
AirPrintBridge_Setup_v1.0.1
v1.0.1 - 2026-08-11
🐛 Bug Fixes
- Interactive Mode Fallback: Fixed an issue (Error 1063) where running the standalone executable directly would crash. It now gracefully falls back to interactive debugging mode if it's not launched by the Service Control Manager.
- Documentation: Added troubleshooting steps for users with virtual printers (like RustDesk) that take over the Windows Default Printer setting, causing jobs to print to nowhere.
AirPrintBridge_Setup_v1.0.0
v1.0.0 - 2026-08-10
🚀 New Features
- Standalone Installer: Now available as a fully automated Windows setup wizard that installs and runs the bridge as a background Windows Service.
- Print PDFs natively on Windows via PyMuPDF + win32 DC integration.
- Scale and center PDF pages to the printable area.
- Add URF (Apple Raster) support and AirPrint attributes.
- Register AirPrint subtype as a separate mDNS service.
- Enhance mDNS AirPrint advertisement for better iOS/macOS discovery.
⚡ Improvements
- Add IPP decoder and various AirPrint compatibility fixes.
📚 Documentation
- Revamp README for the Windows AirPrint Bridge project.
- Add supported devices documentation.
🏗️ Infrastructure & Maintenance
- Add PyInstaller (
build.ps1) and Inno Setup (installer.iss) build scripts for generating distributable Windows executables. - Add
diagnose.pymDNS + IPP AirPrint diagnostic script for debugging. - Add
quick_check.pyIPP probe script.