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.
From homepage:
pylint-common
Note: No longer maintained
This was used as part off prospector but has been removed. It is no longer maintained (in this fork at least) as most of the functions are now replaced by pylint builtins or are no longer valid.
5.1.3 Includes several bugfixes and internal logic improvements.
- Fix comm shutdown behavior by adding a ``deleting`` option to ``close`` which can be set to prevent registering new comm channels during shutdown
- Fix ``Heartbeat._bind_socket`` to return on the first bind
- Moved ``InProcessKernelClient.flush`` to ``DummySocket``
- Don't redirect stdout if nose machinery is not present
- Rename `_asyncio.py` to `_asyncio_utils.py` to avoid name conflicts on Python 3.6+
- Only generate kernelspec when installing or building wheel
- Fix priority ordering of control-channel messages in some cases
4.3.3 backports some small bugfixes and improvements:
- Adds :attr:`Application.loaded_config_files` property for accessing config files that have been loaded
and makes the property idempotent on multiple loads.
0.15.4:
* Fix a GC traversal bug in pvector evolver C extension.
* Fix pytest 5 compatibility, this is a quick fix, some more work is needed to get coverage working etc.
0.15.3:
* Fix catch all exceptions during extension build to reduce chance of corner cases that prevents installation.
* Fix in PVector equality comparison don's assume that other object has a length, check before calling len.
* Fix write warning about failing build of C extension directly to stderr to avoid that pip silences it.
* Fix update PMapEvolver type stub to better reflect implementation.
0.15.2:
* Propagate 'ignore_extra' param in hierarchy.
* Fix thaw typing.
* Fix not possible to insert empty pmap as leaf node with transform.
0.15.1:
* Fix installation broken on Python 2.
0.15.0:
* Python 3.4 is no longer officially supported since it is EOL since 2019-03-18.
* Fix major improvements to type hints.
* Fix installation fails on some Windows platforms because fallback to Python pvector does not work.
v0.30.0:
This release adds support for half-precision float and schedules the
deprecation of memset/memcpy accepting 5 arguments (cf. LLVM change).
* Fix use of -fPIC flag in wheels
* Remove restriction on sphinx version from Anaconda distro
* fix for block labels which contain "interesting" characters
* Deprecate the use of memset/memcpy with alias
* Add fp16 Intrinsics
* Add Half-Precision Type
* Add -fPIC flag for manylinux1 wheel building
* Fix incorrect hierarchy in the documentation for ir.Constant.
* Update docs
* Fix leak on string returning APIs.
9.0.0:
Non-comprehensive list of changes in this release
ELF Improvements
ld.lld now has typo suggestions for flags: $ ld.lld --call-shared now prints unknown argument '--call-shared', did you mean '--call_shared'.
--allow-shlib-undefined and --no-allow-shlib-undefined options are added. --no-allow-shlib-undefined is the default for executables.
-nmagic and -omagic options are fully supported.
Segment layout has changed. PT_GNU_RELRO, which was previously placed in the middle of readable/writable PT_LOAD segments, is now placed at the beginning of them. This change permits lld-produced ELF files to be read correctly by GNU strip older than 2.31, which has a bug to discard a PT_GNU_RELRO in the former layout.
-z common-page-size is supported.
Diagnostics messages have improved. A new flag --vs-diagnostics alters the format of diagnostic output to enable source hyperlinks in Microsoft Visual Studio IDE.
Linker script compatibility with GNU BFD linker has generally improved.
The clang --dependent-library form of autolinking is supported.
This feature is added to implement the Windows-style autolinking for Unix. On Unix, in order to use a library, you usually have to include a header file provided by the library and then explicitly link the library with the linker -l option. On Windows, header files usually contain pragmas that list needed libraries. Compilers copy that information to object files, so that linkers can automatically link needed libraries. --dependent-library is added for implementing that Windows semantics on Unix.
AArch64 BTI and PAC are supported.
lld now supports replacing JAL with JALX instructions in case of MIPS-microMIPS cross-mode jumps.
lld now creates LA25 thunks for MIPS R6 code.
Put MIPS-specific .reginfo, .MIPS.options, and .MIPS.abiflags sections into corresponding PT_MIPS_REGINFO, PT_MIPS_OPTIONS, and PT_MIPS_ABIFLAGS segments.
The quality of RISC-V and PowerPC ports have greatly improved. Many applications can now be linked by lld. PowerPC64 is now almost production ready.
The Linux kernel for arm32_7, arm64, ppc64le and x86_64 can now be linked by lld.
x86-64 TLSDESC is supported.
DF_STATIC_TLS flag is set for i386 and x86-64 when needed.
The experimental partitioning feature is added to allow a program to be split into multiple pieces.
The feature allows you to semi-automatically split a single program into multiple ELF files called “partitions”. Since all partitions share the same memory address space and don’t use PLT/GOT, split programs run as fast as regular programs.
With the mechanism, you can start a program only with a “main” partition and load remaining partitions on-demand. For example, you can split a web browser into a main partition and a PDF reader sub-partition and load the PDF reader partition only when a user tries to open a PDF file.
See the documentation for more information.
If “-” is given as an output filename, lld writes the final result to the standard output. Previously, it created a file “-” in the current directory.
-z ifunc-noplt option is added to reduce IFunc function call overhead in a freestanding environment such as the OS kernel.
Functions resolved by the IFunc mechanism are usually dispatched via PLT and thus slower than regular functions because of the cost of indirection. With -z ifunc-noplt, you can eliminate it by doing text relocations at load-time. You need a special loader to utilize this feature. This feature is added for the FreeBSD kernel but can be used by any operating systems.
--undefined-glob option is added. The new option is an extension to --undefined to take a glob pattern instead of a single symbol name.
COFF Improvements
Like the ELF driver, lld-link now has typo suggestions for flags.
lld-link now correctly reports duplicate symbol errors for object files that were compiled with /Gy.
lld-link now correctly reports duplicate symbol errors when several resource (.res) input files define resources with the same type, name and language. This can be demoted to a warning using /force:multipleres.
lld-link now rejects more than one resource object input files, matching link.exe. Previously, lld-link would silently ignore all but one. If you hit this: Don’t pass resource object files to the linker, instead pass res files to the linker directly. Don’t put resource files in static libraries, pass them on the command line.
Having more than two /natvis: now works correctly; it used to not work for larger binaries before.
Undefined symbols are now printed only in demangled form. Pass /demangle:no to see raw symbol names instead.
Several speed and memory usage improvements.
lld-link now supports resource object files created by GNU windres and MS cvtres, not only llvm-cvtres.
The generated thunks for delayimports now share the majority of code among thunks, significantly reducing the overhead of using delayimport.
IMAGE_REL_ARM{,64}_REL32 relocations are supported.
Range extension thunks for AArch64 are now supported, so lld can create large executables for Windows/ARM64.
The following flags have been added: /functionpadmin
WebAssembly Improvements
Imports from custom module names are supported.
Symbols that are in llvm.used are now exported by default.
Initial support for PIC and dynamic linking has landed.
wasm-ld now add __start_/__stop_ symbols for data sections.
wasm-ld now doesn’t report an error on archives without a symbol index.
The following flags have been added: --emit-relocs
MinGW Improvements
lld now correctly links crtend.o as the last object file, handling terminators for the sections such as .eh_frame properly, fixing DWARF exception handling with libgcc and gcc’s crtend.o.
lld now also handles DWARF unwind info generated by GCC, when linking with libgcc.
PDB output can be requested without manually specifying the PDB file name, with the new option -pdb= with an empty value to the option. (The old existing syntax -pdb <filename> was more cumbersome to use with an empty parameter value.)
--no-insert-timestamp option is added as an alias to /timestamp:0.
Many more GNU ld options are now supported, which e.g. allows the lld MinGW frontend to be called by GCC.
The following options are added: --exclude-all-symbols, --appcontainer, --undefined
1.01 Tue Oct 08 2019
Add less.pm to MANIFEST
Fix interactive test 16
1.00 Mon Oct 07 2019
Fork Term::Pager to IO::Pager::Perl, with many new features.
NOTE: This is a breaking change from 0.43 & 0.44. What was
IO::Pager::Perl in those versions is now IO::Pager::less i.e;
a shim for pager-less systems to use the pure perl pager
implementation in IO::Pager::Perl.
Update bloody version number transclusions. RT#130643
0.44 Mon Sep 30 2019
Remove debugging calls mistakenly left in code. RT#130595
Skip testing on dumb "terminal" setups. RT#130596
Add (unexposed) code for less -J search line highlighting,
and more form feed break to tp (IO::Pager::Perl).
0.43 Sun Sep 29 2019
Roll out a suboptimal but functional IO::Pager::Perl,
fixing RT#130461 and RT#130565
0.42 Thu Sep 05 2019
Disambiguate tee open. RT#127551
Stringify version. RT#127342
Add bignum dependency RT#130319
Add support for eventual Term::Pager v1.5
Update META files.
Overview of changes in Glib::Object::Introspection 0.047
========================================================
* Add missing version checks to t/param-specs.t
* Fix a version check in t/arrays.t
* README: updated project Git URIs
0.22 2019-09-13T15:02:28Z
- Add the statistics method.
- The delete_user method can now take parameters, allowing for use of
the hard_delete parameter.
0.21 2019-08-24T18:56:13Z
- The release endpoint returns a 403 on an unknown tag rather than a
404 like it should. This condition is now detected and treated
like a 404.
0.20 2019-07-23T21:42:37Z
- The preexisting create_release and edit_release methods have been
renamed to create_tag_release and update_tag_release to make room
for the new releases API.
- Added methods for the new (added in GitLab 11.7) releases and
release links APIs.