]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - CHANGES.txt
Load cups into easysw/current.
[thirdparty/cups.git] / CHANGES.txt
index e78abe1a3c7762029bfdf0624d3ca037b9ed2a02..c866727c88a1a3a0a8334b9c0b0a43211deb840f 100644 (file)
-CHANGES.txt - 2006-06-06
+CHANGES.txt - 2006-06-21
 ------------------------
 
-CHANGES IN CUPS V1.3
+CHANGES IN CUPS V1.2.2
 
-       - 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.
+       - 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.