From the release announcement:
This <https://launchpad.net/bzr/+milestone/2.7.0> is a bugfix release
(20 bugs fixed) over the 2.6 series focusing on test issues triggered
by various python 2.7 updates.
All known fixed bugs are included here.
Users are encouraged to upgrade from the other stable series. bzr 2.7
will be the last series with active python 2.6 testing and support.
Python 2.6 hasn't received any updates since v2.6.9 of 29 Oct 2013.
Python 2.7.9 of 10 Dec 2014 was the oldest version to receive a
security fix with ssl library's match_hostname.
(I presume following line should read 2.003_006)
2.003_005 - 2019-10-18
- always exclude helper subs (has, with, etc) from the list of methods, even
if they are installed later or wrapped with a modifier
- drop Devel::GlobalDestruction prerequisite unless using perl < 5.14
- fix preserving full accuracy of numbers in non-ref defaults
- fix tracking of stubs and constants as methods to be consistent and work
properly with unusual ways of storing subs (RT#130050)
- fix test for modules broken by newer Moo versions when new enough
CPAN::Meta version is not available
- fix undeferring subs before wrapping with a method modifier when subs to
wrap are given as a list or array ref
- fix error reporting locations from Carp calls in DEMOLISH (RT#124845)
- fix extending attributes (has +) to allow overriding a default with a
builder (RT#130361)
- fix re-throwing Moose inflation exceptions when examining exception
objects on older Moose or Devel::StackTrace versions
- reorganized documentation related to Moose to improve clarity
- improved documentation of usage with namespace::clean
- various documentation tweaks
1.76 Mon Mar 11 14:49:14 EDT 2019
* GH#68: Default module templates will now use test_requires
where appropriate (Dan Book)
* GH#70: License metadata and blurbs are now handled by
Software::License (Dan Book)
* GH#70: Add --genlicense option to generate LICENSE file (Dan Book)
5.20191020
- Updated for v5.31.5
5.20190920
- Updated for v5.31.4
5.20190820
- Updated for v5.31.3
5.20190720
- Updated for v5.31.2
5.20190620
- Updated for v5.31.1
5.20190524
- Updated for v5.31.0
5.20190522
- Updated for v5.30.0
1.01 2019-08-08
- Fixed not to set an error message when extracted nicely
(spotted by Martin Becker++)
- Fixed to restore mtime of MANIFEST.SKIP if it is modified by
#include_default
- Improved primary module detection
- Fixed to catch CPAN::Meta::YAML's warnings (of duplicate keys)
- Improved test_prereqs_match to handle t::lib::Util, and ignore
files that contain but don't end with .t
- Fixed to store multiple licenses in META files
version 4.16 at 2019-10-20 14:44:37 +0000
-----------------------------------------
Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
Updated for v5.31.5
0.87
- Released at 2019-10-25T22:55:40+0900
- Thanks to our contributors: Branislav Zahradník,
Christopher Chavez, Jon Jacobson, Konstantin S. Uvarin,
Pali, Shoichi Kaji, Toasz Konojacki, jkjacobson, rage311
- Use the new official repo url for fetching perl blead. Github issue #677
- Add `--min` and `--max` options to `exec` command. Github PR #656
- Fix "ERROR: Cannot find the tarball for perl-$version". Github PR #669
- Fix calling patchperl on readonly files. Github PR #674
- Fix installation from local tarbal files. See
https://rt.cpan.org/Ticket/Display.html?id=129871
- Internal refactoring. Github PR #667, #662
- Various corrections of documentation. Github PR #676, #660
0.4229 - Tue Apr 16 00:49:45 CEST 2019
- Released 0.42_28 without changes
0.42_28 - Thu Apr 19 16:34:32 CEST 2018
- Replace "MOTIVATIONS" section with "COMPARISON" [Dan Brook]
- Update configure, build, test prereqs [Karen Etheridge]
0.4227 - Wed Dec 13 11:17:51 CET 2017
- Released 0.42_26 without changes
0.42_26 - Wed Dec 13 10:52:39 CET 2017
- Improve pureperl-only support (#119914) [Shoichi Kaji]
- Improve the documentation of Module::Build::Compat and
dynamic_config [Dan Brook]
Accerciser is an interactive Python accessibility explorer for the
GNOME desktop. It uses AT-SPI2 to inspect and control widgets,
allowing you to check if an application is providing correct
information to assistive technologies and automated test frameworks.
Accerciser has a simple plugin framework which you can use to create
custom views of accessibility information.
In essence, Accerciser is a next generation at-poke tool.
(pkgsrc)
- Converted BUILD_DEPENDS to TEST_DEPENDS
- Dropped one BUILD_DEPENDS and Added one TEST_DEPENDS
(upstream)
2.026000 14.3.19
* Added (back, syntax modified for ES2.x) example script
top20_favorites (Mickey)
* Updated SYNOPSIS for Favorite (Mickey, Olaf Alders)
* Fixed link to Search Spec (Renee Baecker, GH#101)
* Fixed typo in error message (Johann Rolschewski, GH#100)
v1.13.1
* deprecate the way to declare in cdef() a global variable with only void *foo;. You should always use a storage class, like extern void *foo; or maybe static void *foo;. These are all equivalent for the purposes of cdef(), but the reason for deprecating the bare version is that (as far as I know) it would always be mistake in a real C header.
* fix the regression RuntimeError: found a situation in which we try to build a type recursively.
* fixed issue 427 where a multithreading mistake in the embedding logic initialization code would cause deadlocks on CPython 3.7.
5.1:
Surgically restore support for older setuptools versions.
5.0
Prefer pyproject.toml
Refresh package metadata.
This release now intentionally introduces the changes unintionally brought about in 4.5 and 4.3, where the adoption of declarative config adds a new requirement on setuptools 30.4 or later. On systems running older setuptools, installation of pytest-runner via easy_install (or setup_requires), will result in a DistributionNotFound exception.
All projects should pin to pytest-runner < 5 or upgrade the environment to setuptools >= 30.4 (prior to invoking setup.py).
pytest 5.2.2:
Bug Fixes
- Fix ``--nf`` to not forget about known nodeids with partial test selection.
- Fix crash with ``KeyboardInterrupt`` during ``--setup-show``.
- Fixed issue when parametrizing fixtures with numpy arrays (and possibly other sequence-like types).
- Properly ignore ``FileNotFoundError`` exceptions when trying to remove old temporary directories,
for instance when multiple processes try to remove the same directory (common with ``pytest-xdist``
for example).
Based on Release 2019-10-07.
Changelog
=========
- configure: Some shells report a syntax error with "< file (cmd)"
and need the redirection statement to be *after* the command. Our
changes to support the V7 shell by adding round braces caused ash
variants like "dash" to fail.
Thanks to Harald van Dijk for reporting
- cont/cc-config.sh: canged some :>some-file statements into
(:)>some-file. they have meen missed when introducing work arounds
for the V7 Shell on Ultrix that does not support I/O redirection
for builtin commands.
Thanks to Robert Clausecker for reporting
- smake: The error message for failed shell commands has been modified
to "Code %d (%s) from command line..." in order to cause less confusion
with the text printed by smake.
The text for %s is the strerror() result for the exit code if
applicable.
Thanks to Robert Clausecker for reporting
1.11.2:
* The *pytest introspection follows* message is no longer shown
if there is no pytest introspection.
* ``mocker`` now raises a ``TypeError`` when used as a context-manager.
v1.1.3
* Another dummy release to sort out missing wheels (hopefully).
v1.1.2
* Another dummy release to sort out missing wheels (hopefully).
v1.1.1
* Dummy release to sort out CI issues.
v1.1.0
* New marker `pytest.mark.forked` to fork before individual tests.
Update ruby-docile to 1.3.2.
## v1.3.2 (2019-06-12)
- Special thanks (again!) to Taichi Ishitani (@taichi-ishitani):
- Fix for DSL object is replaced when #dsl_eval is nested (#33, PR #34)
Update hoe to 3.18.1.
=== 3.18.1 / 2019-09-14
* 1 minor enhancement:
* Added deprecations to minitest/test_task: TESTOPTS, N (for #threads), FILTER.
* 3 bug fixes:
* Fixed one use of Array.prepend on ruby 2.3-2.4.
* Removed FILTER/N/X handling from hoe/test.rb in favor of minitest/test_task.rb.
* Sort globs before shuffling to normalize different file systems.
Update ZenTest to 4.12.0
=== 4.12.0 / 2019-09-22
* 3 major enhancements:
* Deleted autotest from project. Use minitest-autotest instead.
* Removed multiruby_setup. Use ruby-install or ruby-build or install your own.
* Update multiruby to use ~/.rubies (default for ruby-install).
* 4 minor enhancements:
* Find and use the multiruby next to multigem.
* multiruby ignores GEM_HOME and GEM_PATH (to allow multigem to work).
* multiruby respects global `multiruby_skip` entries in `~/.hoerc`.
* multiruby sorts versions properly so glob ordering is consistent.
* 1 bug fix:
* Removed hacks for rbx because nobody uses rbx.
upstream changes:
-----------------
GNU Bison NEWS
* Noteworthy changes in release 3.4.2 (2019-09-12) [stable]
** Bug fixes
In some cases, when warnings are disabled, bison could emit tons of white
spaces as diagnostics.
When running out of memory, bison could crash (found by fuzzing).
When defining twice the EOF token, bison would crash.
New warnings from recent compilers have been addressed in the generated
parsers (yacc.c, glr.c, glr.cc).
When lone carriage-return characters appeared in the input file,
diagnostics could hang forever.
* Noteworthy changes in release 3.4.1 (2019-05-22) [stable]
** Bug fixes
Portability fixes.
* Noteworthy changes in release 3.4 (2019-05-19) [stable]
** Deprecated features
The %pure-parser directive is deprecated in favor of '%define api.pure'
since Bison 2.3b (2008-05-27), but no warning was issued; there is one
now. Note that since Bison 2.7 you are strongly encouraged to use
'%define api.pure full' instead of '%define api.pure'.
** New features
*** Colored diagnostics
As an experimental feature, diagnostics are now colored, controlled by the
new options --color and --style.
To use them, install the libtextstyle library before configuring Bison.
It is available from
https://alpha.gnu.org/gnu/gettext/
for instance
https://alpha.gnu.org/gnu/gettext/libtextstyle-0.8.tar.gz
The option --color supports the following arguments:
- always, yes: Enable colors.
- never, no: Disable colors.
- auto, tty (default): Enable colors if the output device is a tty.
To customize the styles, create a CSS file similar to
/* bison-bw.css */
.warning { }
.error { font-weight: 800; text-decoration: underline; }
.note { }
then invoke bison with --style=bison-bw.css, or set the BISON_STYLE
environment variable to "bison-bw.css".
*** Disabling output
When given -fsyntax-only, the diagnostics are reported, but no output is
generated.
The name of this option is somewhat misleading as bison does more than
just checking the syntax: every stage is run (including checking for
conflicts for instance), except the generation of the output files.
*** Include the generated header (yacc.c)
Before, when --defines is used, bison generated a header, and pasted an
exact copy of it into the generated parser implementation file. If the
header name is not "y.tab.h", it is now #included instead of being
duplicated.
To use an '#include' even if the header name is "y.tab.h" (which is what
happens with --yacc, or when using the Autotools' ylwrap), define
api.header.include to the exact argument to pass to #include. For
instance:
%define api.header.include {"parse.h"}
or
%define api.header.include {<parser/parse.h>}
*** api.location.type is now supported in C (yacc.c, glr.c)
The %define variable api.location.type defines the name of the type to use
for locations. When defined, Bison no longer defines YYLTYPE.
This can be used in programs with several parsers to factor their
definition of locations: let one of them generate them, and the others
just use them.
** Changes
*** Graphviz output
In conformance with the recommendations of the Graphviz team, if %require
"3.4" (or better) is specified, the option --graph generates a *.gv file
by default, instead of *.dot.
*** Diagnostics overhaul
Column numbers were wrong with multibyte characters, which would also
result in skewed diagnostics with carets. Beside, because we were
indenting the quoted source with a single space, lines with tab characters
were incorrectly underlined.
To address these issues, and to be clearer, Bison now issues diagnostics
as GCC9 does. For instance it used to display (there's a tab before the
opening brace):
foo.y:3.37-38: error: $2 of ‘expr’ has no declared type
expr: expr '+' "number" { $$ = $1 + $2; }
^~
It now reports
foo.y:3.37-38: error: $2 of ‘expr’ has no declared type
3 | expr: expr '+' "number" { $$ = $1 + $2; }
| ^~
Other constructs now also have better locations, resulting in more precise
diagnostics.
*** Fix-it hints for %empty
Running Bison with -Wempty-rules and --update will remove incorrect %empty
annotations, and add the missing ones.
*** Generated reports
The format of the reports (parse.output) was improved for readability.
*** Better support for --no-line.
When --no-line is used, the generated files are now cleaner: no lines are
generated instead of empty lines. Together with using api.header.include,
that should help people saving the generated files into version control
systems get smaller diffs.
** Documentation
A new example in C shows an simple infix calculator with a hand-written
scanner (examples/c/calc).
A new example in C shows a reentrant parser (capable of recursive calls)
built with Flex and Bison (examples/c/reccalc).
There is a new section about the history of Yaccs and Bison.
** Bug fixes
A few obscure bugs were fixed, including the second oldest (known) bug in
Bison: it was there when Bison was entered in the RCS version control
system, in December 1987. See the NEWS of Bison 3.3 for the previous
oldest bug.
* Noteworthy changes in release 3.3.2 (2019-02-03) [stable]
** Bug fixes
Bison 3.3 failed to generate parsers for grammars with unused nonterminal
symbols.
* Noteworthy changes in release 3.3.1 (2019-01-27) [stable]
** Changes
The option -y/--yacc used to imply -Werror=yacc, which turns uses of Bison
extensions into errors. It now makes them simple warnings (-Wyacc).
* Noteworthy changes in release 3.3 (2019-01-26) [stable]
A new mailing list was created, Bison Announce. It is low traffic, and is
only about announcing new releases and important messages (e.g., polls
about major decisions to make).
https://lists.gnu.org/mailman/listinfo/bison-announce
** Backward incompatible changes
Support for DJGPP, which has been unmaintained and untested for years, is
removed.
** Deprecated features
A new feature, --update (see below) helps adjusting existing grammars to
deprecations.
*** Deprecated directives
The %error-verbose directive is deprecated in favor of '%define
parse.error verbose' since Bison 3.0, but no warning was issued.
The '%name-prefix "xx"' directive is deprecated in favor of '%define
api.prefix {xx}' since Bison 3.0, but no warning was issued. These
directives are slightly different, you might need to adjust your code.
%name-prefix renames only symbols with external linkage, while api.prefix
also renames types and macros, including YYDEBUG, YYTOKENTYPE,
yytokentype, YYSTYPE, YYLTYPE, etc.
Users of Flex that move from '%name-prefix "xx"' to '%define api.prefix
{xx}' will typically have to update YY_DECL from
#define YY_DECL int xxlex (YYSTYPE *yylval, YYLTYPE *yylloc)
to
#define YY_DECL int xxlex (XXSTYPE *yylval, XXLTYPE *yylloc)
*** Deprecated %define variable names
The following variables, mostly related to parsers in Java, have been
renamed for consistency. Backward compatibility is ensured, but upgrading
is recommended.
abstract -> api.parser.abstract
annotations -> api.parser.annotations
extends -> api.parser.extends
final -> api.parser.final
implements -> api.parser.implements
parser_class_name -> api.parser.class
public -> api.parser.public
strictfp -> api.parser.strictfp
** New features
*** Generation of fix-its for IDEs/Editors
When given the new option -ffixit (aka -fdiagnostics-parseable-fixits),
bison now generates machine readable editing instructions to fix some
issues. Currently, this is mostly limited to updating deprecated
directives and removing duplicates. For instance:
$ cat foo.y
%error-verbose
%define parser_class_name "Parser"
%define api.parser.class "Parser"
%%
exp:;
See the "fix-it:" lines below:
$ bison -ffixit foo.y
foo.y:1.1-14: warning: deprecated directive, use '%define parse.error verbose' [-Wdeprecated]
%error-verbose
^~~~~~~~~~~~~~
fix-it:"foo.y":{1:1-1:15}:"%define parse.error verbose"
foo.y:2.1-34: warning: deprecated directive, use '%define api.parser.class {Parser}' [-Wdeprecated]
%define parser_class_name "Parser"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fix-it:"foo.y":{2:1-2:35}:"%define api.parser.class {Parser}"
foo.y:3.1-33: error: %define variable 'api.parser.class' redefined
%define api.parser.class "Parser"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.y:2.1-34: previous definition
%define parser_class_name "Parser"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fix-it:"foo.y":{3:1-3:34}:""
foo.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
This uses the same output format as GCC and Clang.
*** Updating grammar files
Fixes can be applied on the fly. The previous example ends with the
suggestion to re-run bison with the option -u/--update, which results in a
cleaner grammar file.
$ bison --update foo.y
[...]
bison: file 'foo.y' was updated (backup: 'foo.y~')
$ cat foo.y
%define parse.error verbose
%define api.parser.class {Parser}
%%
exp:;
*** Bison is now relocatable
If you pass '--enable-relocatable' to 'configure', Bison is relocatable.
A relocatable program can be moved or copied to a different location on
the file system. It can also be used through mount points for network
sharing. It is possible to make symbolic links to the installed and moved
programs, and invoke them through the symbolic link.
*** %expect and %expect-rr modifiers on individual rules
One can now document (and check) which rules participate in shift/reduce
and reduce/reduce conflicts. This is particularly important GLR parsers,
where conflicts are a normal occurrence. For example,
%glr-parser
%expect 1
%%
...
argument_list:
arguments %expect 1
| arguments ','
| %empty
;
arguments:
expression
| argument_list ',' expression
;
...
Looking at the output from -v, one can see that the shift-reduce conflict
here is due to the fact that the parser does not know whether to reduce
arguments to argument_list until it sees the token _after_ the following
','. By marking the rule with %expect 1 (because there is a conflict in
one state), we document the source of the 1 overall shift-reduce conflict.
In GLR parsers, we can use %expect-rr in a rule for reduce/reduce
conflicts. In this case, we mark each of the conflicting rules. For
example,
%glr-parser
%expect-rr 1
%%
stmt:
target_list '=' expr ';'
| expr_list ';'
;
target_list:
target
| target ',' target_list
;
target:
ID %expect-rr 1
;
expr_list:
expr
| expr ',' expr_list
;
expr:
ID %expect-rr 1
| ...
;
In a statement such as
x, y = 3, 4;
the parser must reduce x to a target or an expr, but does not know which
until it sees the '='. So we notate the two possible reductions to
indicate that each conflicts in one rule.
This feature needs user feedback, and might evolve in the future.
*** C++: Actual token constructors
When variants and token constructors are enabled, in addition to the
type-safe named token constructors (make_ID, make_INT, etc.), we now
generate genuine constructors for symbol_type.
For instance with these declarations
%token ':'
<std::string> ID
<int> INT;
you may use these constructors:
symbol_type (int token, const std::string&);
symbol_type (int token, const int&);
symbol_type (int token);
Correct matching between token types and value types is checked via
'assert'; for instance, 'symbol_type (ID, 42)' would abort. Named
constructors are preferable, as they offer better type safety (for
instance 'make_ID (42)' would not even compile), but symbol_type
constructors may help when token types are discovered at run-time, e.g.,
[a-z]+ {
if (auto i = lookup_keyword (yytext))
return yy::parser::symbol_type (i);
else
return yy::parser::make_ID (yytext);
}
*** C++: Variadic emplace
If your application requires C++11 and you don't use symbol constructors,
you may now use a variadic emplace for semantic values:
%define api.value.type variant
%token <std::pair<int, int>> PAIR
in your scanner:
int yylex (parser::semantic_type *lvalp)
{
lvalp->emplace <std::pair<int, int>> (1, 2);
return parser::token::PAIR;
}
*** C++: Syntax error exceptions in GLR
The glr.cc skeleton now supports syntax_error exceptions thrown from user
actions, or from the scanner.
*** More POSIX Yacc compatibility warnings
More Bison specific directives are now reported with -y or -Wyacc. This
change was ready since the release of Bison 3.0 in September 2015. It was
delayed because Autoconf used to define YACC as `bison -y`, which resulted
in numerous warnings for Bison users that use the GNU Build System.
If you still experience that problem, either redefine YACC as `bison -o
y.tab.c`, or pass -Wno-yacc to Bison.
*** The tables yyrhs and yyphrs are back
Because no Bison skeleton uses them, these tables were removed (no longer
passed to the skeletons, not even computed) in 2008. However, some users
have expressed interest in being able to use them in their own skeletons.
** Bug fixes
*** Incorrect number of reduce-reduce conflicts
On a grammar such as
exp: "num" | "num" | "num"
bison used to report a single RR conflict, instead of two. This is now
fixed. This was the oldest (known) bug in Bison: it was there when Bison
was entered in the RCS version control system, in December 1987.
Some grammar files might have to adjust their %expect-rr.
*** Parser directives that were not careful enough
Passing invalid arguments to %nterm, for instance character literals, used
to result in unclear error messages.
** Documentation
The examples/ directory (installed in .../share/doc/bison/examples) has
been restructured per language for clarity. The examples come with a
README and a Makefile. Not only can they be used to toy with Bison, they
can also be starting points for your own grammars.
There is now a Java example, and a simple example in C based on Flex and
Bison (examples/c/lexcalc/).
** Changes
*** Parsers in C++
They now use noexcept and constexpr. Please, report missing annotations.
*** Symbol Declarations
The syntax of the variation directives to declare symbols was overhauled
for more consistency, and also better POSIX Yacc compliance (which, for
instance, allows "%type" without actually providing a type). The %nterm
directive, supported by Bison since its inception, is now documented and
officially supported.
The syntax is now as follows:
%token TAG? ( ID NUMBER? STRING? )+ ( TAG ( ID NUMBER? STRING? )+ )*
%left TAG? ( ID NUMBER? )+ ( TAG ( ID NUMBER? )+ )*
%type TAG? ( ID | CHAR | STRING )+ ( TAG ( ID | CHAR | STRING )+ )*
%nterm TAG? ID+ ( TAG ID+ )*
where TAG denotes a type tag such as ‘<ival>’, ID denotes an identifier
such as ‘NUM’, NUMBER a decimal or hexadecimal integer such as ‘300’ or
‘0x12d’, CHAR a character literal such as ‘'+'’, and STRING a string
literal such as ‘"number"’. The post-fix quantifiers are ‘?’ (zero or
one), ‘*’ (zero or more) and ‘+’ (one or more).
pytest 5.2.1:
Bug Fixes
* Fix warnings about deprecated cmp attribute in attrs>=19.2.
pytest 5.2.0:
Deprecations
* Passing arguments to pytest.fixture() as positional arguments is deprecated - pass them as a keyword argument instead.
Features
* The scope parameter of @pytest.fixture can now be a callable that receives the fixture name and the config object as keyword-only parameters. See the docs for more information.
* New behavior of the --pastebin option: failures to connect to the pastebin server are reported, without failing the pytest run
Bug Fixes
* Fix “lexer” being used when uploading to bpaste.net from --pastebin to “text”.
* Fix --setup-only and --setup-show for custom pytest items.
Trivial/Internal Changes
* The HelpFormatter uses py.io.get_terminal_width for better width detection.
pytest 5.1.3:
Bug Fixes
* Fix pypy3.6 (nightly) on windows.
* Handle --fulltrace correctly with pytest.raises.
* Windows: Fix regression with conftest whose qualified name contains uppercase characters.
pytest 5.1.2:
Bug Fixes
* Fixed self reference in function-scoped fixtures defined plugin classes: previously self would be a reference to a test class, not the plugin class.
* Fixed long standing issue where fixture scope was not respected when indirect fixtures were used during parametrization.
* Fix decoding error when printing an error response from --pastebin.
* Chained exceptions in test and collection reports are now correctly serialized, allowing plugins like pytest-xdist to display them properly.
* Windows: Fix error that occurs in certain circumstances when loading conftest.py from a working directory that has casing other than the one stored in the filesystem (e.g., c:\test instead of C:\test).
pytest 5.1.1:
Bug Fixes
* Fixed TypeError when importing pytest on Python 3.5.0 and 3.5.1.
pytest 5.1.0:
Removals
* As per our policy, the following features have been deprecated in the 4.X series and are now removed:
Request.getfuncargvalue: use Request.getfixturevalue instead.
pytest.raises and pytest.warns no longer support strings as the second argument.
message parameter of pytest.raises.
pytest.raises, pytest.warns and ParameterSet.param now use native keyword-only syntax. This might change the exception message from previous versions, but they still raise TypeError on unknown keyword arguments as before.
pytest.config global variable.
tmpdir_factory.ensuretemp method.
pytest_logwarning hook.
RemovedInPytest4Warning warning type.
request is now a reserved name for fixtures.
For more information consult Deprecations and Removals in the docs.
* Removed unused support code for unittest2.
* pytest.fail, pytest.xfail and pytest.skip no longer support bytes for the message argument.
Features
* New Config.invocation_args attribute containing the unchanged arguments passed to pytest.main().
* New NUMBER option for doctests to ignore irrelevant differences in floating-point numbers. Inspired by Sébastien Boisgérault’s numtest extension for doctest.
Improvements
* JUnit XML now includes a timestamp and hostname in the testsuite tag.
* Time taken to run the test suite now includes a human-readable representation when it takes over 60 seconds, for example:
Bug Fixes
* Fix RuntimeError/StopIteration when trying to collect package with “__init__.py” only.
* Warnings issued during pytest_configure are explicitly not treated as errors, even if configured as such, because it otherwise completely breaks pytest.
* The XML file produced by --junitxml now correctly contain a <testsuites> root element.
* Fix issue where tmp_path and tmpdir would not remove directories containing files marked as read-only, which could lead to pytest crashing when executed a second time with the --basetemp option.
* Replace importlib_metadata backport with importlib.metadata from the standard library on Python 3.8+.
* Improve type checking for some exception-raising functions (pytest.xfail, pytest.skip, etc) so they provide better error messages when users meant to use marks (for example @pytest.xfail instead of @pytest.mark.xfail).
* Fixed internal error when test functions were patched with objects that cannot be compared for truth values against others, like numpy arrays.
* pytest.exit is now correctly handled in unittest cases. This makes unittest cases handle quit from pytest’s pdb correctly.
* Improved output when parsing an ini configuration file fails.
* Fix collection of staticmethod objects defined with functools.partial.
* Skip async generator test functions, and update the warning message to refer to async def functions.
Improved Documentation
* Add docstring for Testdir.copy_example.
Trivial/Internal Changes
* XML files of the xunit2 family are now validated against the schema by pytest’s own test suite to avoid future regressions.
* Cache node splitting function which can improve collection performance in very large test suites.
* Simplified internal SafeRepr class and removed some dead code.
* When invoking pytest’s own testsuite with PYTHONDONTWRITEBYTECODE=1, the test_xfail_handling test no longer fails.
* Replace manual handling of OSError.errno in the codebase by new OSError subclasses (PermissionError, FileNotFoundError, etc.).
pytest 5.0.1:
Bug Fixes
* Improve quoting in raises match failure message.
* Fixed using multiple short options together in the command-line (for example -vs) in Python 3.8+.
* --step-wise now handles xfail(strict=True) markers properly.
Improved Documentation
* Improve “Declaring new hooks” section in chapter “Writing Plugins”
pytest 5.0.0:
Important
This release is a Python3.5+ only release.
For more details, see our Python 2.7 and 3.4 support plan.
Removals
* Pytest no longer accepts prefixes of command-line arguments, for example typing pytest --doctest-mod inplace of --doctest-modules. This was previously allowed where the ArgumentParser thought it was unambiguous, but this could be incorrect due to delayed parsing of options for plugins.
* PytestDeprecationWarning are now errors by default.
* ExceptionInfo objects (returned by pytest.raises) now have the same str representation as repr, which avoids some confusion when users use print(e) to inspect the object.
pytest 4.6.6:
Bug Fixes
* Fixed using multiple short options together in the command-line (for example -vs) in Python 3.8+.
* Replace importlib_metadata backport with importlib.metadata from the standard library on Python 3.8+.
* Fix “lexer” being used when uploading to bpaste.net from --pastebin to “text”.
* Fix warnings about deprecated cmp attribute in attrs>=19.2.
Trivial/Internal Changes
* Fixes python version checks (detected by flake8-2020) in case python4 becomes a thing.
4.41.3:
This patch is to ensure that our internals remain comprehensible to :pypi:`mypy` 0.740 - there is no user-visible change.
4.41.2:
This patch changes some internal hashes to SHA384, to better support users subject to FIPS-140. There is no user-visible API change.
4.41.1:
This release makes --hypothesis-show-statistics much more useful for tests using a :class:`~hypothesis.stateful.RuleBasedStateMachine`, by simplifying the reprs so that events are aggregated correctly.
4.41.0:
This release upgrades the :func:`~hypothesis.strategies.fixed_dictionaries` strategy to support optional keys (:issue:`1913`).
4.40.2:
This release makes some minor internal changes in support of improving the Hypothesis test suite. It should not have any user visible impact.
4.40.1:
This release changes how Hypothesis checks if a parameter to a test function is a mock object. It is unlikely to have any noticeable effect, but may result in a small performance improvement, especially for test functions where a mock object is being passed as the first argument.
4.40.0:
This release fixes a bug where our example database logic did not distinguish between failing examples based on arguments from a @pytest.mark.parametrize(...). This could in theory cause data loss if a common failure overwrote a rare one, and in practice caused occasional file-access collisions in highly concurrent workloads (e.g. during a 300-way parametrize on 16 cores).
For internal reasons this also involves bumping the minimum supported version of :pypi:`pytest` to 4.3
4.39.3:
This patch improves our type hints on the :func:`~hypothesis.strategies.emails`, :func:`~hypothesis.strategies.functions`, :func:`~hypothesis.strategies.integers`, :func:`~hypothesis.strategies.iterables`, and :func:`~hypothesis.strategies.slices` strategies, as well as the .filter() method.
There is no runtime change, but if you use :pypi:`mypy` or a similar type-checker on your tests the results will be a bit more precise.
4.39.2:
This patch improves the performance of unique collections such as :func:`~hypothesis.strategies.sets` of :func:`~hypothesis.strategies.just` or :func:`~hypothesis.strategies.booleans` strategies. They were already pretty good though, so you're unlikely to notice much!
4.39.1:
If a value in a dict passed to :func:`~hypothesis.strategies.fixed_dictionaries` is not a strategy, Hypothesis now tells you which one.
4.39.0:
This release adds the :func:`~hypothesis.extra.numpy.basic_indices` strategy, to generate basic indexes for arrays of the specified shape (:issue:`1930`).
It generates tuples containing some mix of integers, :obj:`python:slice` objects, ... (Ellipsis), and :obj:`numpy:numpy.newaxis`; which when used to index an array of the specified shape produce either a scalar or a shared-memory view of the array. Note that the index tuple may be longer or shorter than the array shape, and may produce a view with another dimensionality again!
4.38.3:
This patch defers creation of the .hypothesis directory until we have something to store in it, meaning that it will appear when Hypothesis is used rather than simply installed.
4.38.2:
This patch bumps our dependency on :pypi:`attrs` to >=19.2.0; but there are no user-visible changes to Hypothesis.
4.38.1:
This is a comment-only patch which tells :pypi:`mypy` 0.730 to ignore some internal compatibility shims we use to support older Pythons.
4.38.0:
This release adds the :func:`hypothesis.target` function, which implements experimental support for :ref:`targeted property-based testing <targeted-search>` (:issue:`1779`).
By calling :func:`~hypothesis.target` in your test function, Hypothesis can do a hill-climbing search for bugs. If you can calculate a suitable metric such as the load factor or length of a queue, this can help you find bugs with inputs that are highly improbably from unguided generation - however good our heuristics, example diversity, and deduplication logic might be. After all, those features are at work in targeted PBT too!
4.37.0:
This release emits a warning if you use the .example() method of a strategy in a non-interactive context.
:func:`~hypothesis.given` is a much better choice for writing tests, whether you care about performance, minimal examples, reproducing failures, or even just the variety of inputs that will be tested!
4.36.2:
This patch disables part of the :mod:`typing`-based inference for the :pypi:`attrs` package under Python 3.5.0, which has some incompatible internal details (:issue:`2095`).
4.36.1:
This patch fixes a bug in strategy inference for :pypi:`attrs` classes where Hypothesis would fail to infer a strategy for attributes of a generic type such as Union[int, str] or List[bool] (:issue:`2091`).
4.36.0:
This patch deprecates min_len or max_len of 0 in :func:`~hypothesis.extra.numpy.byte_string_dtypes` and :func:`~hypothesis.extra.numpy.unicode_string_dtypes`. The lower limit is now 1.
Numpy uses a length of 0 in these dtypes to indicate an undetermined size, chosen from the data at array creation. However, as the :func:`~hypothesis.extra.numpy.arrays` strategy creates arrays before filling them, strings were truncated to 1 byte.
4.35.1:
This patch improves the messaging that comes from invalid size arguments to collection strategies such as :func:`~hypothesis.strategies.lists`.
4.35.0:
This release improves the :func:`~hypothesis.extra.lark.from_lark` strategy, tightening argument validation and adding the explicit argument to allow use with terminals that use @declare instead of a string or regular expression.
This feature is required to handle features such as indent and dedent tokens in Python code, which can be generated with the :pypi:`hypothesmith` package.
4.34.0:
The :func:`~hypothesis.strategies.from_type` strategy now knows to look up the subclasses of abstract types, which cannot be instantiated directly.
This is very useful for :pypi:`hypothesmith` to support :pypi:`libCST`.
Update php-xdebug to 2.7.2.
2.7.1 (2019-04-05)
= Fixed bugs:
- Fixed issue #1646: Missing newline in error message
- Fixed issue #1647: Memory corruption when a conditional breakpoint is used
- Fixed issue #1641: Perfomance degradation with getpid syscall (Kees
Hoekzema)
2.7.2 (2019-05-06)
= Fixed bugs:
- Fixed issue #1488: Rewrite DBGp 'property_set' to always use eval
- Fixed issue #1586: error_reporting()'s return value is incorrect during
debugger's 'eval' command
- Fixed issue #1615: Turn off Zend OPcache when remote debugger is turned on
- Fixed issue #1656: remote_connect_back alters header if multiple values
are present
- Fixed issue #1662: __debugInfo should not be used for user-defined classes
1.5.0
- Add --ignore-decorators option which allows functions with a specific
decorator to ignore error codes.
1.4.0
- Add --docstring-convention option which allows selection of conventions
besides the default pep257. Available options are based on those
available from pydocstyle and are currently pep257, google, and
numpy. flake8-docstrings also adds a special all docstring
convention which will enable all rules from pydocstyle. Note that
pydocstyle defines some conflicting rules so you'll want to use
ignore / extend-ignore when selecting docstring-convention = all
- Bump minimum flake8 version to 3
- Fix proper handling of stdin via --stdin-display-name
* pkgsrc *
- Converted BUILD_DEPENDS to TEST_DEPENDS, but two left at BUILD_DEPENDS,
for TEST_DEPENDS are not enough. They are asked for source expanded at
test time.
* upstream ChangeLog *
version 1.28:
Fixes:
- Dancer2 version 0.166001 is too old as well. [cpantesters]
- call to wasFatal($class)/reportFatal($class) without exception
autovivified an 'undef' in the exception list. [Andrew Beverley]
- fatal exception not always the last in try() block.