Po prawie trzech latach od utworzenia poprzedniej znaczącej wersji, firma Apple wydaje wolny system drukowania (Common Unix Printing System), używany w macOS oraz w większości dystrybucji Linux. Rozwój CUPS jest w pełni kontrolowany przez firmę Apple, która w 2007 roku przejęła firmę Easy Software Products, twórcę CUPS.
Od tej wersji licencja na kod została zmieniona z GPLv2 i LGPLv2 na Apache 2.0, co umożliwi stronom trzecim korzystanie z kodu CUPS w swoich produktach, bez konieczności ujawniania wprowadzonych zmian, a także zapewni zgodność licencyjną z innymi otwartymi projektami Apple, takimi jak Swift, WebKit i mDNSResponder. Licencja Apache 2.0 wyraźnie określa także przeniesienie praw do zapatentowanych technologii wraz z kodem. Negatywnym skutkiem zmiany licencji z GPL na Apache jest utrata zgodności licencyjnej z projektami dystrybuowanymi wyłącznie na licencji GPLv2 (licencja Apache 2.0 jest zgodna z GPLv3, ale niezgodna z GPLv2). Aby rozwiązać ten problem, do umowy licencyjnej dodano specjalne wyłączenie dla kodu na licencjach GPLv2/LGPLv2.
Podstawowe w CUPS 2.3:
- Dodano wsparcie dla wstępnie ustawionych i atrybutu „w szablonach zadań drukowania dla protokołu , który dostarcza narzędzia do dynamicznego wyboru dostępnej drukarki w sieci, pozwala na wykrywanie drukarek, wysyłanie zapytań i wykonywanie operacji wydruku zarówno bezpośrednio, jak i przez pośrednie hosty;
- W skład wchodzi nowa narzędzie , z implementacją prostego serwera IPP Everywhere, który można wykorzystać do testowania oprogramowania klienckiego lub do wykonywania poleceń dla każdego zadania drukowania;
- W komendzie lpstat zrealizowano wyświetlanie stanu wstrzymania nowych zadań drukowania;
- W bibliotece libcups dodano wsparcie dla uwierzytelniania HTTP Digest oraz SHA-256;
- W implementacji protokołu współdzielenia drukarek zapewnia się użycie nazw DNS-SD przy rejestracji drukarki w sieci;
- W narzędziu ipptool dodano możliwość zapisu plików atrybutów ippserver;
- W dyrektywie SSLOptions dodano wsparcie dla opcji MinTLS i MaxTLS do wyboru używanych wersji TLS;
- W „client.conf” dodano wsparcie dla dyrektywy UserAgentTokens;
- Zaktualizowano usługę systemd do uruchamiania cupsd;
- W zespole lpoptions pojawiła się możliwość pracy z drukarkami IPP Everywhere, które nie zostały dodane do lokalnych kolejek drukowania;
- Do sterownika IPP Everywhere dodano poprawną obsługę drukarek z trybem druku jednostronnego;
- Dodano reguły uwzględniające specyfikę drukarek USB Lexmark E120n, Lexmark Optra E310, Zebra, DYMO 450 Turbo, Canon MP280, Xerox i HP LaserJet P1102;
- Usunięto luki zabezpieczeń i , prowadzące do przepełnienia zarezerwowanego miejsca na stos podczas przetwarzania nieprawidłowych danych w funkcjach asn1_get_packed i asn1_get_type, używanych przy przetwarzaniu żądań SNMP;
- Usunięto narzędzia cupsaddsmb i cupstestdsc.
Źródło: opennet.ru
