Version 2.3.2
Bugfixes
PICARD-1775 - $firstwords function doesn't catch IndexError
PICARD-1776 - $datetime crashes when invalid format specified
PICARD-1781 - Have $find return "" rather than "-1" on not found
PICARD-1783 - Deleting performer, comment or lyrics tag fails for some cases in ID3, Vorbis, MP4 and Apev2 tags
PICARD-1784 - Host not found error when downloading PDF artwork
PICARD-1785 - $delete(_id3:TXXX:foo) does not delete the ID3 frames
PICARD-1786 - Deleting tag stored in ID3 TIPL frame only removes first occurrence
PICARD-1787 - Deleting case-insensitive TXXX frames does not delete anything
PICARD-1788 - Saving ID3 tags marked as case-insensitive causes duplicated TXXX frames
PICARD-1790 - Crash when selecting plugin that can be updated
PICARD-1791 - Network access is disabled error under VPN service
PICARD-1795 - iTunes tags not removable (reappear after being deleted)
PICARD-1801 - List index out of range when saving Vorbis file
PICARD-1803 - Instrument EWI is rewritten "e w i"
Improvements
PICARD-1777 - Support fractional scaling on Windows 10
PICARD-1800 - Simplify Unicode 'Bullet' to ASCII 'Hyphen-minus'
PICARD-1809 - Optimize format detection logic
1.43.1
Add pickle support for enum types
docs: fix various warnings with sphinx v3
1.43.0
Note: 1.43.x might be the last version supporting Python 2
Python 3.4 is no longer supported
Building requires ‘setuptools’ now, CLI tools depend on ‘pkg_resources’
CLI tools are setuptools entry points now
Fix collections ABCs deprecation warning
Minor typo fixes
MP3: increase max initial wrong syncs from 1000 to 1500
FLAC: support files with multiple VORBIS_COMMENT blocks like libflac
ID3: Improved TYER/TDAT/TIME upgrade to TDRC
MP4: Add support for iTunes HD Video tag (hdvd)
Add AC3 file type
AIFF: renamed sample_size to bits_per_sample (sample_size still works)
API doc fixes
Add support for Tom’s lossless Audio Kompressor (TAK)
OptimFROG: support encoder version >= 5.100
AIFF: Fix handling of padding bytes, safe chunk manipulation
Fix typos
Changes in MySQL 5.7.31
Configuration Notes
tcmalloc is no longer a permitted value for the mysqld_safe --malloc-lib option.
Packaging Notes
The libevent library bundled with MySQL was upgraded to version 2.1.11. In addition, for the WITH_LIBEVENT CMake option, the following two changes were made:
yes is no longer permitted as a synonym for system. Use system instead.
If system is specified but no system libevent is found, the bundled version is no longer used in place of the missing system library, and an error occurs instead.
Security Notes
Incompatible Change: Access to the INFORMATION_SCHEMA.FILES table now requires the PROCESS privilege.
This change affects users of the mysqldump command, which accesses tablespace information in the FILES table, and thus now requires the PROCESS privilege as well. Users who do not need to dump tablespace information can work around this requirement by invoking mysqldump with the --no-tablespaces option.
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1g. Issues fixed in the new OpenSSL version are described at https://www.openssl.org/news/cl111.txt and https://www.openssl.org/news/vulnerabilities.html.
Bugs Fixed
InnoDB: The INNODB_METRICS table AVG_COUNT_RESET value for a counter defined as a module owner reported NULL. The METRIC_AVG_VALUE_RESET field was incorrectly marked as NULL.
InnoDB: Purge thread activity was excessive when the history list length approached zero, wasting CPU resource and causing mutex contention.
InnoDB: The server failed intermittently with an “ibuf cursor restoration fails” error.
InnoDB: A fatal “page still fixed or dirty” error occurred during shutdown.
Partitioning: A query against a partitioned table, which used an ORDER BY, returned unordered results under the following conditions:
The table had a composite index with a prefix on one of the columns.
The query's WHERE clause contained an equality condition on the prefixed column.
The column with the prefix was the leftmost column in the index.
The column used in the ORDER BY was the rightmost column in the index.
The index was used for handling the ORDER BY.
Our thanks to Quanan Han for the contribution.
Replication: When a replication source server shuts down and restarts, its MEMORY tables become empty. To replicate this effect to replicas, the first time that the source uses a given MEMORY table after startup, it notifies replicas that the table must be emptied by writing a DELETE statement for that table to the binary log. Previously, the generated DELETE statement was written to the binary log statement cache for the current session, which could result in it being logged together with other statements under the same GTID, or logged without BEGIN and COMMIT statements. Also, in some situations, the generated DELETE statement could consume the GTID intended for the transaction that triggered it. The generated DELETE statement is now logged with accompanying BEGIN and COMMIT statements, and the resulting transaction is flushed to the binary log immediately after it is written to the statement cache, so that it always receives its own GTID and is kept separate from other transactions.
Replication: Internal queries from Group Replication to the Performance Schema for statistics on local group members failed if they occurred simultaneously with changes to the group's membership. Locking for the internal queries has been improved to fix the issue.
Replication: A fix made in MySQL 8.0.14 and MySQL 5.7.25 for a deadlock scenario involving the system variables binlog_transaction_dependency_tracking and binlog_transaction_dependency_history_size had the side effect of leaving the writeset history used for transaction dependency tracking unprotected from concurrent update. The writeset history and tracking mode are now locked correctly whenever they are accessed.
Configuring with -DWITH_EDITLINE=system resulted in compilation failures for older library versions.
The upgrade of the bundled libedit library in the previous MySQL distribution caused a problem for builds using that library such that CTRL+C (SIGINT) in the mysql client required a following Enter to take effect in some circumstances.
Assigning CONCAT('') or CONCAT_WS('') to a variable set the variable to NULL, not the empty string.
The gen_range() user-defined function could mishandle its arguments, causing a server exit.
During UPDATE processing, conversion of an internal in-memory table to InnoDB could result in a key-length error.
It is possible to define a column named * (single asterisk character), but SELECT `*` was treated identically to SELECT *, making it impossible to select only this column in a query; in other words, the asterisk character was expanded to a list of all table columns even when it was surrounded by backticks.
An internal packet-length function returned values of the wrong integer type.
Calculations by mysqldump for the length of INSERT statements did not take into account the _binary character set introducer used for VARBINARY strings.
mysql_store_result() could fail to detect invalid data packets.
In a multiple-table UPDATE that updated the key of the first table, if a temporary table strategy was used, duplicate entries could be written to the temporary table, followed by occurrence of a Can't find record error.
The optimizer could attempt to access a pseudo table as a table, resulting in unexpected server behavior.
The server sometimes mistakenly removed a subquery with a GROUP BY when optimizing a query, even in some cases when this subquery was used by an outer select. This could occur when the subquery also used an aggregate function.
Coercibility of the NAME_CONST() function was assessed incorrectly.
Incorrect results could occur when the optimizer chose an index on a generated column to fetch values.
Changes in MySQL 5.6.49
Configuration Notes
tcmalloc is no longer a permitted value for the mysqld_safe --malloc-lib option.
Security Notes
Incompatible Change: Access to the INFORMATION_SCHEMA.FILES table now requires the PROCESS privilege.
This change affects users of the mysqldump command, which accesses tablespace information in the FILES table, and thus now requires the PROCESS privilege as well. Users who do not need to dump tablespace information can work around this requirement by invoking mysqldump with the --no-tablespaces option.
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1g. Issues fixed in the new OpenSSL version are described at https://www.openssl.org/news/cl111.txt and https://www.openssl.org/news/vulnerabilities.html.
Bugs Fixed
Partitioning: A query against a partitioned table, which used an ORDER BY, returned unordered results under the following conditions:
The table had a composite index with a prefix on one of the columns.
The query's WHERE clause contained an equality condition on the prefixed column.
The column with the prefix was the leftmost column in the index.
The column used in the ORDER BY was the rightmost column in the index.
The index was used for handling the ORDER BY.
Our thanks to Quanan Han for the contribution.
Replication: When a replication source server shuts down and restarts, its MEMORY tables become empty. To replicate this effect to replicas, the first time that the source uses a given MEMORY table after startup, it notifies replicas that the table must be emptied by writing a DELETE statement for that table to the binary log. Previously, the generated DELETE statement was written to the binary log statement cache for the current session, which could result in it being logged together with other statements under the same GTID, or logged without BEGIN and COMMIT statements. Also, in some situations, the generated DELETE statement could consume the GTID intended for the transaction that triggered it. The generated DELETE statement is now logged with accompanying BEGIN and COMMIT statements, and the resulting transaction is flushed to the binary log immediately after it is written to the statement cache, so that it always receives its own GTID and is kept separate from other transactions.
mysql_store_result() could fail to detect invalid data packets.
The server sometimes mistakenly removed a subquery with a GROUP BY when optimizing a query, even in some cases when this subquery was used by an outer select. This could occur when the subquery also used an aggregate function.
pytest 6.0.1
Bug Fixes
* Passing an empty help value to Parser.add_option is now accepted instead of crashing when running pytest --help. Passing None raises a more informative TypeError.
* Fix pylint not-callable lint on pytest.mark.parametrize() and the other builtin marks: skip, skipif, xfail, usefixtures, filterwarnings.
* Fix regression in plugins using TestReport.longreprtext (such as pytest-html) when TestReport.longrepr is not a string.
* Fix logging capture handler's level not reset on teardown after a call to caplog.set_level().
pytest 6.0.0
(Please see the full set of changes for this release also in the 6.0.0rc1 notes below)
Breaking Changes
* PytestDeprecationWarning are now errors by default.
Following our plan to remove deprecated features with as little disruption as possible, all warnings of type PytestDeprecationWarning now generate errors instead of warning messages.
The affected features will be effectively removed in pytest 6.1, so please consult the Deprecations and Removals section in the docs for directions on how to update existing code.
In the pytest 6.0.X series, it is possible to change the errors back into warnings as a stopgap measure by adding this to your pytest.ini file:
[pytest]
filterwarnings =
ignore::pytest.PytestDeprecationWarning
But this will stop working when pytest 6.1 is released.
* The exec_() and is_true() methods of _pytest._code.Frame have been removed.
Features
* Added support for :envvar:`NO_COLOR` and :envvar:`FORCE_COLOR` environment variables to control colored output.
Improvements
* --log-file CLI option and log_file ini marker now create subdirectories if needed.
* The :func:`pytest.raises` function has a clearer error message when match equals the obtained string but is not a regex match. In this case it is suggested to escape the regex.
Bug Fixes
* Fix the reported location of tests skipped with @pytest.mark.skip when --runxfail is used.
* :fixture:`tmpdir` and :fixture:`tmp_path` no longer raise an error if the lock to check for stale temporary directories is not accessible.
* Preserve line endings when captured via capfd.
* Restored the previous formatting of TracebackEntry.__str__ which was changed by accident.
Improved Documentation
* Clarified when the usefixtures mark can apply fixtures to test.
* Add a note about -q option used in getting started guide.
Trivial/Internal Changes
* Fixture scope package is no longer considered experimental.
pytest 6.0.0rc1
Breaking Changes
* TestReport.longrepr is now always an instance of ReprExceptionInfo. Previously it was a str when a test failed with pytest.fail(..., pytrace=False).
* symlinks are no longer resolved during collection and matching conftest.py files with test file paths.
Resolving symlinks for the current directory and during collection was introduced as a bugfix in 3.9.0, but it actually is a new feature which had unfortunate consequences in Windows and surprising results in other platforms.
This might break test suites which made use of this feature; the fix is to create a symlink for the entire test tree, and not only to partial files/tress as it was possible previously.
* Testdir.run().parseoutcomes() now always returns the parsed nouns in plural form.
Originally parseoutcomes() would always returns the nouns in plural form, but a change meant to improve the terminal summary by using singular form single items (1 warning or 1 error) caused an unintended regression by changing the keys returned by parseoutcomes().
Now the API guarantees to always return the plural form, so calls like this:
result = testdir.runpytest()
result.assert_outcomes(error=1)
Need to be changed to:
result = testdir.runpytest()
result.assert_outcomes(errors=1)
* The os.dup() function is now assumed to exist. We are not aware of any supported Python 3 implementations which do not provide it.
* -k no longer matches against the names of the directories outside the test session root.
Also, pytest.Package.name is now just the name of the directory containing the package's __init__.py file, instead of the full path. This is consistent with how the other nodes are named, and also one of the reasons why -k would match against any directory containing the test suite.
* Expressions given to the -m and -k options are no longer evaluated using Python's :func:`eval`. The format supports or, and, not, parenthesis and general identifiers to match against. Python constants, keywords or other operators are no longer evaluated differently.
* Pytest now uses its own TerminalWriter class instead of using the one from the py library. Plugins generally access this class through TerminalReporter.writer, TerminalReporter.write() (and similar methods), or _pytest.config.create_terminal_writer().
The following breaking changes were made:
Output (write() method and others) no longer flush implicitly; the flushing behavior of the underlying file is respected. To flush explicitly (for example, if you want output to be shown before an end-of-line is printed), use write(flush=True) or terminal_writer.flush().
Explicit Windows console support was removed, delegated to the colorama library.
Support for writing bytes was removed.
The reline method and chars_on_current_line property were removed.
The stringio and encoding arguments was removed.
Support for passing a callable instead of a file was removed.
* The item.catch_log_handler and item.catch_log_handlers attributes, set by the logging plugin and never meant to be public, are no longer available.
The deprecated --no-print-logs option and log_print ini option are removed. Use --show-capture instead.
* Removed the unused args parameter from pytest.Function.__init__.
* Removed the pytest_doctest_prepare_content hook specification. This hook hasn't been triggered by pytest for at least 10 years.
* Some changes were made to the internal _pytest._code.source, listed here for the benefit of plugin authors who may be using it:
The deindent argument to Source() has been removed, now it is always true.
Support for zero or multiple arguments to Source() has been removed.
Support for comparing Source with an str has been removed.
The methods Source.isparseable() and Source.putaround() have been removed.
The method Source.compile() and function _pytest._code.compile() have been removed; use plain compile() instead.
The function _pytest._code.source.getsource() has been removed; use Source() directly instead.
Deprecations
* The special -k '-expr' syntax to -k is deprecated. Use -k 'not expr' instead.
The special -k 'expr:' syntax to -k is deprecated. Please open an issue if you use this and want a replacement.
* pytest_warning_captured is deprecated in favor of the pytest_warning_recorded hook.
Features
* pytest now supports pyproject.toml files for configuration.
The configuration options is similar to the one available in other formats, but must be defined in a [tool.pytest.ini_options] table to be picked up by pytest:
# pyproject.toml
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-ra -q"
testpaths = [
"tests",
"integration",
]
More information can be found in the docs.
* pytest now includes inline type annotations and exposes them to user programs. Most of the user-facing API is covered, as well as internal code.
If you are running a type checker such as mypy on your tests, you may start noticing type errors indicating incorrect usage. If you run into an error that you believe to be incorrect, please let us know in an issue.
The types were developed against mypy version 0.780. Versions before 0.750 are known not to work. We recommend using the latest version. Other type checkers may work as well, but they are not officially verified to work by pytest yet.
* Introduced a new hook named pytest_warning_recorded to convey information about warnings captured by the internal pytest warnings plugin.
This hook is meant to replace pytest_warning_captured, which is deprecated and will be removed in a future release.
* New command-line flags:
--no-header: disables the initial header, including platform, version, and plugins.
--no-summary: disables the final test summary, including warnings.
* A warning is now shown when an unknown key is read from a config INI file.
The --strict-config flag has been added to treat these warnings as errors.
* Added --code-highlight command line option to enable/disable code highlighting in terminal output.
* New --import-mode=importlib option that uses importlib to import test modules.
Traditionally pytest used __import__ while changing sys.path to import test modules (which also changes sys.modules as a side-effect), which works but has a number of drawbacks, like requiring test modules that don't live in packages to have unique names (as they need to reside under a unique name in sys.modules).
--import-mode=importlib uses more fine grained import mechanisms from importlib which don't require pytest to change sys.path or sys.modules at all, eliminating much of the drawbacks of the previous mode.
You can read more about this option in the documentation.
* New required_plugins configuration option allows the user to specify a list of plugins, including version information, that are required for pytest to run. An error is raised if any required plugins are not found when running pytest.
Improvements
* The pytest command now suppresses the BrokenPipeError error message that is printed to stderr when the output of pytest is piped and and the pipe is closed by the piped-to program (common examples are less and head).
* Improved precision of test durations measurement. CallInfo items now have a new <CallInfo>.duration attribute, created using time.perf_counter(). This attribute is used to fill the <TestReport>.duration attribute, which is more accurate than the previous <CallInfo>.stop - <CallInfo>.start (as these are based on time.time()).
* Rich comparison for dataclasses and attrs-classes is now recursive.
* Exposed the pytest.FixtureLookupError exception which is raised by request.getfixturevalue() (where request is a FixtureRequest fixture) when a fixture with the given name cannot be returned.
* If an error is encountered while formatting the message in a logging call, for example logging.warning("oh no!: %s: %s", "first") (a second argument is missing), pytest now propagates the error, likely causing the test to fail.
Previously, such a mistake would cause an error to be printed to stderr, which is not displayed by default for passing tests. This change makes the mistake visible during testing.
You may supress this behavior temporarily or permanently by setting logging.raiseExceptions = False.
* Explicit new-lines in help texts of command-line options are preserved, allowing plugins better control of the help displayed to users.
* When using the --duration option, the terminal message output is now more precise about the number and duration of hidden items.
* Collected files are displayed after any reports from hooks, e.g. the status from --lf.
* When fd capturing is used, through --capture=fd or the capfd and capfdbinary fixtures, and the file descriptor (0, 1, 2) cannot be duplicated, FD capturing is still performed. Previously, direct writes to the file descriptors would fail or be lost in this case.
* Exit with an error if the --basetemp argument is empty, is the current working directory or is one of the parent directories. This is done to protect against accidental data loss, as any directory passed to this argument is cleared.
* pytest --version now displays just the pytest version, while pytest --version --version displays more verbose information including plugins. This is more consistent with how other tools show --version.
* :meth:`caplog.set_level() <_pytest.logging.LogCaptureFixture.set_level>` will now override any :confval:`log_level` set via the CLI or configuration file.
* :meth:`caplog.set_level() <_pytest.logging.LogCaptureFixture.set_level>` and :meth:`caplog.at_level() <_pytest.logging.LogCaptureFixture.at_level>` no longer affect the level of logs that are shown in the Captured log report report section.
* Improve recursive diff report for comparison asserts on dataclasses / attrs.
* --junitxml now includes the exception cause in the message XML attribute for failures during setup and teardown.
Previously:
<error message="test setup failure">
Now:
<error message="failed on setup with "ValueError: Some error during setup"">
Bug Fixes
* Fix issue where directories from :fixture:`tmpdir` are not removed properly when multiple instances of pytest are running in parallel.
* Prevent crashing and provide a user-friendly error when a marker expression (-m) invoking of :func:`eval` raises any exception.
* The path shown in the summary report for SKIPPED tests is now always relative. Previously it was sometimes absolute.
* Fix a possible race condition when trying to remove lock files used to control access to folders created by :fixture:`tmp_path` and :fixture:`tmpdir`.
* Fixes an issue where logging during collection step caused duplication of log messages to stderr.
* Paths appearing in error messages are now correct in case the current working directory has changed since the start of the session.
* Support deleting paths longer than 260 characters on windows created inside :fixture:`tmpdir`.
* Fix crash with captured output when using :fixture:`capsysbinary`.
* Revert the change introduced by 6330, which required all arguments to @pytest.mark.parametrize to be explicitly defined in the function signature.
The intention of the original change was to remove what was expected to be an unintended/surprising behavior, but it turns out many people relied on it, so the restriction has been reverted.
* Fix crash when plugins return an unknown stats while using the --reportlog option.
* Ensure a unittest.IsolatedAsyncioTestCase is actually awaited.
* Fix TerminalRepr instances to be hashable again.
* Fix regression where functions registered with :meth:`unittest.TestCase.addCleanup` were not being called on test failures.
* Allow users to still set the deprecated TerminalReporter.writer attribute.
* Prevent pytest from printing ConftestImportFailure traceback to stdout.
* Fix regressions with --lf filtering too much since pytest 5.4.
* Revert "tmpdir: clean up indirection via config for factories" 6767 as it breaks pytest-xdist.
* When a yielding fixture fails to yield a value, report a test setup error instead of crashing.
* The path of file skipped by @pytest.mark.skip in the SKIPPED report is now relative to invocation directory. Previously it was relative to root directory.
* Fixed regression: asyncbase.TestCase tests are executed correctly again.
* --setup-show now doesn't raise an error when a bytes value is used as a parametrize parameter when Python is called with the -bb flag.
* Fix :meth:`pytest.File.from_parent` so it forwards extra keyword arguments to the constructor.
* Classes with broken __getattribute__ methods are displayed correctly during failures.
* Prevent hiding the underlying exception when ConfTestImportFailure is raised.
* Fix _is_setup_py for files encoded differently than locale.
* Fix regression where running with --pdb would call :meth:`unittest.TestCase.tearDown` for skipped tests.
* When using pytest.fixture on a function directly, as in pytest.fixture(func), if the autouse or params arguments are also passed, the function is no longer ignored, but is marked as a fixture.
* Fix possibly incorrect evaluation of string expressions passed to pytest.mark.skipif and pytest.mark.xfail, in rare circumstances where the exact same string is used but refers to different global values.
* Fixed exception causes all over the codebase, i.e. use raise new_exception from old_exception when wrapping an exception.
Improved Documentation
* The development guide now links to the contributing section of the docs and RELEASING.rst on GitHub.
* Add a note about --strict and --strict-markers and the preference for the latter one.
* Explain indirect parametrization and markers for fixtures.
Trivial/Internal Changes
* The originalname attribute of _pytest.python.Function now defaults to name if not provided explicitly, and is always set.
* The dependency on the wcwidth package has been removed.
* Replaced py.iniconfig with iniconfig.
* src/_pytest/config/__init__.py now uses the warnings module to report warnings instead of sys.stderr.write.
* Remove last internal uses of deprecated slave term from old pytest-xdist.
* py>=1.8.2 is now required.
1.19.1
* MAINT, CI: disable Shippable cache
* MAINT: Replace `PyUString_GET_SIZE` with `PyUnicode_GetLength`.
* REL: Fix outdated docs link
* BUG: raise IEEE exception on AIX
* BUG: Fix bug in AVX complex absolute while processing array of...
* TST: Add extra debugging information to CPU features detection
* BLD: Add CPU entry for Emscripten / WebAssembly
* TST: Disable Python 3.9-dev testing.
* MAINT: Disable use_hugepages in case of ValueError
* BUG: Fix PyArray_SearchSorted signature.
* MAINT: Fixes for deprecated functions in scalartypes.c.src
* MAINT: Remove unneeded call to PyUnicode_READY
* MAINT: Fix deprecated functions in scalarapi.c
* BLD, ENH: Add RPATH support for AIX
* BUG: Fix default fallback in genfromtxt
* BUG: Added missing return after raising error in methods.c
* BLD: update cython to 0.29.21
* MAINT: setuptools 49.2.0 emits a warning, avoid it
* BUG: Validate output size in bin- and multinomial
* BLD, MAINT: Pin setuptools
* DOC: Reconstruct Testing Guideline.
* TST, BUG: Re-raise MemoryError exception in test_large_zip's...
* BUG,DOC: Fix bad MPL kwarg.
* BUG: Fix string/bytes to complex assignment
* REL: Prepare for NumPy 1.19.1 release
1.19.0
* ENH: add identity kwarg to frompyfunc
* TST: check exception details in refguide_check.py
* ENH: improve runtime detection of CPU features
* TST: Add assert_array_equal test for big integer arrays.
* MAINT: Remove unnecessary 'from __future__ import ...' statements
* MAINT: Fix typos and copy edit NEP-0030.
* DOC: NumPy for absolute beginners tutorial
* NEP: Proposal for array creation dispatching with `__array_function__`
* ENH: Use AVX-512F for np.maximum and np.minimum
* BUG: Fix numpy.random.dirichlet returns NaN for small 'alpha'...
* API: Use `ResultType` in `PyArray_ConvertToCommonType`
* MAINT,API: ignore and NULL fasttake/fastputmask ArrFuncs slots
* BUG: Make ``ediff1d`` kwarg casting consistent
* DOC: linalg: Include information about scipy.linalg.
* BUG: Use ``__array__`` during dimension discovery
* MAINT: cleanup compat.py3k.py
* ENH: f2py: improve error messages
* [DOC] LaTeX: fix preamble (closes 15026)
* BUG: add endfunction, endsubroutine to valid fortran end words
* TST: Add test for object method (and general unary) loops
* REL: Update master after 1.18.x branch.
* DOC: Update HOWTO_RELEASE.rst.txt
* API, DOC: change names to multivariate_hypergeometric, improve...
* DOC: Fix statement about norms
* MAINT: follow-up cleanup for blas64 PR
* DOC: add docstrings to refguide-check
* Revert "DEP: issue deprecation warning when creating ragged array...
* ENH: add support for ILP64 OpenBLAS (without symbol suffix)
* DOC: correct version for NaT sort
* TST: Check requires_memory immediately before the test
* MAINT: core: Fix a very long line in the ufunc docstrings.
* BUG: test, fix flexible dtype conversion on class with __array__
* TST: add value to pytest.ini for pytest6 compatibility
* MAINT: Ragged cleanup
* DOC: bring the out parameter docstring into line with ufuncs
* ENH: f2py: add --f2cmap option for specifying the name of .f2py_f2cmap
* TST: add BLAS ILP64 run in Travis & Azure
* MAINT: Fix expm1 instability for small complex numbers.
* MAINT: random: Remove a few unused imports from test files.
* MAINT: Bump pytest from 5.3.1 to 5.3.2
* API: remove undocumented use of __array__(dtype, context)
* MAINT,CI: fix signed-unsigned comparison warning
* DOC: Update documentation of np.clip
* DOC: Remove reference to basic RNG
* MAINT: Fix randint 0d limits and other 0d cleanups
* DOC: Fix typos, via a Levenshtein-style corrector
* MAINT: CI: Clean up .travis.yml
* DOC: Correct choice signature
* DOC: Correct documentation in choice
* TST: shippable build efficiency
* BUG: ensure reduction output matches input along non-reduction...
* REL: Update master after NumPy 1.18.0 release.
* MAINT: Update pavement.py for towncrier.
* DOC: update cholesky docstring regarding input checking
* DOC: update documentation on how to build NumPy
* DOC: add moved modules to 1.18 release note
* MAINT: Update required cython version to 0.29.14.
* BUG: searchsorted: passing the keys as a keyword argument
* BUG: use tmp dir and check version for cython test
* TST: improve assert message of assert_array_max_ulp
* MAINT: unskip test on win32
* ENH: Add property-based tests using Hypothesis
* BUG: test, fix for c++ compilation
* DOC: Adding instructions for building documentation to developer...
* DOC: NEP 37: A dispatch protocol for NumPy-like modules
* MAINT: Do not use private Python function in testing
* DOC: Improvements to Quickstart Tutorial.
* BUG: distutils: fix msvc+gfortran openblas handling corner case
* BUG: lib: Fix handling of integer arrays by gradient.
* MAINT: lib: A little bit of clean up for the new year.
* REL: Update master after NumPy 1.16.6 and 1.17.5 releases.
* DEP: records: Deprecate treating shape=0 as shape=None
* ENH: build fallback lapack_lite with 64-bit integers on 64-bit...
* MAINT: linalg: use symbol suffix in fallback lapack_lite
* DOC: typo in release.rst
* NEP: universal SIMD NEP 38
* MAINT: Remove unused int_asbuffer
* MAINT: Cleaning up PY_MAJOR_VERSION/PY_VERSION_HEX
* MAINT: Clean up more PY_VERSION_HEX
* MAINT: Remove implicit inheritance from object class
* MAINT: only add --std=c99 where needed
* MAINT: Remove Python2 newbuffer getbuffer
* MAINT: Py3K array_as_buffer and gentype_as_buffer
* MAINT: Remove references to non-existent sys.exc_clear()
* DOC: Update HOWTO_RELEASE.rst
* MAINT: cleanup use of sys.exc_info
* MAINT: Eliminate some calls to `eval`
* MAINT: Improve const-correctness of shapes and strides
* DOC: clarify the effect of None parameters passed to ndarray.view
* MAINT: Improve const-correctness of string arguments
* MAINT: Delete numpy.distutils.compat
* MAINT: Implement keyword-only arguments as syntax
* MAINT: Remove FIXME comments introduced in the previous commit
* MAINT: Work with unicode strings in `dtype('i8,i8')`
* BUG: Use PyDict_GetItemWithError() instead of PyDict_GetItem()
* MAINT: Remove python2 array_{get,set}slice
* DOC: Add some missing functions in the list of available ufuncs.
* MAINT: Tidy PyArray_DescrConverter
* MAINT: remove duplicated if statements between DescrConverters
* BUG: Fix PyArray_DescrAlignConverter2 on tuples
* MAINT: Remove Python2 ndarray.__unicode__
* MAINT: Remove Python 2 divide
* MAINT: minor formatting fixups for NEP-37
* MAINT: Post NumPy 1.18.1 update.
* MAINT: travis-ci: Update CI scripts.
* BENCH: Add benchmark for small array coercions
* BUILD: use standard build of OpenBLAS for aarch64, ppc64le, s390x
* BENCH: Add basic benchmarks for take and putmask
* MAINT: Cleanup most PY3K #ifdef guards
* DOC: BLD: add empty release notes for 1.19.0 to fix doc build...
* MAINT: Use a simpler return convention for internal functions
* MAINT: Simplify np.int_ inheritance
* DOC" Update np.full docstring.
* MAINT: Express PyArray_DescrAlignConverter in terms of _convert_from_any
* MAINT: Push down declarations in _convert_from_*
* MAINT: C code simplifications
* BUG: Add missing error handling to _convert_from_list
* DOC: Added tutorial about linear algebra on multidimensional...
* MAINT: Refactor dtype conversion functions to be more similar
* DOC: Updating f2py docs to python 3 and fixing some typos
* MAINT: Remove NPY_PY3K constant
* MAINT: Remove sys.version checks in tests
* MAINT: cleanup sys.version dependant code
* MAINT: Ensure `_convert_from_*` functions set errors
* MAINT: Avoid escaping unicode in error messages
* MAINT: Change file extension of ma README to rst.
* BUG: fix NameError in clip nan propagation tests
* NEP: document reimplementation of NEP 34
* MAINT: fix typos
* TST: move pypy CI to ubuntu 18.04
* TST: move _no_tracing to testing._private, remove testing.support
* BUG: Add some missing C error handling
* MAINT: Remove sys.version checks
* DEP: Deprecate `->f->fastclip` at registration time
* DOC: document site.cfg.example
* MAINT: Fix mistype in histogramdd docstring
* DOC, BLD: reword release note, upgrade sphinx version
* MAINT: Remove unnecessary calls to PyArray_DATA from binomial...
* MAINT: Bump pytest from 5.3.2 to 5.3.3
* MAINT: Remove six
* MAINT: Revise imports from collections.abc module
* MAINT: remove internal functions required to handle Python2/3...
* MAINT: Remove other uses of six module
* MAINT: resolve pyflake F403 'from module import *' used
* MAINT: Update tox for supported Python versions
* MAINT: simd: Avoid signed comparison warning
* DOC: Updating Chararry Buffer datatypes
* TST: Simplify unicode test
* MAINT: Use `with open` when possible
* MAINT: Cleanup python2 references
* MAINT: Python2 Cleanups
* DEP: add PendingDeprecation to matlib.py funky namespace
* BUG, MAINT: Stop using the error-prone deprecated Py_UNICODE...
* MAINT: clean up some macros in scalarapi.c
* MAINT/BUG: Fixups to scalar base classes
* BUG: np.load does not handle empty array with an empty descr
* MAINT: Revise imports from urllib modules
* MAINT: Remove Python3 DeprecationWarning from pytest.ini
* MAINT: cleanup _pytesttester.py
* BUG: Flags should not contain spaces
* MAINT: Clean up, mostly unused imports.
* BUG/TEST: core: Fix an undefined name in a test.
* MAINT: Replace basestring with str.
* ENH: Use AVX-512F for complex number arithmetic, absolute, square...
* MAINT: Remove Python2 workarounds
* MAINT: Cleanup references to python2
* MAINT, DOC: Remove use of old Python __builtin__, now known as...
* ENH: Make use of ExitStack in npyio.py
* MAINT: Inline gentype_getreadbuf
* MAINT: Use f-strings for clarity.
* DEP: Schedule unused C-API functions for removal/disabling
* DOC: Improve ndarray.ctypes example
* DOC: distutils: Add a docstring to show_config().
* MAINT: Use contextmanager in _run_doctests
* MAINT: Updated polynomial to use fstrings
* DOC: Fix Incorrect document in Beginner Docs
* MAINT: Update core.py with fstrings (issue 15420)
* DOC: fix docstrings so `python tools/refguide-check --rst <file>...
* MAINT: Tidy macros in scalar_new
* MAINT: use 'yield from <expr>' for simple cases
* MAINT: Bump pytest from 5.3.3 to 5.3.4
* BUG: Reject nonsense arguments to scalar constructors
* DOC: Update refguide_check note on how to skip code
* MAINT: Simplify `np.object_.__new__`
* STY,MAINT: avoid 'multiple imports on one line'
* MAINT: Cleanup duplicate line in refguide_check
* MAINT: cleanup unused imports; avoid redefinition of imports
* BUG: Fix for SVD not always sorted with hermitian=True
* MAINT: Simplify scalar __new__ some more
* MAINT: Eliminate messy _WORK macro
* update result of rng.random(3) to current rng output
* DOC: Correct get_state doc
* MAINT: Use `.identifier = val` to fill type structs
* [DOC] Mention behaviour of np.squeeze with one element
* ENH: fixing generic error messages to be more specific in multiarray/descriptor.c
* BUG: Fixing result of np quantile edge case
* TST: mark the top 3 slowest tests to save ~10 seconds
* MAINT: Bump pytest from 5.3.4 to 5.3.5
* MAINT: Use True/False instead of 1/0 in np.dtype.__reduce__
* MAINT: Do not allow `copyswap` and friends to fail silently
* DOC: Remove duplicated code in true_divide docstring
* NEP 40: Informational NEP about current DTypes
* DOC: Update unique docstring example
* MAINT: Large overhead in some random functions
* TST: Fix missing output in refguide-check
* MAINT: Simplify arraydescr_richcompare
* MAINT: Fix internal misuses of `NPY_TITLE_KEY`
* DOC: Update instructions for building/archiving docs.
* BUG: Fix inline assembly that detects cpu features on x86(32bit)
* update doctests, small bugs and changes of repr
* DEP: Do not allow "abstract" dtype conversion/creation
* DOC: Minor copyediting on NEP 37.
* MAINT: Extract repeated code to a helper function
* NEP: edit and move NEP 38 to accepted status
* MAINT: Refresh Doxyfile and modernize numpyfilter.py
* TST: Accuracy test float32 sin/cos/exp/log for AVX platforms
* DOC: Improve the `numpy.linalg.eig` docstring.
* NEP 44 - Restructuring the NumPy Documentation
* TST: (Travis CI) Use full python3-dbg path for virtual env creation
* BUG, DOC: restore missing import
* DOC: Removing bad practices from quick start + some PEP8
* TST: Do not create symbolic link named gfortran.
* DOC: Document caveat in random.uniform
* DOC: numpy.clip is equivalent to minimum(..., maximum(...))
* MAINT: Bump cython from 0.29.14 to 0.29.15
* MAINT: Bump hypothesis from 5.3.0 to 5.5.4
* BLD: manylinux2010 docker reports machine=i686
* BUG: Ignore differences in NAN for computing ULP differences
* TST: use manylinux2010 docker instead of ubuntu
* TST: mask DeprecationWarning in xfailed test
* BUG: Fix bug in AVX-512F np.maximum and np.minimum
* BUG: Remove check requiring natural alignment of float/double...
* DOC: Add missing imports, definitions and dummy file
* DOC: Fix documentation for apply_along_axis
* DOC: fix printing, np., deprecation for refguide
* MAINT: Pull identical line out of conditional.
* DOC: remove broken link in f2py tutorial
* BLD: update openblas download to new location, use manylinux2010-base
* MAINT: AVX512 implementation with intrinsic for float64 input...
* BLD: update OpenBLAS to pre-0.3.9 version
* DOC: Refactor `np.polynomial` docs using `automodule`
* BUG: fix doctest exception messages
* MAINT: Added comment pointing FIXME to relevant PR.
* DOC: Make extension module wording more clear
* DOC: Improve np.finfo docs
* DOC: Improve Benchmark README with environment setup and more...
* MAINT: Bump hypothesis from 5.5.4 to 5.6.0
* NEP: move NEP 44 to accepted status
* DOC: Fix indexing docs to pass refguide
* MAINT: Test during import to detect bugs with Accelerate(MacOS)...
* MAINT: Add a fast path to var for complex input
* MAINT: Convert shebang from python to python3
* MAINT: replace optparse with argparse for 'doc' and 'tools' scripts
* DOC: Fix quickstart doc to pass refguide
* MAINT: Fixing typos in f2py comments and code.
* DOC: fix SVD tutorial to pass refguide
* MAINT: use list-based APIs to call subprocesses
* ENH: update numpy.linalg.multi_dot to accept an `out` argument
* TST: always use 'python -mpip' not 'pip'
* DOC: update datetime reference to pass refguide
* DOC: Fix coremath.rst to fix refguide_check
* DOC: fix remaining doc files for refguide_check
* BUG: fix logic error when nm fails on 32-bit
* TST: Remove nose from the test_requirements.txt file.
* DOC: Allow NEPs to link to python, numpy, scipy, and matplotlib...
* BUG: Guarantee array is in valid state after memory error occurs...
* MAINT: Remove non-native byte order from _var check.
* MAINT: Add better error handling in linalg.norm for vectors and...
* MAINT: doc: Remove doc/summarize.py
* BUG: lib: Handle axes with length 0 in np.unique.
* DOC: document inconsistency between the shape of data and mask...
* BUG, TST: fix f2py for PyPy, skip one test for PyPy
* MAINT: Fix swig tests issue
* MAINT: CI: Add an explicit 'pr' section to azure-pipelines.yml
* MAINT: Bump pytest from 5.3.5 to 5.4.1
* BUG,MAINT: Remove incorrect special case in string to number...
* REL: Update master after 1.18.2 release.
* ENH: Allow toggling madvise hugepage and fix default
* DOC: Fix runtests example in developer docs
* DEP: Make issubdtype consistent for types and dtypes
* MAINT: remove useless `global` statements
* BLD: Add requirements.txt file for building docs
* BUG: don't add 'public' or 'private' if the other one exists
* ENH: Use TypeError in `np.array` for python consistency
* BUG: Add basic __format__ for masked element to fix incorrect...
* TST: Add unit test for out=None of np.einsum
* MAINT: Cleanups to np.insert and np.delete
* BUG: Add error-checking versions of strided casts.
* DEP: Make `np.insert` and `np.delete` on 0d arrays with an axis...
* DOC: correct possible list lengths for `extobj` in ufunc calls
* DEP: Make np.delete on out-of-bounds indices an error
* DEP: Forbid passing non-integral index arrays to `insert` and...
* TST: Parametrize sort test
* TST: switch PyPy job with CPython
* TST: Remove code that is not supposed to warn out of warning...
* DEP: Do not cast boolean indices to integers in np.delete
* MAINT: simplify code that assumes str/unicode and int/long are...
* MAINT: pathlib and hashlib are in stdlib in Python 3.5+
* ENH: improved error message `IndexError: too many indices for...
* BUG: Fix IndexError for illegal axis in np.mean
* DOC: Minor fix to _hist_bin_fd documentation
* BUG,DEP: Make `scalar.__round__()` behave like pythons round
* DOC: First steps towards docs restructuring (NEP 44)
* DOC, TST: enable refguide_check in circleci
* DOC: fix typo in C-API reference
* DOC: Fix docstring for _hist_bin_auto.
* MAINT: Bump cython from 0.29.15 to 0.29.16
* DEP: Deprecate ndarray.tostring()
* TST: use draft OpenBLAS build
* BUG: Fix eigh and cholesky methods of numpy.random.multivariate_normal
* BUG: Check that `pvals` is 1D in `_generator.multinomial`.
* DOC: Add missing signature from nditer docstring
* BUG: Fix empty_like to respect shape=()
* BUG: Do not ignore empty tuple of strides in ndarray.__new__
* MAINT: Remove duplicated code in iotools.py
* BUG: Setting a 0d array's strides to themselves should be legal
* BUG: Respect itershape=() in nditer
* MAINT: Clean-up 'next = __next__' used for Python 2 compatibility
* TST: Run test_large_zip in a child process
* DOC: Add missing doc of numpy.ma.apply_over_axes in API list.
* DOC: Improve record module documentation
* DOC: Fixed order of items and link to mailing list in dev docs...
* BLD: report clang version on macOS
* MAINT: records: Remove private `format_parser._descr` attribute
* BUG: random: Disallow p=0 in negative_binomial
* ENH: Use sysconfig instead of probing Makefile
* DOC: Update np.copy docstring to include ragged case
* DOC: Correct private function name to PyArray_AdaptFlexibleDType
* MAINT: Fix capitalization in error message in `mtrand.pyx`
* DOC: Update np.rollaxis docstring
* BUG: fix AttributeError on accessing object in nested MaskedArray.
* BUG: Alpha parameter must be 1D in `generator.dirichlet`
* NEP: minor maintenance, update filename and fix a cross-reference
* MAINT: Bump hypothesis from 5.8.0 to 5.8.3
* TST: Add slow_pypy support
* DOC: Added note to angle function docstring about angle(0) being...
* MAINT/BUG: Cleanup and minor fixes to conform_reduce_result
* BUG: Avoid duplication in stack trace of `linspace(a, b, num=1.5)`
* BUG: Fix inf and NaN-warnings in half float `nextafter`
* MAINT: Remove 0d check for PyArray_ISONESEGMENT
* DEV: Pass additional runtests.py args to ASV
* DOC: Fix method documentation of function sort in MaskedArray
* NEP: Improve Value Based Casting paragraph in NEP 40
* DOC: add note on flatten ordering in matlab page
* TST: Add tests for the conversion utilities
* BUG: Unify handling of string enum converters
* MAINT: Replace npyiter_order_converter with PyArray_OrderConverter
* BUG: Fix lexsort axis check
* DOC: Clarify single-segment arrays in np reference
* DOC: Change import error "howto" to link to new troubleshooting...
* DOC: update first section of NEP 37 (``__array_function__`` downsides)
* REL: Update master after 1.18.3 release.
* MAINT: Bump hypothesis from 5.8.3 to 5.10.1
* DOC: initialise random number generator before first use in quickstart
* ENH: Fix exception causes in build_clib.py
* MAINT,TST: Move _repr_latex tests to test_printing.
* BUG: missing 'f' prefix for fstring
* ENH: Fix exception causes in build_ext.py
* DOC: Small typo fixes to NEP 40.
* DOC, BLD: update release howto and walkthrough for ananconda.org...
* ENH: Chained exceptions in linalg.py and polyutils.py
* MAINT: Chain exceptions in several places.
* MAINT: Chain exceptions in memmap.py and core.py
* BUG: Fix string to bool cast regression
* DOC: Added page describing how to contribute to the docs team
* DOC: add a note on sampling 2-D arrays to random.choice docstring
* BUG: random: Generator.integers(2**32) always returned 0.
* BLD: fix path to libgfortran on macOS
* DOC: Add axis to random module "new or different" docs
* DOC,BLD: Limit timeit iterations in random docs.
* DOC: add note on type casting to numpy.left_shift().
* DOC: improve development debugging doc
* DOC: tweak neps/scope.rst
* MAINT: Bump cython from 0.29.16 to 0.29.17
* MAINT: Bump hypothesis from 5.10.1 to 5.10.4
* TST: use latest released PyPy instead of nightly builds
* MAINT, DOC: Improve grammar on a comment in the quickstart
* NEP 41: Accept NEP 41 and add DType<->scalar duplication paragraph
* BLD: put openblas library in local directory on windows
* MAINT: Fix random.PCG64 signature
* DOC: Move misplaced news fragment for gh-13421
* DOC: Fix links for NEP 40 in NEP 41
* BUG: lib: Fix a problem with vectorize with default parameters.
* ENH: Better error message when ``bins`` has float value in ``histogramdd``.
* MAINT: Unify casting error creation (outside the iterator)
* BENCH: Default to building HEAD instead of master
* REL: Update master after NumPy 1.18.4 release
* DOC: Add VSCode help link to importerror troubleshooting
* CI: pin 32-bit manylinux2010 image tag
* MAINT: Bump pytz from 2019.3 to 2020.1
* BUG: Correct loop order in MT19937 jump
* CI: unpin 32-bit manylinux2010 image tag
* BUG: add missing numpy/__init__.pxd to the wheel
* BUG:Umath remove unnecessary include of simd.inc in fast_loop_macro.h
* DOC,BLD: Add :doc: to whitelisted roles in refguide_check.
* ENH: resync numpy/__init__.pxd with upstream
* ENH: allow choosing which manylinux artifact to download
* MAINT: Mark tests as a subpackage rather than data.
* Update Docs : point users of np.outer to np.multiply.outer
* DOC: Fix link to numpy docs in README.
* ENH: Allow pickle with protocol 5 when higher is requested
* MAINT: cleanups to _iotools.StringConverter
* DOC: Unify cross-references between array joining methods
* DOC: Improve docstring of ``numpy.core.records``
* DOC: update Code of Conduct committee
* MAINT: Bump hypothesis from 5.10.4 to 5.12.0
* MAINT: Bump pytest from 5.4.1 to 5.4.2
* DOC: warn about runtime of shares_memory
* ENH: backport scipy changes to openblas download script
* BUG: skip complex256 arcsinh precision test on glibc2.17
* MAINT: Chain exceptions and use NameError in np.bmat
* DOC,BLD: pin sphinx to <3.0 in doc_requirements.txt
* BUG: fix signature of PyArray_SearchSorted in __init__.pxd
* ENH: add manylinux1 openblas hashes
* DOC: Fix Generator.choice docstring
* DOC: Add PyDev instructions to troubleshooting doc
* DOC: Add Clang and MSVC to supported compilers list
* DOC: Warn about behavior of ptp with signed integers.
* DOC: Update the f2py section of the "Using Python as Glue" page.
* BUG: Add missing decref in fromarray error path
* ENH: Add tool for downloading release wheels from Anaconda.
* DOC: Fix typos and cosmetic issues
* REL: Prepare for the 1.19.0 release
* BUG: Fix tools/download-wheels.py.
* BUG: Require Python >= 3.6 in setup.py
* BUG: relpath fails for different drives on windows
* DOC: Fix documentation rendering,
* BUG: Don't segfault on bad __len__ when assigning. (gh-16327)
* MAINT: Stop Using PyEval_Call* and simplify some uses
* BLD: Avoid "visibility attribute not supported" warning.
* BUG: Allow attaching documentation twice in add_docstring
* MAINT: Remove f-strings in setup.py. (gh-16346)
* BUG: Indentation for docstrings
* BUG: Fix dtype leak in `PyArray_FromAny` error path
* ENH: Optimize Cpu feature detect in X86, fix for GCC on macOS...
* MAINT: core: Use a raw string for the fromstring docstring.
* MAINT: Make ctypes optional on Windows
* BUG: Fix small leaks in error path and ``empty_like`` with shape
* TST, MAINT: Fix detecting and testing armhf features
* DOC,BLD: Update sphinx conf to use xelatex.
* DOC,BLD: Update make dist html target.
* MAINT, DOC: add index for user docs.
* MAINT: support python 3.10
* DOC: Fix troubleshooting code snippet when env vars are empty
* REL: Prepare for the NumPy 1.19.0rc2 release.
* MAINT:ARMHF Fix detecting feature groups NEON_HALF and NEON_VFPV4
* BUG:random: Error when ``size`` is smaller than broadcast input...
* BUG: fix GCC 10 major version comparison
* BUG: Ensure SeedSequence 0-padding does not collide with spawn...
* BUG: fix sin/cos bug when input is strided array
* MAINT: Move and improve ``test_ignore_nan_ulperror``.
* REL: Update 1.19.0-changelog.rst for 1.19.0 release.
1.9.0
- Add type annotation stubs for the following modules:
* ``py.error``
* ``py.iniconfig``
* ``py.path`` (not including SVN paths)
* ``py.io``
* ``py.xml``
There are no plans to type other modules at this time.
The type annotations are provided in external .pyi files, not inline in the
code, and may therefore contain small errors or omissions. If you use ``py``
in conjunction with a type checker, and encounter any type errors you believe
should be accepted, please report it in an issue.
1.8.2
- On Windows, ``py.path.local``s which differ only in case now have the same
Python hash value. Previously, such paths were considered equal but had
different hashes, which is not allowed and breaks the assumptions made by
dicts, sets and other users of hashes.
iniconfig is a small and simple INI-file parser module having a unique set of
features:
* tested against Python2.4 across to Python3.2, Jython, PyPy
* maintains order of sections and entries
* supports multi-line values with or without line-continuations
* supports "#" comments everywhere
* raises errors with proper line-numbers
* no bells and whistles like automatic substitutions
* iniconfig raises an Error if two sections have the same name.
20.0.1
Rerelease to fix packaging metadata around conditional requirements.
20.0.0
* CPython 3.7 and 3.8 and PyPy3 added to test matrix
* Hyperlink now has type hints and they are now exported per
[PEP 561](https://www.python.org/dev/peps/pep-0561/).
* Several bugs related to hidden state were fixed, making it so that all data
on a `URL` object (including `rooted` and `uses_netloc`) is reflected by and
consistent with its textual representation.
This does mean that sometimes these constructor arguments are ignored, if it
would create invalid or unparseable URL text.
Upstream Release Notes:
* Fixed create-project not triggering events while installing the root package
* Fixed PHP 8 compatibility issue
* Fixed self-update to avoid automatically upgrading to the next major release
once it becomes stable.
0.14.0
Changed
- Privilege definition in file over the environment in variable expansion
Fixed
- Improve error message for when file isn't found
- Use HTTPS URL in package meta data
4.13.0
- [feaLib/otlLib] Moved lookup subtable builders from feaLib to otlLib; refactored
some common code
- [docs] Document otlLib module
- [glifLib] Fixed bug with some UFO .glif filenames clashing on case-insensitive
filesystems
- [colorLib] Updated COLRv1 implementation following changes in the draft spec
v0.6.8
Variety of small updates and bugfixes, but of note:
Support for namespace prefixes for XPath queries
edit-config parameter validation
Support for multiple RPC errors
API to get supported device types
Support for subtree filters with multiple top-level tags
20.2.1
======
Features
--------
- Ignore require-virtualenv in ``pip list``
Bug Fixes
---------
- Correctly find already-installed distributions with dot (``.``) in the name
and uninstall them when needed.
- Trace a better error message on installation failure due to invalid ``.data``
files in wheels.
- Fix SVN version detection for alternative SVN distributions.
- New resolver: Correctly include the base package when specified with extras
in ``--no-deps`` mode.
- Use UTF-8 to handle ZIP archive entries on Python 2 according to PEP 427, so
non-ASCII paths can be resolved as expected.
Improved Documentation
----------------------
- Add details on old resolver deprecation and removal to migration documentation.
- Fix feature flag name in docs.
ChangeLog:
Features
The new count verb is a keystroke-saver for stats1 -a count -f
{some field name}.
--jsonx and --ojsonx are keystroke-savers for --json --jvstack
and --ojson --jvstack, which is to say, multi-line pretty-printed
JSON format.
The new -s name=value feature for mlr put and mlr filter gives
you simpler access to environment variables in your Miller
script, as requested in #315.
Bugfixes
mlr format-values is no longer SEGVing on CSV/TSV input. This
was reported on #330.
#313 fixes a corner case when field names within command-line
arguments have embedded newlines.
Line/column indicators for JSON-formatting error messages are
now correct (previously they were showing up as 0).
end {print NF} no longer SEGVs. This was reported in #330.
Several broken doc links were fixed up as reported on #329.