[Printing-architecture] github.com/OpenPrinting/goipp 1.1.0 and ipp-usb 0.9.24 announce
Alexander Pevzner <[email protected]> Fri, 8 Dec 2023 19:02:19 +0300
| Newsgroups | dev.linux.lists.printing-architecture |
|---|---|
| Message-ID | <[email protected]> |
Hi, after long delay I'm glad to announce next releases of goipp and ipp-usb (1) goipp goipp is the independent, fairly complete implementation of the core IPP protocol (per RFC 8010), written in pure Go. It was created a while ago as a part of the ipp-usb project, because being working on that project I've noticed, to my surprise, that there is no working implementation of the IPP protocol in Go, and was moved into the separate project in assumption that it can be useful by itself, as a general-purpose IPP library. This implementation written from scratch. CUPS code was only consulted as a source of expertise, but Go implementation is 100% independent. The 1.1.0 version adds the following things: - workaround for Pantum M7300FDW. This device (and, probably, many similar) violates IPP protocol and encodes collection members as named attributes instead of using memberAttrName tags to represent attribute names within collections - Groups field added to the Message structure. It allows to represent IPP messages with repeated groups with the same group tags (like Get-Jobs) - near 100% test coverage - few minor bugs were discovered and fixed (mostly related to more accurate reporting of IPP decoding errors) - general improvements of errors reporting, mostly in formulating error messages (2) ipp-usb 1. Added support for clients authentication (https://github.com/OpenPrinting/ipp-usb/issues/61), requested by RedHat a while ago 2. Added workaround for Canon Selphy CP1500 (https://github.com/OpenPrinting/ipp-usb/issues/73). This device returns invalid IPP status in the Get-Printer-Attributes. Workaround implemented as the ignore-ipp-status in case it will be useful for other devices. 3. Added support for HP LaserJet MFP M426fdn, HP ColorLaserJet MFP M278-M281 and, probably, some similar devices. These MFPs use non-standard Class/SubClass/Protocol combination for IPP over USB, 255/9/1. Ideally it should be implemented as quirk, but for now simply hardcoded (for idVendor == 0x03f0). 4. Workaround for Pantum M7300FDW (explained above, in the goipp announce). Please note, that fixing Pantum M7300FDW requires the similar patch in CUPS, which is not currently approved (see https://github.com/OpenPrinting/cups/pull/826). 5. User-contributed FreeBSD port (see https://cgit.freebsd.org/ports/commit/?id=c30e4415453a5d3c5c0cd00d253250b8f7e2054d) 6. Some other bug fixes and small improvements. This version requires goipp 1.1.0 for building. -- Wishes, Alexander Pevzner ([email protected])