Changes:
1.26.1
------
- build system: Install the "implicitclass" backend with
"-rwx------" permissions, so that CUPS executes it as root,
as the "ipp" CUPS backend also has to be executed as root
(Issue #183).
- build system: Fixed setting permissions when installing the
"cups-brf" backend.
- libcupsfilters: When using the
"media-{bottom,left,right,top}-margin-supported" IPP
attributes (needed if we have no "media-col-database"), use
the minimum and not the maximum margins, this allows
accessing more of the printer's capabilities, especially for
legacy printers which do not provide sufficient information
(Issue #22).
1.26.0
------
- cups-browsed: When generating local queues for printers for
which the local CUPS daemon would provide temporary queues
use the PPDs generated by libcupsfilters and not the ones
generated by CUPS. The PPD generation of libcupsfilters also
works with IPP-1.x-only printers, printers which do not
support to query "media-col-database" and printers which
support driverless printing only via PCLm. This can be
changed via the "UseCUPSGeneratedPPDs" directive in
cups-browsed.conf (Issue #22).
- libcupsfilters: Re-structured the get_printer_attributes()
function to remove the recursive calls for the fallbacks, to
check required attributes in the response only if requested,
and to fully integrate the method of getting a suitable
response for a full printer capability list also if the
printer is only IPP 1.1 or does not support the
"media-col-database" attribute (Issue #22, Issue #163).
- libcupsfilters, cups-browsed, driverless: Moved the funtions
get_printer_attributes() and resolve_uri() from cups-browsed
into libcupsfilters, to share them with the driverless
utility (Issue #22).
- implicitclass: Fixed wrong stdout redirection from the
filters to the IPP backend and hard-coded path for "ipp"
backend call (Possible fix for Issue #163, Issue #181).
- cups-browsed, driverless: Use DNS-SD-service-name-based URIs
instead of host-name-based ones, as CUPS also does. In
cups-browsed one can switch back to the conventional
host-name-based URIs via the new "DNSSDBasedDeviceURIs"
configuration option. Note that cups-browsed always uses
conventional URIs for printers discovered via legacy CUPS
browsing or LDAP.
- cups-browsed: When removing a CUPS queue, do not consider an
error (and retry) if the queue does not actually exist. Also
ignore errors when checking whether there are still
jobs. This way when a new queue gets created and the
generation of the PPD file fails the attempt to remove this
non-existing queueu when removing the printer entry does not
cause any problem.
- cups-browsed: Improved the fallback mechanism of the
get_printer_attributes() function. Instead of considering
the request failed by the content of the response only when
not more than the two language atrributes come out, we check
through a list of required attributes whether they are all
there. In addition, we actually fail when all callbacks
have failed (Issue #22).
- cups-browsed: Introduced new configuration options
"UpdateCUPSQueuesMaxPerCall" and
"PauseBetweenCUPSQueueUpdates" to limit the amount of local
CUPS queues created, modified, or removed in a single event
callback. Before, when there were thousands of printers in
the network, cups-browsed got blocked for other tasks, like
assigning a destination printer for a cluster print job
(Issue #163).
1.25.13
-------
- implicitclass: When passing on the job via the "ipp" CUPS
backend, set argv[0] to the destination printer URI (Pull
request #173).
- cups-browsed: Added another fallback to the
get-printer-attributes IPP request: Now after failing the
standard request ("all", "media-col-database") with both IPP
2.0 and IPP 1.1, try simply "all", without
"media-col-database" (Pull request #173).
- cups-browsed: Do not set printer-is-shared for remote CUPS
queue when making a temporary queue permanent (Pull request
#180).
- cups-browsed: Fix leaks of ipp_t struct and load balancing
on the servers (Pull request #179).
- cups-browsed, implicitclass: Prioritize Apple Raster against
PWG Raster when selecting the PDL for the destination
printer for a job sent to a cluster, also cleaned up the PDL
selector code and added PostScript support.
- libcupsfilters: Updated the PPD generator adding all changes
of the PPD generator of CUPS: Support for "job-account-id",
"job-accounting-user-id", "job-password", finishing options
"trim-..." added, finishing options and
"finishing-col-database" support synced with CUPS.
- libcupsfilters: In the PPD generator get the mode for
handling the back sides of the sheets when printing duplex
preferrably from the "urf-supported" attribute.
- libcupsfilters: Fixed bug that the PPD generator did not
output the "*CloseUI: *ColorModel" line when it did not
determine a default setting for "ColorModel".
- cups-browsed: Added some missing memory allocations leading
to a segfault (Issue #175).
1.25.12
-------
- libcupsfilters: Use the text names "Draft", "Normal", and
"High" instead of 3, 4, and 5 as choice names for the
"cupsPrintQuality" option as CUPS does (Issue #171).
- libcupsfilters: If a printer supports both Apple Raster and
PWG Raster let the generated PPD use Apple Raster as there
are several printers which report PWG Raster support but do
not actually print PWG Raster (Pull reguest #168, Issue
#171, CUPS issue #5238).
- cups-browsed: Fix unset location check to use DNS-SD field
(Pull request #172).
- libcupsfilters, beh, implicitclass, foomatic-rip,
imagetopdf, mupdftoraster, pdftops, sys5ippprinter,
cups-browsed, driverless: Silenced all compiler warnings to
make the build process of cups-filters completely free of
warnings.
- pdftops: Fixed crash when using filter without PPD file.
- pdftops: If printing grayscale jobs with Ghostscript as PDF
renderer, add "-sProcessColorModel=DeviceGray" to
Ghostscript command line.
- pdftops: Do not use the ugly "pdftops -level1 ..."
workaround to get grayscale PostScript output from
Poppler. It leads to huge output files with Poppler's
"pdftops" utility and does not work at all with
"pdftocairo". Poppler itself does not support PostScript
output converted to grayscale. Issue a warning with the hint
to use Ghostscript or MuPDF as PDF renderer (Issue #169).
- libcupsfilters: In the cupsRasterParseIPPOptions()
accept also "Mono", "Monochrome", and "Gray" as color
space names.
Version 5.0.1:
- If a 4.x data file is the cause of a "file is not a database" error, then use
a more specific error message, "Looks like a coverage 4.x data file, are you
mixing versions of coverage?" Helps diagnose the problems described in
`issue 886`_.
- Measurement contexts and relative file names didn't work together, as
reported in `issue 899`_ and `issue 900`_. This is now fixed, thanks to
David Szotten.
- When using ``coverage run --concurrency=multiprocessing``, all data files
should be named with parallel-ready suffixes. 5.0 mistakenly named the main
process' file with no suffix when using ``--append``. This is now fixed,
closing `issue 880`_.
- Fixed a problem on Windows when the current directory is changed to a
different drive (`issue 895`_). Thanks, Olivier Grisel.
- Updated Python 3.9 support to 3.9a2.
Version 2.4.6:
- Fixed typos in White mapping of whitespace characters, to use
correct "\u" prefix instead of "u\".
- Fix bug in left-associative ternary operators defined using
infixNotation. First reported on StackOverflow by user Jeronimo.
- Backport of pyparsing_test namespace from 3.0.0, including
TestParseResultsAsserts mixin class defining unittest-helper
methods:
. def assertParseResultsEquals(
self, result, expected_list=None, expected_dict=None, msg=None)
. def assertParseAndCheckList(
self, expr, test_string, expected_list, msg=None, verbose=True)
. def assertParseAndCheckDict(
self, expr, test_string, expected_dict, msg=None, verbose=True)
. def assertRunTestResults(
self, run_tests_report, expected_parse_results=None, msg=None)
. def assertRaisesParseException(self, exc_type=ParseException, msg=None)
To use the methods in this mixin class, declare your unittest classes as:
from pyparsing import pyparsing_test as ppt
class MyParserTest(ppt.TestParseResultsAsserts, unittest.TestCase):
...
Version 3.7.1:
This version adds support for Python 3.7.6 and 3.8.1.
Fixes
* Adapted fake `pathlib` to changes in Python 3.7.6/3.8.1
Version 3.7:
Fixes
This version adds support for Python 3.8.
_Note:_ This is the last pyfakefs version that will support Python 2.7
and Python 3.4 (possible bug fix releases notwithstanding).
* added support for Python 3.8
* added preliminary support for Windows-specific `os.stat_result` attributes
`tst_file_attributes` and `st_reparse_tag`
* added support for fake `os.sendfile` (Posix only, Python 3 only)
Fixes
* support `devnull` in Windows under Python 3.8
* fixed side effect of calling `DirEntry.stat()` under Windows (changed
st_nlink)
* fixed problem of fake modules still referenced after a test in modules
loaded during the test
* correctly handle missing read permission for parent directory
* raise for `os.scandir` with non-existing directory
Infrastructure
* fixed CI tests scripts to always propagate errors
1.8.1:
- Handle ``FileNotFoundError`` when trying to import pathlib in ``path.common``
on Python 3.4.
- ``py.path.local.samefile`` now works correctly in Python 3 on Windows when dealing with symlinks.
1.14.0 More broad acceptance of Fortran number format
1.13.1 Project metadata correction.
1.13.0 Handle Fortran formatted numbers with no leading 0 before decimal point. Handle comparison of FixedTzOffset with other types of object.
pytest-xdist 1.31.0:
Features
- Add support for Python 3.8.
Bug Fixes
- Fix regression that caused custom plugin command-line arguments to be discarded when using ``--tx`` mode.
* inet: Allow forcing a host route from an interface without a lease
* dhcpcd: Don't wait for an address family to complete if not using it
* Linux: fix RA time unit confusion
If you are suffering from IPv6 addresses not transitioning from the
tentative state (regression from dhcpcd-8.1 on Linux), you will need
to do one of the following after installing dhcpcd:
* reboot
OR
* dhcpcd -x
* echo 1000 > /proc/sys/net/ipv6/neigh/$interface/retrans_time_ms
* ip -f inet6 a flush
* start dhcpcd as normal
0.7.2:
* fix CJellyfish damerau_levenshtein w/ unicode, thanks to immerrr
* fix final H in NYSIIS
0.7.1:
* restrict install to Python >= 3.4
0.7.0:
* drop Python 2 compatibility & legacy code
* add bugfix for NYSIIS for words starting with PF
4.7.3:
Features
- Implement ``__sizeof__`` function to correctly calculate all internal structures size.
- Expose ``getversion()`` function.
Bugfixes
- Fix crashes in ``popone``/``popall`` when default is returned.
Improved Documentation
- Corrected the documentation for ``MultiDict.extend()``
4.7.2:
Bugfixes
- Fix crashing when multidict is used pyinstaller
- Fix typing for `CIMultiDict.copy`
- Fix memory leak in ``MultiDict.copy()``
Release v1.26.0
This release contains refinements, improvements, and bug fixes, with highlights listed below.
Core
Fix compression filter crash on empty payload.
Ensure awake pollset_work threads exist on Windows.
Disable client_idle_filter.
Remove gpr_get/set_allocation_functions.
Security audit response.
C++
Automatically disable testing frameworks if gRPC_BUILD_TESTS=OFF.
Do not build channelz when gRPC_USE_PROTO_LITE.
Add options for all codegen plugins.
gRPC-C++ podspec follows gRPC versioning.
Issue 19208: Fix pollset_set_del_fd to cleanup all fd references.
De-duplicate .proto file processing.
cmake: Add VERSION and SOVERSION properties to libraries.
Python
Release Python3.8 wheels for Windows.
Release Python3.8 wheel on macOS.
Fix issue with exception being out of scope in Python 3.
[AIO] Implement the shutdown process for AIO server and completion queue.
Attempt to drop support for Python 3.4.
AIO Unified call interface.
Make sure Core aware of gevent Cython objects.
[bazel] Add an ability to call an optional custom plugin for py_proto_library and py_grpc_library.
Provides support for parsing and emitting Yaml documents.
Data.Yaml provides a high-level interface based around the JSON
datatypes provided by the aeson package. It uses Text.Libyaml from
libyaml in its implementation of the low-level yaml encoder/decoder.
conduit is a solution to the streaming data problem, allowing for
production, transformation, and consumption of streams of data in constant
memory. It is an alternative to lazy I/O which guarantees deterministic
resource handling, and fits in the same general solution space as
enumerator/iteratee and pipes. For a tutorial, please visit
https://haskell.fpcomplete.com/user/snoyberg/library-documentation/conduit-overview
Type classes for mapping, folding, and traversing monomorphic and
polymorphic containers. Haskell is good at operating over polymorphic
containers such as a list [a]. A monomorphic container is one such as
Text which has a type Text that does not expose a type variable for
the underlying characters.
This package provides portable implementations of parts of the unix
package. This package re-exports the unix package when available. When
it isn't available, portable implementations are used.