Meeting called to order by Ira McDonald at 1pm US Eastern. Minutes taken by Ira McDonald.
Attendees
Agenda
- Progress report - The Linux Foundation got accepted as mentoring organization by Google again! - The time window for the contributor candidates to submit their proposals to Google closed on 19 April 2022 and many proposals were submitted. - We have posted everything that contributors needed to know for participating and all of our 8 OpenPrinting project ideas. - The next steps are for the mentoring organizations to submit the slot requests to GSoC by 12 May 2022 and accepted GSoC contributor projects to be announced on 20 May 2022. - GSoC 2022 Timeline - DONE - 7 February 2022 - Mentoring organizations begin submitting applications to Google - DONE - 21 February 2022 - Mentoring organizations application deadline - DONE - 21 February to 6 March 2022 - Google administrators review organization applications - DONE - 7 March 2022 - List of accepted mentoring organizations published - LF accepted - DONE - 7 March to 3 April 2022 - Potential GSoC contributors discuss with mentoring orgs - DONE - 4 April - GSoC contributor application period begins - DONE - 19 April 2022 - GSoC contributor application deadline - 12 May 2022 - GSoC contributor slot requests due from Org Admins - 20 May 2022 - Accepted GSoC contributor projects announced - 20 May to 12 June 2022 - GSoC contributors meet mentors, read docs, get up to speed - 13 June 2022 - Coding officially begins! - 25 July 2022 - Mentors and contributors begin submitting Phase 1 evaluations - 29 July 2022 - Phase 1 Evaluation deadline (standard coding period) - 25 July to 4 September 2022 - GSoC contributors work with guidance from Mentors - 5-12 September 2022 - Contributors final code/mentor evaluations (standard period) - 12-19 September 2022 - Mentors submit final evaluations (standard period) - 20 September 2022 - Initial results of Google Summer of Code 2022 announced - 12 September to 13 November 2022 - Continue coding (extended period) - 21 November 2022 - Contributors submit final code (extended period) - 28 November 2022 - Mentors submit final evaluations (extended period)
- Progress report - Till is getting even closer to the release, nearly no bug fixing and feature adding are left, but mostly work on cleaning the code and getting a nica API. So we will see the release of cups-filters 2.0 soon. - Important part of Till's current work on cups-filters is to get away from mix-up of different coding and naming styles arising from the many code contributions Till has collected since the announcement of the switch-over from the PostScript-based to the PDF-based printing workflow at the first OpenPrinting Summit in Atlanta, Georgia back in 2006. - Till wants to get cups-filters following the same coding guidelines as Michael Sweet has created for CUPS, and so extend them to the rest of OpenPrinting. - Therefore Till has started with the naming of the functions and data types. All public API functions now have names starting with "cf" and the name itself in titlecase, since CUPS function names start with "cups" instead. Library-internal functions are declared in *-private.h files and have names like the API functions but starting with "_cf", just as the CUPS private functions start with "_cups". Functions used in only the source file where they are defined (i.e., local functions) are not declared in any *.h file, but are instead declared statically, and have all-lowercase names with "_" as word separators. Constants are all-uppercase, also with "_" as word separator, and start with "CF_". - This way, one can very easily see in the source code of some program what parts come from libcupsfilters. - This is a substantial change in the API but, fortunately, there are only very few consumers of the libcupsfilters API yet: to Till's knowledge, only pappl-retrofit and the c2esp printer driver. Till updated the pappl-retrofit code appropriately and also the patch for the c2esp printer driver in the Ghostscript Printer Application. After that, Till tested all four Printer Applications and all are working correctly with the new API. - Even apart from renaming, the API calls in libcupsfilters in cups-filters 2.x are not compatible with the libcupsfilters of the 1.x series. Therefore Till's have bumped the library’s major name to 2. Till also set the version number to the one of the first planned release: 2.0b1. - The new cups-filters will also drop support for old software. At least CUPS 2.2.2, Ghostscript 9.56.0 (if Ghostscript is used), and QPDF 10.3.2 will still be required. Note that not yet all of the conditionals have been removed. - When compiling on Ubuntu 22.04 (gcc 11.2.0) there are no compiler warnings. - All functions in libcupsfilters, especially the filter functions, do not log to stderr. All logging is done via logging functions (see also cupsfilters/log.h, cupsRasterParseIPPOptions(), bannertopdf(), raster driver functions). - Filter functions do not load or modify the PPD file data structure. When using PPD files, the structure has to be set up before calling the first filter function for the job. There is a new API function for that, cfFilterLoadPPD(). There is also a new filter function to free the space used by the PPD data structure again: cfFilterFreePPD(). - Generally, all filter functions use parameters instead of environment variables now. - The ghostscript() filter function now makes use of Ghostscript 9.56.0 or newer supporting all data formats used by driverless IPP printing as output formats. It outputs PWG Raster, Apple Raster, PCLm (both color and grayscale), PDF (standard with vector graphics and fonts, embedded raster in color and grayscale), and for legacy CUPS drivers also CUPS Raster and PCL-XL (both color and grayscale). - The default output format of the gstoraster CUPS filter for the case that the FINAL_CONTENT_TYPE environment variable is set to an unknown format is CUPS Raster now, as the unknown format can come from a "rasterto..." CUPS driver. - Ghostscript is the recommended renderer (RIP, Raster Image Processor) for high-level graphics print files (PDF and PostScript) for CUPS, cups-filters, and Printer Applications. It is optimized for print output and supports ALL data formats for driverless printing. - Note that we cannot neglect PCLM in driverless printing! Printers like the HP LaserJet M15 do driverless printing only with PCLm! - For those who prefer MuPDF, instead of Ghostscript, as PDF renderer the mupdftopwg() filter function/CUPS filter is now fully usable as one can generate with it (and the help of an additional post-filter) all Raster formats (Apple/PWG/CUPS Raster, PCLm) and so one can use MuPDF instead of Ghostscript for all driverless printers and printers with CUPS Raster driver (and with pdftops() also for all PostScript printers). - mupdftopwg() was originally named mupdftoraster(). We renamed it as the underlying mutool only outputs PWG Raster and the actual output we get by calling pwgtoraster() or rastertopclm() afterwards. The changes we did on mupdftopwg() are simply to get color space and resolution for the final output format and not for PWG Raster from the PPD file or IPP attributes. - Therefore we enhanced the pwgtoraster() filter function to take both Apple and PWG Raster as input and produce Apple, PWG, and CUPS Raster as output. - Fixed the rastertopclm() filter function to work with printers which do not supply a default resolution for PCLm, typically models which support only one single resolution, like the HP LaserJet M15. - As the pclmtoraster() filter function already produces PWG Raster, it is only the change of flag in the cupsRasterOpen() function to get Apple Raster output, so we support Apple Raster here now. - Let the rastertopwg() filter function error out if an invalid output format is specified and let the CUPS filter rastertopwg default to PWG Raster. - The pdftopdf() filter function received further fixes on the output page geometry. - Till fixed the output when the landscape or orientation-requested options are used and when the auto-rotation of the input pages is suppressed (see also the great write-up from Brian Potkin about pdftopdf). - Fixed also the behavior of the filter function if the output page is landscape-shaped (Width > Height) which is usually the case if the printer feeds the paper long-edge-first. - In the pdftops() filter function, use Poppler instead of Ghostscript for all Apple LaserWriter models, as they all seem to have the firmware bug of not working with Ghostscript’s PostScript output. - We also identify HP LaserJet printers more precisely to apply the correct PostScript interpreter bug workarounds. Only HP LaserJet XXXXY models with XXXX being a number of at least one and at most four digits and Y an optional group of letters (no extra words after that) are to consider old and to be used with Poppler, whereas printers with extra words in the model name (HP LaserJet 500 color M551) are to consider modern again and need Ghostscript’s PostScript output. - For the universal() filter function, we also install the individual filter executables together with the universal CUPS filter now, as PPD files could explicitly call the individual filters via their *cupsFilter2: "..." lines. As the executables are only stubs which call the actual filter functions this does not occupy much more disk space. - Several fixes were applied to the bannertopdf() filter function. Especially it does not use environment variables any more, but instead, it takes the template directory as a parameter and printer info and location via the "printer-info" and "printer-location" options or IPP attributes. All dynamic memory is freed correctly after use now and there is no crash on a missing PDF template any more. - Also let the generated PPD files for driverless printers only have one *cupsFilter2: "..." line for the preferred data format and not one for each supported format any more, and we removed the unused Kolor Manager/Oyranos support code from the color management functions. - What is missing now is a way to build cups-filters without PPD support, general code clean-up, license info in the source files, and then we are ready for a Release Candidate.
- Progress report - 625 printers certified for IPP Everywhere v1.0 - 229 printers certified for IPP Everywhere v1.1
- Progress report - No update - If you find any bug, please report it on the bug tracker of the web app.
- Progress report - ipp-usb is available as a Snap in the Snap Store now (1895 downloads)
- Progress report - No update
- Progress report - Current PAPPL release is v1.2b1 on 23 April 2022. - PAPPL v1.2 adds full localization, support for additional IPP features, and some other improvements. - Added macOS menubar icon/menu (Issue #27) - Added support for localization, with base localizations for English, French, German, Italian, Japanese, and Spanish (Issue #58) - Added interpolation when printing JPEG images or when using the papplJobFilterImage function with smoothing enabled (Issue #64) - Added papplDeviceGetSupplies API to query supply levels via SNMP (Issue #83) - Added support for custom media sizes in millimeters (Issue #118) - Added papplPrinterGet/SetMaxPreservedJobs API and reprint web interface (Issue #189) - Added IPP notifications support with papplSystemAddEvent and papplSubscriptionXxx functions (Issue #191) - Added papplPrinterDisable and papplPrinterEnable functions and proper support for the IPP "printer-is-accepting-jobs" attribute. - Added OpenSSL/LibreSSL support (Issue #195) - Added papplSystemGet/SetMaxClients API (Issue #198) - Updated papplPrinterSetReadyMedia to support up to PAPPL_MAX_SOURCE media entries, regardless of the number of sources.
- Progress report - No update
- Progress report (February 2022) - HPLIP v3.22.2 in all Printer Applications - The HPLIP Printer Application (Snap Store) got another update of the underlying HPLIP version. It is now HPLIP 3.22.2. We continue using the Debian package sources to include more than 80 bug fixes not adopted upstream. Sorry for the delayed updates due to this. It is always a lot of work for Debian printing package maintainer Thosten Alteholz to update the upstream source code and to adapt the patches where needed. Thanks a lot for this, Thorsten. - The update adds explicit support for the new HP printer models which got released in the beginning of 2022. Note that most of those printers should also work as driverless IPP printers and therefore also work without the HPLIP Printer Application. - The update worked out smoothly. If you have installed an HPLIP Printer Application version which still uses an older HPLIP and have the proprietary plugin installed, the plugin gets updated right after the installation of the new version of the Printer Application. Note that this can take some minutes and that during this time your printer will perhaps not work. - After that, Till updated also the HPLIP used in the PostScript Printer Application (PostScript PPD files for HP printers, Snap Store) and in the Ghostscript Printer Application (HPIJS for non-HP PCL-5c/e lasers, Snap Store) to the Debian package source of HPLIP 3.22.2. - In all the four Printer Applications (and also in the CUPS Snap), Till also fixed bugs caused by GNU-TLS -> SSL transition of CUPS and PAPPL. - In addition, Till updated the code of pappl-retrofit and the patch for the c2esp printer driver in the Ghostscript Printer Application for the new cups-filters 2.x API. Till tested all four Printer Applications and all are working correctly with the new API.
- Progress report - Gutenprint is available as a Snap in the Snap Store now (3395 downloads)
- Progress report - HPLIP is available as a Snap in the Snap Store now (4141 downloads)
- Progress report - Ghostscript is available as a Snap in the Snap Store now (1235 downloads)
- Progress report - PostScript is available as a Snap in the Snap Store now (2358 downloads)
- Progress report - CUPS is available as a Snap in the Snap Store now (4584 downloads)
- Progress report - LPrint v1.1.0 was released on 23 December 2021 by Mike Sweet. - LPrint is available as a Snap in the Snap Store now. - LPrint the Printer Application for label printers, created by Michael Sweet, has now been switched over to be PAPPL-based and with this it is the first PAPPL-based, native (non-PPD-retro-fitting) production Printer Application. - So not only does it give you support for many label printer models (if your label printer is not supported, some more are supported by the Ghostscript Printer Application), but it also is an example for developers who want to create their own native Printer Application.
- Project report - PDFio v1.0.0 was released on 14 December 2021 by Mike Sweet. - PDFio is a simple library for reading and writing PDF files, but it is not a PDF renderer/rasterizer. So it does similar things to the QPDF library, but using only simple C, rather than C++. PDFio does not replace renderers like Ghostscript or Poppler. - Till is thinking about switching cups-filters from QPDF to PDFio, to make libcupsfilters free of C++, but PDFio still does not support converting filled interactive PDF forms into static PDF files. A feature request is posted. This could also be a project for GSoC 2022.
- CUPS (Mike and Zdenek) - Current release is OP CUPS v2.4.1 on 22 January 2022. - There will be further bug fix releases in the 2.4.x series. Some bug fiixes were done, see changes below. - Ubuntu Jammy Jellyfish (22.04 LTS) now comes with CUPS v2.4.1. - The CUPS Snap and our CUPS-driver-retro-fitting Printer Application Snaps use the current GIT master of CUPS. - CUPS 2.4.2 planned changes (Mike, Zdenek) - The cupsd daemon removed processing temporary queue (Issue #364) - Fixed delay in IPP backend if GNUTLS is used and endpoint doesn't confirm closing the connection (Issue #365) - Re-added LibreSSL/OpenSSL support (Issue #362) - Updated the Solaris smf service file (Issue #368) - CUPS Filters Summary (Till) - We are continuing to polish and to fix bugs for the 2.0.0 release. Till especially renamed function and data types to get a clean API, bumped the major version of libcupsfilters to 2, set the version number to 2.0b1, and fixed tons of bugs. - Till also backported several fixes to the 1.x branch so that they make it into current Linux distributions, especially Ubuntu 22.04 LTS (Jammy Jellyfish) which had Final Freeze on 13 April 2022 and was released one week later on Thursday 21 April 2022. - The fixes are the ones on the pdftopdf CUPS filter for printing on printers which take the paper long-edge first (v1.28.13) and for the landscape or orientation-requested options to work correctly (v1.28.14). Also fixes for the handling of PostScript interpreter bugs in pdftops got backported, for Apple Laserwriter printers into 1.28.13 and for HP LaserJet printers into v1.28.15. Till also backported the fix for PCLm printers which do not report their default resolution into v1.28.14. - CUPS Filters release v1.28.13 on 27 March 2022 (Till) - Bug fix release, for correct printing on printers which take in the paper long-edge-first and for Apple LaserWriter printers. - CUPS Filters release v1.28.14 on 4 April 2022 (Till) - Bug fix release to get correct PDF output when using "landscape", "orientation-requested", and/or "nopdfAutoRotate" options, and to get PCLm printing work on printers not telling their PCLm default resolution. - CUPS Filters release v1.28.15 on 11 April 2022 (Till) - Bug fix release, to make all HP LaserJet PostScript printers correctly work. - Ubuntu Jammy Jellyfish (22.04 LTS) comes with cups-filters v1.28.15. The CUPS Snap currently uses cups-filter’s GIT master (2.x). The Printer Application Snaps also use the current GIT master of cups-filters.
- Joint PWG/OP Summit Virtual F2F - 17-19 May 2022 - Ira/Aveek/Till to attend - https://www.pwg.org/chair/meeting-info/meetings.html - Status of AMSC and ISO liaisons w/ PWG (Paul Tykodi) - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20220110.htm - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20220124.htm - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20220307.htm - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20220404.htm - see PWG Steering Committee minutes from 01/10/22, 01/24/22, 03/07/22, 04/04/22 - PWG Hardcopy Device Security Guidelines v1.0 - Interim draft - https://ftp.pwg.org/pub/pwg/ids/wd/wd-idshcdsec10-20220208-rev.pdf - for a Best Practice - PWG F2F review on 9 February 2022 - Schedule - Prototype draft in Q4 2022 / Q1 2023 - IPP Everywhere v1.1 Printer Self-Certification Tools Update 4 (Mike) - https://www.pwg.org/archives/ipp/2022/021129.html - v1.1 Tools Update 4 second last call on 14 April 2022 - IPP Everywhere v1.1 certifications required after 1 July 2021 - IPP Workgroup Charter (Ira) - PWG Approved - http://ftp.pwg.org/pub/pwg/ipp/charter/ch-ipp-charter-20210409.pdf - update for new IPP WG projects - PWG Approved on 9 April 2021 - IPP INFRA Cloud Proxy Registration (Cihan, Mike) - proposed - https://www.pwg.org/archives/ipp/2020/020688.html - https://ftp.pwg.org/pub/pwg/ipp/slides/ipp-wg-agenda-november-20.pdf - for a Registration (near-term) - minor update of IPP System Service and IPP Infrastructure Printing - offline discussions with Microsoft about Universal Printing coherence - PWG Virtual F2F discussion on 6 May 2021 - Schedule - TBD - IPP Finishings v3.0 (Smith) - Stable draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippfinishings30-20220408.pdf - for a Candidate Standard - major update of PWG 5100.1-2017 - PWG Formal Vote started 9 April 2022 ends 27 May 2022 - Schedule - Candidate Standard in Q2 2022 - IPP Enterprise Printing Ext v2.0 (Smith) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippepx20-20211101-rev.pdf - for a Candidate Standard - PWG status at PWG Virtual F2F on 8 February 2022 - Schedule - Stable draft in Q2/Q3 2022 - IPP Production Printing Ext v2.0 (Mike) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippppx20-20211020-rev.pdf - for a Candidate Standard - major update of PWG 5100.3-2001 - PWG status at PWG Virtual F2F on 8 February 2022 - Waiting on prototyping in ippsample - Schedule - Stable draft in Q2/Q3 2022 - IPP Driverless Printing Extensions v2.0 (Smith) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippnodriver20-20220222-rev.pdf - for a Candidate Standard - major update of PWG 5100.13-2012 - PWG status at PWG Virtual F2F on 8 February 2022 - IPP WG review on 24 February 2022 - Schedule - Stable draft in Q2/Q3 2022 - IPP Encrypted Jobs and Documents (Mike/Smith) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrustnoone10-20210519-rev.pdf - for a Candidate Standard - PWG status at PWG Virtual F2F on 8 February 2022 - Waiting for prototyping - Schedule - Stable draft in Q1 2022 - IPP 2.x (Mike/Ira) - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippbase23-20220124.pdf - major update of PWG 5100.12-2015 - PWG review at PWG Virtual F2F on 9 February 2022 - Schedule - Prototype draft in Q2/Q3 2022 - IPP Everywhere v2.0 (Mike/Ira) - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeve20-20220124-rev.pdf - major update - for a Candidate Standard - PWG review at PWG Virtual F2F on 9 February 2022 - Schedule - Prototype draft in Q3/Q4 2022
- US NIST Lightweight Crypto Workshop Virtual F2F - 9-11 May 2022 - Ira to attend - https://csrc.nist.gov/events/2022/lightweight-cryptography-workshop-2022 - Joint PWG/OP Summit Virtual F2F - 17-19 May 2022 - Ira/Aveek/Till to attend - https://www.pwg.org/chair/meeting-info/meetings.html - IEEE 1609 WG Virtual F2F - 24 May 2022 - Ira to attend - https://standards.ieee.org/develop/wg/1609.html - ISO TC22/SC32/WG12 Virtual F2F - 30 May to 3 June 2022 - Ira to attend - https://www.iso.org/standard/77796.html (ISO DIS 24089, Automotive Software Update) - ESCAR USA F2F (Detroit) - 15-16 June 2022 - Ira to attend (in-person) - https://www.escar.info/escar-usa.html - UPTANE Workshop F2F (Detroit) - 17 June 2022 - Ira to attend (in-person) - https://uptane.github.io/ - IEEE 1609 WG Virtual F2F - 28 June 2022 - Ira to attend - https://standards.ieee.org/develop/wg/1609.html - ISO TC22/SC32/WG12 Hybrid F2F (Tokyo) - 11-15 July 2022 - Ira to attend - https://www.iso.org/standard/77796.html (ISO DIS 24089, Automotive Software Update) - TCG Members Meeting Hybrid F2F (Chevy Chase, MD) - 18-22 July 2022 - Ira to attend - https://trustedcomputinggroup.org/ - IETF 114 Hybrid F2F (Philadephia, PA) - 25-29 July 2022 - Ira to attend - https://www.ietf.org/how/meetings/114/ - IEEE 1609 WG Virtual F2F - 16 August 2022 - Ira to attend - https://standards.ieee.org/develop/wg/1609.html - PWG Virtual F2F - 16-28 August 2022 - Ira to attend - https://www.pwg.org/chair/meeting-info/meetings.html - ISO TC22/SC32/WG12 Virtual F2F - 23-24 August 2022 - Ira to attend - https://www.iso.org/standard/77796.html (ISO DIS 24089, Automotive Software Update)
Open Action Items
Next OP US/Europe/Brazil/India Conference Calls
- Tuesday to Thursday 17-19 May 2022 - Ira/Aveek/Till to attend
- Tuesday 7 June 2022, Daytime - Web conference to be announced - US 10am in San Francisco - US PDT (Pacific Daylight Time) 11am in Colorado - US MDT (Mountain Daylight Time) 12am in Chicago - US CDT (Central Daylight Time) 1pm in New York - US EDT (Eastern Daylight Time) - Europe 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time)
- Tuesday 5 July 2022, Daytime - Web conference to be announced - Note - US Independence Day holiday - 4 July 2022 - Note - ISO TC22/SC32/WG12 Hybrid F2F (Tokyo) - 11-15 July 2022 - Note - TCG Members Meeting Hybrid F2F (Chevy Chase, MD) - 18-22 July 2022 - Note - IETF 114 Hybrid F2F (Philadephia, PA) - 25-29 July 2022 - US 10am in San Francisco - US PDT (Pacific Daylight Time) 11am in Colorado - US MDT (Mountain Daylight Time) 12am in Chicago - US CDT (Central Daylight Time) 1pm in New York - US EDT (Eastern Daylight Time) - Europe 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time)