-CHANGES.txt - 2006-05-05
+CHANGES.txt - 2007-09-13
------------------------
-CHANGES IN CUPS V1.2
+CHANGES IN CUPS V1.3.1
- - Documentation updates (STR #1618, STR #1620, STR #1622,
- STR #1637)
- - Static file copy buffers reduced from 64k to 32k to
- work around bogus MallocDebug library assumptions (STR
- #1660)
- - The scheduler did not decode the backend exit code
- properly (STR #1648)
- - The MacOS X USB backend did not report the 1284 device ID,
- nor did it fix device IDs returned by HP printers.
- - The scheduler started more slowly than 1.1.x with large
- numbers of printers (STR #1653)
- - cupsRasterInterpretPPD() didn't support the
- cupsPreferredBitsPerColor attribute, and imagetoraster
- didn't use the new API.
- - The "make test" script did not create all of the necessary
- subdirectories for testing (STR #1638)
- - The scheduler did not prevent rotation of logs
- redirected to /dev/null (STR #1651)
- - "make test" did not include the SNMP backend in the
- test environment (STR #1625)
- - The EPM packaging files did not work (STR #1621)
- - "Use Default Configuration" inserted a broken
- configuration file (STR #1624)
- - Redirects in the web interface did not always preserve
- the encrypted status of a connection (STR #1603)
- - Added the Apple "pap" backend.
- - Added CUPS library to CUPS Image shared library
- linkage to support Linux --as-needed linker option
- (STR #1606)
- - Fixed support for --enable-pie (STR #1609)
- - The pdftops filter did not validate the length of the
- encryption key (STR #1608)
- - Updated the Polish localization.
- - "Encryption Required" in the cupsd.conf file now only
- requires encryption when the connection is not over the
- loopback interface or domain socket.
- - Printer names containing "+" were not quoted properly in
- the web interface (STR #1600)
- - The SNMP backend now reports the make and model in the
- information string so that the auto-generated printer
- name is more useful than just an IP address.
+ - Documentation updates.
+ - The USB backend on Mac OS X could hang if the driver and
+ printer did not match.
+ - Delegated Kerberos credentials were not working.
+ - "make distclean" incorrectly removed the edit-config.tmpl
+ files (STR #2508)
+ - Fix compile problem on HP-UX (STR #2501)
+ - The cupstestppd utility now tests for resolutions greater
+ than 99999 DPI to detect a missing "x" between the X and Y
+ resolutions.
+ - Fixed many problems in the various translations and added
+ a new "checkpo" utility to validate them.
+ - The cupstestppd utility now tests the custom page size code
+ for CUPS raster drivers.
+ - cupsLangDefault() did not attempt to return a language that
+ was supported by the calling application.
+ - If a remote printer stopped while a job was being sent, the
+ local queue would also get stopped and the job re-queued,
+ resulting in duplicate prints in some cases.
+ - A few Apple-specific job options needed to be omitted when
+ printing a banner page.
+ - The new peer credential support did not compile on FreeBSD
+ (STR #2495)
+ - Direct links to help files did not set the current section
+ so the table-of-contents was not shown.
+ - The configure script did not support --localedir=foo (STR #2488)
+ - The backends were not displaying their localized messages.
+ - CUPS-Authenticate-Job did not require Kerberos authentication
+ on queues protected by Kerberos.
+ - The Zebra ZPL driver did not work with Brady label printers
+ (STR #2487)
+ - Norwegian wasn't localized on Mac OS X.
+ - getnameinfo() returns an error on some systems when DNS is
+ not available, leading to numerous problems (STR #2486)
+ - The cupsfilter command did not work properly on Mac OS X.
+ - The scheduler makefile contained a typo (STR #2483)
+ - The TBCP and BCP port monitors did not handle the trailing
+ CTRL-D in some PostScript output properly.
+ - Fixed the localization instructions and German template for
+ the "Find New Printers" button (STR #2478)
+ - The web interface did not work with the Chinese localization
+ (STR #2477)
+ - The web interface home page did not work for languages that
+ were only partially localized (STR #2472)
+ - Updated the Spanish web interface localization (STR #2473)
+ - ppdLocalize() did not work for country-specific localizations.
-CHANGES IN CUPS V1.2rc3
+CHANGES IN CUPS V1.3.0
- - The cups-lpd program always did reverse lookups on the
- client address, which could be a performance problem.
- Added a "-n" option to disable lookups.
- - When configured with SSL support, require encryption by
- default when displaying the /admin location (STR #1592)
- - The next job ID was not computed correctly if the job
- cache file got out of sync with the spool directory
- (STR #1582)
- - The PNG image handling code used deprecated functions
- from libpng (STR #1587)
- - Added a Polish translation (STR #1584, STR #1586)
- - More changes to the scheduler to improve battery life
- on portable devices (STR #1583)
- - Changed the default log level for status messages back
- to "DEBUG" to be consistent with CUPS 1.1.x (STR #1579)
- - The error string was not set properly when
- cupsDoFileRequest() was given the name of a directory
- (STR #1578)
- - Fixed handling of job-hold-until (STR #1581)
- - Added explicit notes to the cupsaddsmb man page
- explaining that the driver filenames are case-sensitive
- under UNIX and that they must be all lowercase (Windows
- 2000) or all UPPERCASE (Windows 95/98/Me) to work (STR
- #1568)
- - The USB backend incorrectly split the manufacturer name
- if it contained spaces (STR #1566)
- - The scheduler would hang when listing PPD files for a
- manufacturer whose name contained spaces (STR #1567)
- - Added the SNMP backend for network printer discovery
- (STR #1555)
- - cupstestppd now fails PPD files with 1284DeviceId
- instead of 1284DeviceID, and cups-driverd uses a
- case-insensitive comparison when looking for it (STR
- #1573)
- - cupsDoFileRequest() and cupsDoRequest() now work
- properly with non-blocking HTTP connections.
- - Added Swedish translation (STR #1569)
- - "make install" now installs the MIME files with world
- read permissions (STR #1565)
- - More CDSA encryption support fixes (STR #1563)
- - Updated the default mime.types file to support printing
- of files that do not have a locally-recognized MIME
- media type to raw or System V queues.
- - Updated the serial port detection code on Linux (STR
- #1562)
- - Added some more error checking to httpGetHostname()
- (STR #1561)
- - The title of some administration pages was not
- localized (STR #1548)
- - The edit-config.tmpl file was not generated or
- installed for the Spanish or Japanese localizations
- (STR #1547)
- - The mimeDelete() function freed the types before the
- filters, but the filters needed the type data (STR #1558)
- - The scheduler didn't keep track of the status pipes
- properly, leading to a bad select() for multi-file jobs
- (STR #1559)
- - The cupstestdsc program didn't validate the ordinal
- page number value for %%Page: comments.
+ - The scheduler did not handle out-of-file conditions
+ gracefully when accepting new connections, leading to
+ heavy CPU usage.
+ - The scheduler did not detect ServerBin misconfigurations
+ (STR #2470)
+ - "AuthType Default" did not work as expected when the
+ "DefaultAuthType foo" line appeared after it in the
+ cupsd.conf file.
+ - The on-line help did not describe many common printing
+ options (STR #1846)
+ - The IPP backend did not return the "auth required" status
+ when printing to a Kerberos-protected queue.
+ - The scheduler was not looking in the correct directories
+ for LSB PPD files (STR #2464)
+ - Changed references to ESP Ghostscript to GPL Ghostscript
+ (STR #2463)
+ - The PostScript filter did not cleanly terminate when
+ the job was canceled or stopped.
+ - Fixed generation of Kerberos credentials for remote
+ printing. Note that this requires a recent version of
+ MIT Kerberos with a working krb5_cc_new_unique()
+ function or Heimdal Kerberos.
+ - Added Portuguese and updated Italian message catalogs.
-CHANGES IN CUPS V1.2rc2
+CHANGES IN CUPS V1.3rc2
- - The scheduler was not always using the string pool,
- causing random crashes.
- - The lpmove and the web interface's Move Job button did
- not work with stopped jobs (STR #1534)
- - The PostScript filter did not handle the page-set
- option properly with number-up printing (STR #1543)
- - The scheduler now only warns about unsupported ACLs
- once (STR #1532)
- - The "fitplot" option did not work with output from
- Mozilla (STR #1542)
- - The imagetops filter did not work with Level 2 or 3
- printers (STR #1533)
- - The scheduler now recognizes PostScript files with PJL
- commands that do not include an ENTER LANGUAGE command.
- - Added --with-printcap configure option.
- - 64-bit SSL fixes for MacOS X.
- - The scheduler didn't send some printer state change
- events.
- - The scheduler didn't send jobs to busy remote printers.
- - Fixed some problems with the launchd support.
- - Added new USB printer backend for MacOS X.
- - The PostScript filter now handles files that start with
- an incomplete PJL header (PR #6076)
- - The web interface language selection code did not try
- the generic language localization (STR #1531)
- - The language cache, string pool, and transcoding caches
- are now process global instead of per-thread to avoid
- problems with GNOME and to allow for data sharing
- between threads (STR #1530)
- - Fixed a CUPS 1.1.x compatibility bug (STR #1528)
- - The web interface redirection after certain printer
- administration tasks was broken (STR #1516)
- - Web interface authorization could get stuck (STR #1512)
- - Localization updates (STR #1513, STR #1518, STR #1520)
- - The pstops filter didn't work with some files (STR
- #1523)
- - "./configure --enable-static" didn't work (STR #1522)
- - The scheduler was not using the configured default
- Group (STR #1521)
- - The web interface still did not show the localized time
- and date for some locales and systems (STR #1509)
- - httpAddrGetList() would crash on systems without
- getaddrinfo().
- - Socket URIs without a trailing slash would cause the
- port number to not be accepted (STR #1519)
- - Local raw and System V printers were not advertised as
- such for printer browsing (STR #1502)
- - The RPM spec file incorrectly put duplicate copies of
- the Japanese and Spanish web interface templates in the
- main cups package (STR #1517)
- - cupsSetDests() did not explicitly set the permissions
- of the /etc/cups/lpoptions file (STR #1508)
- - The lpq command crashed with the -h option (STR #1515)
+ - Added more range checking to the pdftops filter.
+ - The scheduler would crash if a remote IPP queue was stopped
+ (STR #2460)
+ - The scheduler did not allow "DefaultAuthType None".
-CHANGES IN CUPS V1.2rc1
+CHANGES IN CUPS V1.3rc1
- - Documentation updates (STR #1497, STR #1498)
- - The scheduler now redirects browsers to https: URLs
- when encryption is required.
- - The scheduler would crash when printing with a banner
- (STR #1500)
- - cups-driverd did not use the LanguageEncoding attribute
- in PPD files to convert the NickName to UTF-8 (STR
- #1503)
- - The lpadmin command could not set the
- printer-error-policy attribute (STR #1504)
- - The web interface did not show the time and date in the
- correct format for the locale (STR #1505)
- - CUPS no longer accepts print jobs if a printer does not
- support the file format (STR #1501)
- - Cleaned up the PostScript filter (pstops) so that it
- properly supports %%IncludeFeature and page scaling
- (STR #1453)
- - Fixed the cupsFileRewind() and cupsFileSeek() functions
- to work properly with uncompressed files.
- - Added cupsFileGetLine(), cupsFileStderr(),
- cupsFileStdin(), and cupsFileStdout() functions to the
- CUPS library.
- - Added a new cupstestdsc program to test the DSC
- conformance of PostScript files.
- - Added KDE/GNOME icons and a Manage Printers menu item.
- - Added --enable-image and --enable-pdftops configure
- options to control whether the image and PDF filters
- are built and installed (default = yes for all
- platforms but MacOS X)
- - Fixed a minor memory leak in the PPD API.
- - Fixed transcoding issues (STR #1493)
- - The scheduler now enforces a minimum job cost of 100
- when doing FilterLimit checks.
- - The scheduler would leak file descriptors when printing
- to raw queues (STR #1491)
- - The IPv6 support did not compile on Tru64 UNIX (STR
- #1488)
- - ppdOpen2() now converts the NickName and all UI text to
- UTF-8 (STR #1475)
- - The Set Allowed Users web page did not work (STR #1486)
- - When the default policy was not set or set to a non-
- existing policy, the scheduler did not set the default
- policy name to "default" (STR #1484)
- - The Zebra CPCL driver did not use the correct righthand
- margin for the 4" wide label sizes.
- - Fixed a problem with the parsing of fractional real
- numbers in PPD files.
- - Added Spanish localization files (STR #1480)
- - Fixed localization of a few scheduler messages (STR
- #1478)
- - Fixed support for HEAD requests in the scheduler (STR
- #1481)
+ - Updated the German localization (STR #2443)
+ - cupsAdminGetServerSettings() did not handle </Foo> properly.
+ - When lprm and cancel are run with no job ID, they now will
+ cancel the first stopped job if no pending or processing
+ jobs are left in the queue.
+ - The scheduler now logs successful print jobs, filter
+ failures, and the job file types at the default log
+ level (STR #2458)
+ - The scheduler now logs the usernames it is using for
+ authorization at LogLevel debug instead of debug2 (STR #2448)
+ - Added Intellitech Intellibar and Zebra CPCL PPDs to the list
+ of installed PPDs.
+ - Added 6" and 8" wide label sizes for the Zebra ZPL Label
+ Printer driver (STR #2442)
+ - The cupsaddsmb program and web interface now support
+ exporting of 64-bit Windows drivers, when available
+ (STR #2439)
+ - Moving a job that was printing did not stop the job on the
+ original printer (STR #2262)
+ - The cups-lpd mini-daemon did not work on Mac OS X server.
+ - Added httpGetAuthString() and httpSetAuthString() APIs to get
+ and set the current (cached) authorization string to use for
+ HTTP requests.
+ - Updated the default cupsd.conf policy to list the
+ "administrative" operations separately from the "printer
+ control" operations so that it is easier to define a
+ group of users that are "printer operators".
+ - The web interface now pulls the default cupsd.conf file
+ from cupsd.conf.default in the CUPS config directory.
+ - Added a help file for using Kerberos with CUPS.
+ - The scheduler now strips the "@KDC" portion of Kerberos
+ usernames since those usernames typically do not appear in
+ the group membership lists used by CUPS.
+ - cupsMarkOptions() could (incorrectly) leave multiple option
+ choices marked.
+ - Backends could (incorrectly) run as root during discovery
+ (STR #2454)
+ - Avahi is now supported for DNS-SD (Bonjour) printer sharing
+ (STR #2455)
+ - The default cupsd.conf file had typos and old operation names
+ (STR #2450)
+ - The scheduler now erases authentication cache files using the
+ 7-pass US DoD algorithm.
+ - Delegated Kerberos credentials (proxy authentication) did not
+ work.
+ - The filter makefile did not optimize the libcupsimage.2.dylib
+ with a sectorder file.
+ - The IPP backend incorrectly wrote an empty printer message
+ when processing the "none" state reason.
+ - The USB backend could deadlock on Mac OS X while performing
+ a side-channel command.
+ - The scheduler did not prevent remote queues from being
+ shared/published.
+ - The scheduler did not remove the temporary request file on
+ authentication errors.
+ - ppdLocalizeIPPReason() did not handle "scheme:" schemes or
+ "file" URLs.
+ - ppdLocalizeIPPReason() was not exported on Mac OS X.
-CHANGES IN CUPS V1.2b2
+CHANGES IN CUPS V1.3b1
- - Updated the CUPS design description.
- - Added --enable-32bit and --enable-64bit configure
- options to allow building of separate 32/64-bit
- libraries on systems that support both environments
- (STR #1472)
- - Various compiler warning fixes.
- - Fixes for Solaris 10 builds against old GNU TLS and
- LDAP libraries.
- - Added a cupsArrayUserData() function to retrieve the
- user data pointer for an array (useful for typing
- arrays)
- - The ppdEmitString() function did not compute the
- required buffer size properly, leading to dropped
- characters on the end of the printer commands in pstops
- and imagetops (STR #1470)
-
-
-CHANGES IN CUPS V1.2b1
-
- - The serial backend now supports Equinox 8-port serial
- hubs (STR #526)
- - The IPP backend now supports a compression option to
- compress print files as they are sent to the remote
- server (STR #956)
- - The CUPS browse protocol now supports passing of
- default options and browse timeout values from the
- server to the clients (STR #800)
- - Implicit classes that timed out could cause the
- scheduler to crash (STR #1439)
- - Added DragonFly support in local device backends (STR
- #1362)
- - Added LDAP printer browsing support (STR #338)
- - Added official support for printer maintenance commands
- via the CUPS Command file format and hooks in the
- printer-type and web interfaces (STR #932)
- - The HP-GL/2 filter could get in an infinite loop trying
- to convert HP-PCL files (STR #1415)
- - CUPS now implements the HTTP/1.1 Expect header (STR
- #1407)
- - Options in PPD files are no longer automatically put in
- an "Extra" group; rather, all options that are not
- inside an Open/CloseGroup will be placed in the
- "General" group (STR #1385)
- - The scheduler now creates a job-uuid attribute that
- uniquely identifies a job on a network (STR #1410)
- - The init script now unsets the TMPDIR environment
- variable to prevent user temporary directories from
- being used by cupsd accidentally (STR #1424)
- - Added support for launchd on MacOS X.
- - Added support for notify_post on MacOS X.
- - Added support for DBUS on Linux.
- - All of the Berkeley (except for lpc) and System V
- commands now support specification of user, host, and
- port (STR #1028, STR #1029, STR #1087)
- - The lpmove command now allows you to move all jobs for
- a given queue (STR #56)
- - The web interface now supports moving of a job or jobs
- to another queue (STR #56)
- - The web interface now provides searching, paging, and
- changing of the sort/display order of classes, jobs,
- and printers.
- - cupsaddsmb now accepts a password on the command-line
- and supports passwords with special characters (STR
- #822, STR #1236)
- - ppdLoad*() no longer tries to "fix" bad characters in
- UI text (STR #1101)
- - Printer names can now (reliably) contain Unicode
- characters (STR #896)
- - The lpstat command now shows the time and date of the
- last printer state change instead of the hardcoded "Jan
- 01 00:00" (STR #659)
- - The scheduler now adds a job-actual-printer-uri
- attribute to job objects when printing to a class (STR
- #116)
- - The scheduler now logs log file open errors to the
- system log (STR #1289)
- - The scheduler now sets the job-originating-user-name to
- the authenticated username, if available (STR #1318)
- - The scheduler now only updates the permissions of SSL
- keys and certificates when they are under the
- ServerRoot directory (STR #1324)
- - The rastertodymo driver has been renamed to
- rastertolabel (a symlink is installed so that existing
- queues continue to work) and now also supports Zebra's
- CPCL language.
- - The lpstat command could show the wrong active job for
- a printer (STR #1301)
- - Fixed a potential crash problem in the scheduler when
- aborting a CGI program (STR #1290)
- - Added a "cancel all jobs" button to the class and
- printer web interfaces (STR #1140)
- - The add-printer web page now shows the
- set-printer-options page after the printer has been
- added (STR #690)
- - The classes web page now provides links to each of the
- member printers (STR #307)
- - CUPS now handles HTTP request/response lines up to 32k
- in length; this is mainly for better cookie support
- (STR #1274)
- - Added support for the Apache PassEnv and SetEnv
- directives to cupsd.conf (STR #853)
- - Added large file (64-bit) support (STR #541)
- - Fixed a performance issue with the ippReadIO()
- implementation (STR #1284)
- - Fixed a performance issue with the scheduler's implicit
- class implementation (STR #1283)
- - The pdftops filter now adds the Title and Creator
- fields from the PDF file to the PostScript document
- comments section (STR #539, STR #830)
- - Added a new cups_array_t and cupsArray*() functions to
- the CUPS API to support sorted lists of data.
- - Made the CUPS API library thread-safe (STR #1276)
- - Added "media" option support for EFI EFMediaType option
- (STR #902)
- - Added write buffering to the HTTP code to improve
- performance (STR #547)
- - The scheduler now uses the attributes-natural-language
- attribute to localize banner pages (STR #386)
- - The scheduler now returns the address that was used to
- connect to it (STR #1076)
- - Fixed a problem with N-up printing and OpenOffice (STR
- #576)
- - Added support for the GCC position independent
- executable options (STR #1209)
- - Added new BrowseLocalProtocols and
- BrowseRemoteProtocols directives to cupsd.conf,
- allowing for different browse protocols for local and
- remote printers (STR #877)
- - PPD files can now contain strings up to 256k in length
- (STR #1215)
- - The pstops filter now supports the IncludeFeature DSC
- comment (STR #1212)
- - The pstops filter now disables the setpagedevice
- procedure when doing N-up printing (STR #1161)
- - The serial backend now supports "stop=1", "stop=2",
- "parity=space", and "parity=mark" options (STR #1155)
- - "make install" no longer overwrites an existing PAM
- configuration file (STR #1064)
- - The scheduler now closes all files on startup when run
- in daemon mode (STR #1009)
- - Added a new RGBW colorspace to the CUPS raster format
- (STR #1071)
- - The pdftops filter now sets the page size based on the
- media box when not scaling the output (STR #912)
- - The pdftops filter now supports masked images (STR
- #281)
- - The pdftops filter produced large output when rendering
- PDF files containing lot of repeated images (STR #327)
- - The pdftops filter now minimizes print processing of
- PDF files when using the page-ranges option (STR #273)
- - Updated pdftops filter to Xpdf 3.01.
- - Added new cupsBackchannelRead() and
- cupsBackchannelWrite() functions, as well as
- backchannel support to the parallel, serial, socket,
- and USB backends (STR #1252)
- - The parallel and USB backends now treat a "no space
- available" error as an out-of-paper condition (STR
- #1225)
- - The "lpc" command now supports the "status all" command
- (STR #1004)
- - ippReadIO() did not read collections properly (STR
- #1249)
- - The "make test" script now creates the test files in
- "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
- - All backends now abort on error when printing a job to
- a class - this allows the next printer in the class to
- print the job (STR #1084)
- - The scheduler now verifies that a printer supports
- Letter or A4 media sizes before setting them as the
- initial default (STR #1250)
- - The cupstestppd program now flags bad Resolution
- options (STR #1269)
- - The USB backend now retries printing when the printer
- is disconnected or turned off (STR #1267)
- - Added new httpGetHostname() function to CUPS API, and
- use it instead of gethostname() so that the web
- interface will work correctly on systems whose hostname
- is not the FQDN (STR #1266)
- - The scheduler now stops printers if the backend for the
- queue is missing on startup (STR #1265)
- - The configure script now supports "--disable-library"
- to disable particular image file format support
- libraries, even if they are available on the build
- system (STR #1248)
- - The IPP backend did not always report on the total
- number of pages that were printed (STR #1251)
- - The lpstat program could display garbage date and time
- values for locales whose date format exceeded 31
- characters (STR #1263)
- - The cupstestppd program would segfault when testing
- certain broken PPD files (STR #1268)
- - Dramatically reduced the overhead of implicit classes.
- - Added new cupsDir*() functions to CUPS API.
- - Printers can now be published individually for sharing.
- - Fixed a bug in the scheduler's startup signalling code
- which caused cupsd to send the SIGUSR1 signal to the
- init process instead of the original parent process
- (STR #1258)
- - Added new on-line help CGI to web interface to provide
- searchable help.
- - Devices are now tracked dynamically, with each query
- doing a new device scan. This eliminates a previous
- startup delay caused by slow backends and allows new
- printers to be seen without restarting the server,
- however it limits the amount of device URI checking
- that can be done (basically now the scheduler only
- requires a URI with a method that is a listed backend)
- - Added new printer auto-detection, server configuration,
- and log file viewing to the administration web page.
- - Added new "set allowed users" web interface to set the
- list of allowed users for a printer or class.
- - The scheduler, command-line, and web interfaces now
- limit the list of printers and classes to those
- accessible by a user.
- - cupsMarkOptions() now handles more non-standard
- duplexing options and choices (STR #915)
- - cups-lpd now honors remote banner requests with the
- "standard" banner whenever a printer does not have one
- defined (STR #1220)
- - The scheduler's denial-of-service checks did not work
- properly with IPv6 addresses (STR #1134)
- - The lp and lpr commands did not error out properly when
- they were unable to write to a temporary file (STR
- #1129)
- - The pstops filter did not handle Adobe-specific
- comments in Windows NT driver output (STR #1085)
- - "lpstat -l -p" incorrectly reported the printer
- interface (STR #936)
- - The web interface now operates exclusively with the
- UTF-8 encoding, and sends the appropriate character set
- and header information to the web browser (STR #919,
- STR #1007)
- - Added a "set allowed users" interface to the web
- interface so that you can set the list of allowed or
- denied users/groups for a printer or class.
- - Disallow the "#" character in printer names, since it
- has special meaning in the shell, config files, and in
- URIs (STR #917, STR #1202)
- - Added a new application/x-csource MIME type, and
- support for it to the texttops filter so that you can
- pretty print plain text files without the C/C++
- keywords being highlighted.
- - The pdftops filter did not compile with GCC 4.0 (STR
- #1226)
- - The texttops filter did not highlight preprocessor
- directives followed by a tab properly.
- - HP PJL output now uses both JOB DISPLAY and RDYMSG
- commands to show the current job on the printer's
- display (STR #1218)
- - Local authentication certificates are now stored in
- /var/run/cups/certs by default instead of
- /etc/cups/certs (STR #1211)
- - Backends now use "&" to separate options in device
- URIs; "+" is still recognized but is deprecated (STR
- #842)
- - The USB backend no longer supports the usb:/dev/foo
- format on systems that support device ID queries.
- - Forced classification markings did not work when the
- job-sheets parameters were "none,none".
- - "lpstat -l -p" incorrectly showed all users as allowed,
- even if the queue was restricted to certain users (STR
- #801)
- - The scheduler now automatically detects SSL/TLS clients
- without using the SSLPort/SSLListen directives.
- - The CUPS API and scheduler no longer support SSLv2-
- encrypted connections.
- - Updated the cupsaddsmb utility to correctly export the
- CUPS driver for Windows.
- - Fixed a signal-handling bug in httpRead() which
- ultimately caused the server to print multiple copies
- when it was busy (STR #1184)
- - The cupsFile API now uses the O_APPEND option when
- opening files in append mode (STR #990)
- - The md5.h header and md5_* functions are now officially
- private and have been renamed to avoid conflicts with
- other implementations with the same name.
- - The pdftops filter incorrectly embedded some Type1
- fonts (STR #1093)
- - The scheduler didn't detect a closed connection in the
- middle of an IPP request (STR #1153)
- - The scheduler could block trying to read the job status
- if there was input pending and the job was cancelled in
- the same input cycle (STR #1157)
- - The scheduler could crash when deleting a class due to
- infinite recursion.
- - Updated the Zebra ZPL label printer driver to use the
- run-length encoding and support more options.
- - Updated serial backend to scan for /dev/ttyC* as well
- as /dev/ttyc* for Cyclades serial ports (STR #1049)
- - The scheduler could hang reading the job status under
- certain circumstances (STR #1068)
- - The USB backend termination signal code was inverted
- (STR #1046)
- - Moved enable and disable commands to sbindir to be
- consistent.
- - Added new cupsRasterInterpretPPD() function for RIP
- filters to setup the raster page header from
- PostScript commands in a PPD file.
- - The CUPS browsing protocol now offers a "delete" bit
- to remove printers as soon as they are deleted on the
- server or as soon as the server shuts down gracefully
- (STR #793)
- - The CUPS_SERVER and ServerName directives (client.conf
- and ~/.cupsrc) may now contain names of the form
- "server:port" and "/path/to/domain/socket".
- - The "cancel -u user" command now works for ordinary
- users (STR #751)
- - Added test run support to "make test" target (STR #64)
- - Added domain socket support (STR #656)
- - Added BrowseLocalOptions directive to allow the
- administrator to add printer URI options to the browse
- URI, e.g. "encryption=required" (STR #732)
- - Added BrowseRemoteOptions directive to allow the
- administrator to add standard URI options to the
- remote printer URI, e.g. "encryption=required" (STR
- #732)
- - Now put "-I.." compiler option in front of all others
- to ensure that local CUPS headers are used before
- installed headers (STR #437)
- - New cupsLangPrintf() and cupsLangPuts() for localized
- interfaces.
- - Now support custom attributes and extended options in
- PPD files.
- - Now provide functions to save PPD files.
- - New policy mechanism allows per-operation and
- per-printer control over what users and groups are
- allowed to do various IPP operations.
- - New error policy mechanism to control how aborted
- backend errors are handled by the scheduler
- (abort-job, retry-job, requeue-job, stop-printer)
- - Updated the printer test page with a better color
- wheel and a separate grayscale ramp.
- - A single backend process is now run to send all print
- data for a job.
- - Backends and filters can now send and receive
- backchannel data over file descriptor 3.
- - Updated the raster stream format to support more
- user-defined attributes and to do compression of the
- page data.
+ - Copyright updates - CUPS is now owned by Apple Inc.
+ - Documentation updates (STR #1775, STR #2027, STR #2130,
+ STR #2131, STR #2263, STR #2356, STR #2397)
+ - Added new cupsfilter utility (STR #1734)
+ - Added new job-printer-state-message and
+ job-printer-state-reasons attributes to jobs (STR #2418)
+ - Added LDAP+SSL support (STR #1967)
+ - CUPS now supports authentication via peer credentials
+ over domain sockets (STR #2242, STR #2277)
+ - The CUPS sample driver PPDs are now generated by the PPD
+ compiler and include all of the localized languages by
+ default (STR #2164)
+ - You can now specify "AuthType Default" in the cupsd.conf
+ file to use the default authentication defined by the
+ DefaultAuthType directive.
+ - The SNMP backend no longer adds a default Address line
+ when none is specified in the snmp.conf file; this allows
+ the backend to be easily disabled as needed (STR #2434)
+ - Added a new cupsctl command for doing basic changes to
+ the cupsd.conf file (STR #1777)
+ - Added a new ppdLocalizeIPPReason() function to get the
+ localized text/URI for a given IPP reason keyword for a
+ driver.
+ - Removed the deskjet2.ppd driver, as it only worked with
+ a very small subset of HP DeskJet printers and was
+ confusing to users. The rastertohp driver still
+ supports the deskjet2.ppd options for existing queues.
+ - The scheduler did not add a trailing banner page if a
+ client did not specify the last document in a job (STR
+ #1711)
+ - The scheduler did not report Bonjour shared printers as
+ remote printers (STR #2384)
+ - Added new -R and -W options to the cupstestppd program
+ for greater control over the testing of PPDs.
+ - Added a new cupsGetServerPPD() function for getting
+ an available PPD from the server (STR #2334)
+ - Added a new cupsDoIORequest() function for reading
+ and writing files via IPP requests (STR #2334)
+ - Added a new CUPS_GET_PPD operation for getting an
+ available PPD file on the server (STR #2334)
+ - CUPS_GET_PPDS now reports multiple ppd-product values
+ based on the PPD ModelName and Product strings (STR
+ #2334, STR #2383)
+ - CUPS_GET_PPDS now reports the PSVersion attributes
+ from a PPD file in the ppd-psversion attribute
+ (STR #2334)
+ - CUPS_GET_PPDS now reports the cupsModelNumber attribute
+ from a PPD file in the ppd-model-number attribute (STR
+ #2383)
+ - CUPS_GET_PPDS now reports a driver type string in the
+ ppd-type attribute based on the cupsFax and cupsFilter
+ attributes in a PPD file (STR #2383)
+ - Added a new printer attribute called "cups-version"
+ which reports the version of CUPS that is running
+ (STR #2240)
+ - backendRunLoop() now aborts immediately on SIGTERM
+ if no data has been written yet (STR #2103)
+ - Due to poor IPP support from the vendors, the SNMP
+ backend no longer tries IPP connections; instead,
+ it now uses a lookup file with fallback to port 9100
+ (socket://address) and 515 (lpd://address) printing
+ (STR #2035, STR #2354)
+ - The scheduler now recreates the CUPS log directory as
+ needed (STR #2353)
+ - cupsLangDefault() now maps new-style Apple locale names
+ to the traditional ll_CC form (STR #2357)
+ - Add new cupsArrayNew2() API to support hashed lookups
+ of array elements (STR #2358)
+ - ppdConflicts() optimizations (STR #2358)
+ - The cupstestppd program now tests for existing filters,
+ icons, profiles, and dialog extensions (STR #2326)
+ - The web interface no longer lists new printers on the
+ main administration page. Instead, a new "List Available
+ Printers" button is provided that shows a separate page
+ with the list of printers.
+ - The web interface now supports setting the banner and
+ policy options on raw printers and classes (STR #2238)
+ - The socket backend now reads any pending back-channel
+ data before shutting down the socket (STR #2325)
+ - Added a new ErrorPolicy directive in the cupsd.conf
+ file (STR #1871)
+ - Printers that use JCL options are now exported to Samba
+ correctly (STR #1985)
+ - The IPP backend now relays printer-state-message values
+ from the server to the client (STR #2109)
+ - Added support for the PWG printer-alert and
+ printer-alert-description attributes (STR #2088)
+ - Added support for LPD "stream" mode (STR #2036)
+ - The scheduler now reports the PostScript product string
+ from PPD files in CUPS-Get-PPDs responses (STR #1900)
+ - Raw printing with queues pointing to the file pseudo-
+ device and multiple files and/or banners now works (STR
+ #1933)
+ - Added new public cupsAdminGetServerSettings() and
+ cupsAdminSetServerSettings() APIs.
+ - Added new "makebuttons" script in the "tools" directory
+ for creating web interface buttons (STR #2231)
+ - Added support for DNS-SD (aka "Bonjour") printer sharing
+ (STR #1171)
+ - Job operations (cancel, hold, release, etc.) from the
+ web interface now return back to the original page (STR
+ #2239)
+ - The classes or printers list is now shown after a
+ successful deletion from the web interface (STR #1999)
+ - The default configuration now allows browse packets from
+ any address (STR #2008)
+ - The web interface now provides an "allow printing from the
+ Internet" check box (STR #1897)
+ - The notify-events-default and
+ notify-lease-duration-default attributes can now be set
+ (STR #1671)
+ - Server-side default options are now sent to clients when
+ the "printer-defaults" attribute group is requested (STR
+ #1923)
+ - Added support for Linux "relro" linker option (STR #1614)
+ - CUPS now validates the number-up option value (STR #1329)
+ - The on-line help now provides better search capabilities
+ (STR #1701)
+ - The web interface "Add This Printer" button now allows you
+ to change the printer name, description, and location
+ (STR #1646)
+ - Added support for Mac OS X authorization services
+ (STR #2206)
+ - Added support for driver-specific pre-filters (STR #2108)
+ - Added a new side-channel API for drivers and backends
+ for basic device control and information queries (STR
+ #1898)
+ - The scheduler now uses poll(), epoll(), or /dev/kqueue
+ instead of select() when possible (STR #1261)
+ - Added new cupsArrayGetIndex() and cupsArrayGetInsert()
+ functions to get the current index and insertion
+ positions of an array.
+ - Added a new --with-max-copies configure option (STR
+ #2090)
+ - Added new cupsRemoveDest() and cupsSetDefaultDest()
+ functions.
+ - Added support for cupsPJLCharset attribute in PPD files
+ which specifies the character set that is used in PJL
+ strings (STR #1969)
+ - Moved the definition of the (private) _http_s structure
+ to http-private.h; code that directly accesses the
+ http_t members will no longer compile!
+ - Added support for setting the document-format-default
+ attribute on a per-printer basis.
+ - Added support for IntelliBar label printers.