Changes in CUPS v1.4b3:
- Documentation fixes (Issue #3044, Issue #3057, Issue #3153, Issue #3158, Issue #3173)
- Added complete localizations for German, Japanese, Polish, and Russian and partial localizations for Chinese, Danish, Finnish, French, Italian, Korean, Norwegian, Portuguese, and Swedish (Issue #3096, Issue #3098, Issue #3109, Issue #3111, Issue #3141)
- Updated the configure check for -fstack-protector (Issue #3198)
- The network backends now correctly convert SNMP supply descriptions to UTF-8 encoding as needed.
- The scheduler could crash when deleting an attribute (Issue #3197)
- The cups-driverd program did not detect symlink loops (Issue #3185)
- The EPSON 24-pin series driver should now feed the correct amount (Issue #2624)
- The scheduler now automatically logs the last N debug messages for failed print jobs.
- You can now modify a raw print queue (Issue #3133)
- Fixed a number of ppdi issues and added a unit test to validate that ppdc + ppdi can generate and import the same data (Issue #3152)
- Moving jobs in the web interface now shows an error if you only have one printer or class added (Issue #3094)
- Since classes have never truly supported the printer-error-policy stuff added in CUPS 1.2, update the code to reflect the current reality and support only the retry-current-job policy for now (Issue #3171)
- Revised the password callback support (Issue #2953)
- ppdEmit*() did not choose between PageSize and PageRegion properly.
- Make some fairly substantial changes to the Kerberos support code so that CUPS can work in multi-realm environments and does not require delegatable credentials. Shared printing still requires delegation, however "delegation by policy" can be enabled in the KDC to make this all work.
- "AccessLogLevel actions" did not hide client-error-not-found errors.
- AP_FIRST_InputSlot did not work with number-up.
- cupsBackChannelRead() and cupsBackChannelWrite() could fail due to a lack of kernel buffers.
- The IPP and LPD backends did not respond to side-channel requests while copying print data to a temporary file.
- cupsWriteRequestData() flushed the output buffer unnecessarily, causing reduced performance in some situations.
- If a CGI process died before sending its MIME headers, the request would hang on the client.
- The printer/class/job search feature on the web interface did not work (Issue #3132)
- The scheduler did not write the printers out for classes.
- CUPS-Get-PPDs did not work properly when filtering by language, product, or psversion (Issue #3136)
- The scheduler now kills job filters when it takes more than 30 seconds (configurable) to cancel or hold the job.
- The cupstestppd program did not validate the capitalization of filenames in the PPD file.
- The cupstestppd program did not validate the PageSize and PageRegion values.
- The cups-deviced helper program could miss reporting some backend devices (Issue #3108)
- The cupsSideChannelSNMP* functions did not work.
- The scheduler could consume 100% CPU when jobs were canceled.
- Clicking on "Select Another Make/Manufacturer" in the web interface incorrectly added the printer (Issue #3095)
- The scheduler no longer uses programs with insecure file permissions.
- httpAssembleURI*() did not escape backslashes in hostnames.
- The dnssd backend did not unquote "full names" before creating the device URI.
- The scheduler now supports JobRetryInterval values less than 10 seconds.
- Updated the Spanish localization (Issue #3090)
- The scheduler did not redo Bonjour/DNS-SD registrations when updating them failed.
- The "authenticated" policy incorrectly required authentication for status operations.
- ppdOpen*() incorrectly loaded PPDs with multiple JobPatchFile keywords.
- The network backends no longer report the SNMP "offline" or maintenance status bits since they are inconsistently implemented and often unreliable.
- The scheduler no longer logs child processes killed via SIGKILL as "crashed".
- The printer link shown on the "job moved" template was bad (Issue #3085)
- Updated the HTML templates to use the final HTML 4 DOCTYPE (Issue #3086)
- The scheduler did not track the "paused" reason properly if a printer had other reasons associated with it.
- cupsSendRequest() did not clear old local certificate auth data.
- The PPD compiler did not search for localization files properly (Issue #3084)
- cupsGetNamedDest() did not use the fallback default like cupsGetDests*() (Issue #3082)
- The scheduler now provides a LogTimeFormat directive to enable microseconds in the date and time that are logged.
- The scheduler now provides a MultipleOperationTimeout directive to control the timeout for multi-file print jobs.
- The configure script incorrectly allowed Avahi to be used for DNS-SD printer discovery (Issue #3065)
- The web interface and scheduler did not support URIs up to 1024 bytes in length (Issue #3072)
- Fixed pdftops issues with page sizes (Issue #3063)
- Fixed pdftops issues with Ghostscript (Issue #3062)
- The scheduler incorrectly registered default profiles for PostScript printers with no specified colorspace.
- The scheduler incorrectly created an empty org.cups.printers.plist file on Mac OS X.
- cupsGetPPD3() did not look for local PPDs in the right directory.
- SNMP lookups via side-channel did not work for NULL-VALUE and and OCTET-STRING OIDs containing nul characters.
- The libusb-based USB backend did not work.
- The scheduler did not set the printer-commands attribute correctly for some PPDs.
- The ppdi utility did not work.
- The web interface no longer uses multi-part output with old or broken web browsers (Issue #3049)
- CUPS now conforms to the draft IPP/2.0 and IPP/2.1 specification.
- Added a new cupsGetConflicts() API to get a list of conflicting options.
- The PPD compiler didn't localize options or choices that did not have associated translation text (Issue #3045)
- Updated the Spanish localization (Issue #3043)
- Fixed build problems (Issue #3040, Issue #3047)
- cupsResolveConflicts() did not resolve using the default option choice in some cases due to the mirror UIConstraints that are present in most PPD files.
- The scheduler did not honor MIME type priorities.
- The commandtops filter incorrectly used the JCLBegin code to end its jobs.
- The default BrowseLocalProtocols value was not set properly.
- Since the commandtops filter does not actually support ReportLevels all on its own, don't list that printer command by default for PS printers.
- The scheduler did not give filters a chance to log errors or update printer attributes when a job was canceled.
- The scheduler did not clear the "connecting-to-device" reason keyword when a job finished.