]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - CHANGES.txt
Merge changes from CUPS 1.4svn-r7696.
[thirdparty/cups.git] / CHANGES.txt
index c866727c88a1a3a0a8334b9c0b0a43211deb840f..410b57e124a7270d3b1c9d12aaa512e5c4a1120c 100644 (file)
-CHANGES.txt - 2006-06-21
+CHANGES.txt - 2008-06-25
 ------------------------
 
-CHANGES IN CUPS V1.2.2
+CHANGES IN CUPS V1.4b1
+
+       - The USB backend now uses libusb when available (STR #1575)
+       - Added ppdLocalizeAttr function to get the localized version
+         of an attribute.
+       - MIME types now support a priority() attribute (STR #2719)
+       - The standard MIME types are now installed in
+         DataDir/mime (STR #2719)
+       - The lpoptions command now describes custom options and
+         the necessary parameters (STR #2660)
+       - The ppdmerge program did not support Simplified Chinese
+         or Traditional Chinese language version strings (STR #2851)
+       - The PPD compiler now supports localizable attributes
+         (STR #2738)
+       - The ppdpo utility now includes cupsIPPReasons values in
+         the message catalogs it generates (STR #2754)
+       - The PPD compiler now supports conditional directives
+         (STR #2636)
+       - The ppdc utility now supports a "-t" option to test PPD
+         files (STR #2739)
+       - The ppdc utility now supports a "-m" option to use the
+         ModelName value as the output filename.
+       - The ppdc utility now supports a FileName directive to
+         set an alternate output filename (STR #2740)
+       - The side-channel API now supports SNMP queries for the
+         standard network backends.
+       - Added a PageLogFormat directive to the cupsd.conf file to
+         control the format of lines in the page_log file.
+       - Filters can now send PPD: messages to stderr to set PPD
+         keywords like DefaultPageSize while a job is printing.
+       - Added a mdns backend for discovery and printing to printers
+         that advertise themselves via DNS-SD (Bonjour)
+       - The ipp, lpd, and socket backends now support DNS-SD service
+         name resolution.
+       - The scheduler now uses a single shared file descriptor for
+         all DNS-SD registrations (STR #2674)
+       - The ipp, lpd, and socket backends now support SNMP-based
+         page accounting and supply level monitoring (STR #1655)
+       - Added support for cupsPJLDisplay attribute to control what
+         PJL commands are used to display the job information.
+       - Driver information files can now be installed in
+         /Library/Printers/PPDs.drv on Mac OS X.
+       - The CUPS image library now supports reading images larger
+         than 2GB.
+       - The scheduler now delays writing config and state files to
+         reduce disk activity (STR #2684)
+       - The CUPS-Get-Devices operation now supports the
+         exclude-schemes and timeout attributes to control which
+         backends are polled and for how long.
+       - The cups-deviced helper application now runs backends in
+         parallel to get the list of devices faster.
+       - Added --enable-pap configure option.
+       - The default cupsd.conf file now includes an "authenticated"
+         policy which requires authentication for remote print jobs.
+       - Added support for Czech and Hungarian in PPD files
+         (STR #2735, STR #2736)
+       - The PPD compiler tools now support Mac OS X .strings files
+         for localization (STR #2737)
+       - ppdOpen*() now default the colorspace member to PPD_CS_N
+         when no DefaultColorSpace attribute is present in the PPD
+         file.
+       - The build system has been updated to support separate
+         installation of data, program, header, and library files.
+       - All support libraries are now built as shared libraries
+         by default.
+       - The scheduler now manages ICC color profiles on Mac OS X.
+       - The network backends (ipp, lpd, socket) now support
+         SNMP-based supply and page count monitoring (STR #1655)
+       - The lppasswd program is no longer installed setuid to
+         root to make the default installation more secure.
+       - Added a new ppdLocalizeMarkerName() function to get
+         the localized version of a marker-names value.
+       - The scheduler now provides the printer-dns-sd-name
+         attribute for printers shared via DNS-SD/Bonjour.
+       - The pdftops filter now executes the Xpdf or poppler
+         pdftops utility to convert PDF files (STR #1471)
+       - Bonjour printer registrations now advertise as local or
+         global based on the current access policies for the
+         printer.
+       - cupsGetDests*() and cupsSetDests*() now track the last
+         used printer preference on Mac OS X.
+       - Added a new streaming request API (STR #2261)
+       - Added a new cupsGetNamedDest() function to the CUPS
+         library for faster printing with lp and lpr (STR #2638)
+       - The scheduler now sets the PAM RHOST value on systems
+         that support it (STR #2637)
+       - The scheduler now sandboxes child processes when
+         possible.
+       - The Cancel-Job operation now supports a purge-job
+         attriibute to purge a specified job.
+       - ppdEmit* and ppdCollect* now use the NonUIOrderDependency
+         attributes for custom option selections.
+       - The web interface now enables/disables the printer
+         sharing (formerly publishing) controls based on the
+         server-is-sharing-printers state (STR #2233)
+       - The scheduler now tracks printer sharing via the
+         server-is-sharing-printers attribute, and manages LPD
+         and SMB sharing as well (STR #2233)
+       - The web interface now allows you to go back to the make/
+         manufacturer page if there is no matching printer driver
+         on the model page (STR #2436)
+       - The printer list now shows the default media, banner, and
+         duplex options as well as the color and duplex capabilities
+         of printers (STR #1175)
+       - The web interface look-n-feel has been updated (STR #2492)
+       - The scheduler now supports a CUPS-Get-Document operation
+         that returns the specified print job document (STR #118)
+       - The cupsfilter utility now supports a "-J jobid" option
+         to filter the document from the specified job.
+       - The scheduler (cupsd) now supports a new option (-t) to
+         do a syntax check of the cupsd.conf file (STR #2003)
+       - Added new cupsGetPPD3() API to allow applications to
+         cache PPDs safely (STR #1473)
+       - Added generic PostScript and PCL printer driver PPDs.
 
-       - Sending raw jobs from a client system could cause the
-         client's scheduler to eventually crash (STR #1786)
-       - The scheduler now checks that the notifier exists prior
-         to accepting a new subscription request.
-       - The scheduler now reports the supported
-         notify-recipient schemes based on the contents of the
-         ServerBin/notifier directory.
-       - Event notifications did not include the
-         notify-sequence-number or other required attributes
-         (STR #1747)
-       - Allow/Deny addresses of the form "11.22.33.*" did not
-         work on Linux (STR #1769)
-       - cupsGetPPD() did not work if the scheduler was only
-         listening on a domain socket (STR #1766)
-       - The scheduler could crash advertising a class (STR
-         #1768)
-       - The scheduler could crash if the default printer was
-         deleted (STR #1776)
-       - Added a new default CUPS raster format (v3) which does
-         not compress the raster stream in order to provide the
-         same cupsRasterReadPixels() and cupsRasterWritePixels()
-         performance as CUPS 1.1.x.
-       - The cupsaddsmb man page listed the wrong files for the
-         CUPS driver.
-       - Some configure --with options did not work (STR #1746)
-       - "Allow @IF(name)" didn't work if "name" wasn't the
-         first network interface (STR #1758)
-       - The lpstat command did not use the correct character
-         set when reporting the date and time (STR #1751)
-       - The cupsaddsmb command and web interface did not update
-         the Windows PPD files properly, resulting in corrupt
-         PPD files for the Windows client to use (STR #1750)
-       - The cupsd.conf man page didn't describe the Listen
-         domain socket syntax (STR #1753)
-       - The scheduler no longer tries to support more than
-         FD_SETSIZE file descriptors.
-       - CDSA (encryption) support fixes for MacOS X.
-       - The lppasswd program needs to be setuid to root to
-         create and update the /etc/cups/passwd.md5 file (STR
-         #1735)
-       - 32/64-bit library installation was broken (STR #1741)
-       - The USB backend now reports a "no such device" error
-         when using the old filename-based USB URIs instead of
-         the "success" error.
-       - Increased the HTTP and IPP read timeouts to 10 seconds,
-         as 1 second was too short on congested networks (STR
-         #1719)
-       - The SNMP backend now uses the device description over
-         the printer-make-and-model attribute when the attribute
-         contains a generic name (STR #1728)
-       - Fixed another file descriptor leak when printing raw
-         files (STR #1736)
-       - Raw queues were not shared via LDAP (STR #1739)
-       - The pstops filter didn't always embed PageSetup
-         commands from the PPD file (STR #1740)
-       - "make install" didn't work if you disabled all of the
-         localizations.
-       - The scheduler didn't always choose the least costly
-         filter.
-       - Fixed parsing of IPv6 addresses in Allow, Deny,
-         BrowseAllow, BrowseDeny, and BrowseRelay directives
-         (STR #1713)
-       - Printers that were shared via LDAP did not get added to
-         the LDAP server properly (STR #1733)
-       - LDAP browsing would crash the scheduler if a required
-         value was missing (STR #1731)
-       - Special cases for the "localhost" hostname did not
-         work, causing printing to not work when the /etc/hosts
-         file did not contain a localhost entry (STR #1723)
-       - Updated the Spanish translation (STR #1720, STR #1770)
-       - Reverse-order page output was broken when N-up or
-         landscape orientations were used (STR #1725)
-       - The parallel, serial, socket, and USB backends needed
-         print data before they would report back-channel data,
-         causing problems with several new drivers (STR #1724)
-
-
-CHANGES IN CUPS V1.2.1
-
-       - The web interface did not handle reloads properly for
-         MSIE (STR #1716)
-       - The configure script no longer adds linker rpath
-         options when they are unnecessary.
-       - The scheduler could crash printing a debug message on
-         Solaris (STR #1714)
-       - The --enable-32bit and --enable-64bit configure options
-         did not always work.
-       - The password prompt showed the domain socket address
-         instead of "localhost" for local authentication (STR
-         #1706)
-       - The web interface filtered the list of printers even if
-         the user wasn't logged in (STR #1700)
-       - The IPP backend did not work reliably with some Xerox
-         printers (STR #1704)
-       - Trailing banners were not added when printing a single
-         file (STR #1698)
-       - The web interface support programs crashed on Solaris
-         (STR #1699)
-       - cupstestppd incorrectly reported problems with
-         *1284DeviceID attributes (STR #1710)
-       - Browsing could get disabled after a restart (STR #1670)
-       - Custom page sizes were not parsed properly (STR #1709)
-       - The -U option wasn't supported by lpadmin (STR #1702)
-       - The -u option didn't work with lpadmin (STR #1703)
-       - The scheduler did not create non-blocking back-channel
-         pipes, which caused problems when the printer driver
-         did not read the back-channel data (STR #1705)
-       - The scheduler no longer uses chunking in responses to
-         clients - this caused problems with older versions of
-         CUPS like 1.1.17 (PR #6143)
-       - Automatic raw printing was broken (STR #1667)
-       - 6-up printing was broken (STR #1697)
-       - The pstops filter did not disable CTRL-D processing on
-         the printer/RIP.
-       - ppdOpen*() did not load custom options properly (STR
-         #1680)
-       - "Set Printer Options" in the web interface did not
-         update the DefaultImageableArea or
-         DefaultPaperDimension attributes in the PPD file (STR
-         #1689)
-       - Fixed compile errors (STR #1682, STR #1684, STR #1685,
-         STR #1690)
-       - The lpstat command displayed the wrong error message
-         for a missing destination (STR #1683)
-       - Revised and completed the Polish translation (STR
-         #1669)
-       - Stopped jobs did not show up in the list of active jobs
-         (STR #1676)
-       - The configure script did not use the GNU TLS
-         "libgnutls-config" script to find the proper compiler
-         and linker options.
-       - The imagetoraster filter did not correctly generate
-         several 1, 2, and 4-bit color modes.
-       - cupsRasterWritePixels() could lose track of the current
-         output row.
-       - cupsRasterReadPixels() did not automatically swap
-         12/16-bit chunked pixel data.
-       - Moved the private _cups_raster_s structure out of the
-         public header.
-       - Updated the CUPS raster format specification to include
-         encoding rules and colorspace definitions.
-       - The Zebra PPD files had the wrong PostScript code for
-         the "default" option choices.
-       - The imagetoraster filter did not generate correct CIE
-         XYZ or Lab color data.
-       - The cups-config script did not work when invoked from a
-         source directory (STR #1673)
-       - The SNMP backend did not compile on systems that used
-         the getifaddrs emulation functions (STR #1668)
-
-
-CHANGES IN CUPS V1.2.0
-
-       - 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.
-
-
-CHANGES IN CUPS V1.2rc3
-
-       - 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.
-
-
-CHANGES IN CUPS V1.2rc2
-
-       - 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)
-
-
-CHANGES IN CUPS V1.2rc1
-
-       - 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)
-
-
-CHANGES IN CUPS V1.2b2
-
-       - 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.