-------------------------------------------------------------------------------
BACKWARD-INCOMPATIBLE:
* Replace old-style tag-expressions with `cucumber-tag-expressions`_ as ``tag-expressions v2``.
HINTS:
- DEPRECATING: ``tag-expressions v1`` (old-style)
- BUT: Currently, tag-expression version is automatically detected (and used).
* CLI: Cleanup command-line short-options that are seldom used
(short-options for: --no-skipped (-k), --no-multiline (-m), --no-source (-s)).
* parser: No longer strips trailing colon from steps with text/table section.
* Undefined steps need to use StepNotImplementedError (was: NotImplementedError)
GOALS:
- Improve support for Windows (continued)
- FIX: Unicode problems on Windows (in behave-1.2.6)
- FIX: Regression test problems on Windows (in behave-1.2.6)
DEVELOPMENT:
* Renamed default branch of Git repository to "main" (was: "master").
* Use github-actions as CI/CD pipeline (and remove Travis as CI).
* CI: Remove python.version=2.7 for CI pipeline
(reason: No longer supported by Github Actions, date: 2023-07).
* ADDED: pyproject.toml support (hint: "setup.py" will become DEPRECATED soon)
CLEANUPS:
* CLI: Remove unused option ``--expand``
* Remove ``stdout_capture``, ``stderr_capture``, ``log_capture``
attributes from ``behave.runner.Context`` class
(use: ``captured`` attribute instead).
ENHANCEMENTS:
* Add support for step-definitions (step-matchers) with `CucumberExpressions`_
* Add formatter: steps.code -- Shows steps with code-section.
* User-defined formatters: Improve diagnostics if bad formatter is used (ModuleNotFound, ...)
* active-tags: Added ``ValueObject`` class for enhanced control of comparison mechanism
(supports: equals, less-than, less-or-equal, greater-than, greater-or-equal, contains, ...)
* Add support for Gherkin v6 grammar and syntax in ``*.feature`` files
* Use `cucumber-tag-expressions`_ with tag-matching extension (superceeds: old-style tag-expressions)
* Use cucumber "gherkin-languages.json" now (simplify: Gherkin v6 aliases, language usage)
* Support emojis in ``*.feature`` files and steps
* Select-by-location: Add support for "Scenario container" (Feature, Rule, ScenarioOutline) (related to: 391)
* pull 1185: Read Examples table data from CSV file (provided-by: rajanmanwansh)
* issue 1183: Support Background Steps with Placeholders for Scenario Outlines (submitted by: hemendra0851)
* pull 1097: Support And-Step as initial Scenario step if Background Steps exist (provided-by: aneeshdurg)
* pull 988: setup.py: Add category to install additional formatters (html) (provided-by: bittner)
* pull 895: UPDATE: i18n/gherkin-languages.json from cucumber repository 895 (related to: 827)
* issue 889: Warn or error about incorrectly configured formatter aliases (provided by: jenisys, submitted by: bittner)
* pull 827: Fixed keyword translation in Estonian 827 (provided by: ookull)
* issue 740: Enhancement: possibility to add cleanup to be called upon leaving outer context stack frames (submitted by: nizwiz, dcvmoole)
* issue 678: Scenario Outline: Support tags with commas and semicolons (provided by: lawnmowerlatte, pull 679)
* issue 675: Feature files cannot be found within symlink directories (provided by: smadness, pull 680)
CLARIFICATION:
* issue 810: Clarify select-by-name using regex pattern (submitted by: xv-chris-w)
FIXED:
* FIXED: Some tests for python-3.12
* FIXED: Some tests related to python-3.11
* FIXED: Some tests related to python-3.9
* FIXED: active-tag logic if multiple tags with same category exists.
* issue 1177: Bad type-converter pattern: MatchWithError is turned into AmbiguousStep (submitted by: omrischwarz)
* issue 1170: TagExpression auto-detection is not working properly (submitted by: Luca-morphy)
* issue 1154: Config-files are not shown in verbose mode (submitted by: soblom)
* issue 1120: Logging ignoring level set in setup_logging (submitted by: j7an)
* issue 1070: Color support detection: Fails for WindowsTerminal (provided by: jenisys)
* issue 1116: behave erroring in pretty format in pyproject.toml (submitted by: morning-sunn)
* issue 1061: Scenario should inherit Rule tags (submitted by: testgitdl)
* issue 1054: TagExpressions v2: AND concatenation is faulty (submitted by: janoskut)
* pull 967: Update __init__.py in behave import to fix pylint (provided by: dsayling)
* issue 955: setup: Remove attribute 'use_2to3' (submitted by: krisgesling)
* issue 772: ScenarioOutline.Examples without table (submitted by: The-QA-Geek)
* issue 755: Failures with Python 3.8 (submitted by: hroncok)
* issue 725: Scenario Outline description lines seem to be ignored (submitted by: nizwiz)
* issue 713: Background section doesn't support description (provided by: dgou)
* pull 657: Allow async steps with timeouts to fail when they raise exceptions (provided by: ALSchwalm)
* issue 641: Pylint errors when importing given - when - then from behave (solved by: 967)
* issue 631: ScenarioOutline variables not possible in table headings (provided by: mschnelle, pull 642)
* issue 619: Context __getattr__ should raise AttributeError instead of KeyError (submitted by: anxodio)
* pull 588: Steps-catalog argument should not break configured rerun settings (provided by: Lego3)
MINOR:
* issue 1047: Step type is inherited for generic step if possible (submitted by: zettseb)
* issue 958: Replace dashes with underscores to comply with setuptools v54.1.0 958 (submitted by: arrooney)
* issue 800: Cleanups related to Gherkin parser/ParseError question (submitted by: otstanteplz)
* pull 767: FIX: use_fixture_by_tag didn't return the actual fixture in all cases (provided by: jgentil)
* pull 751: gherkin: Adding Rule keyword translation in portuguese and spanish to gherkin-languages.json (provided by: dunossauro)
* pull 660: Fix minor typos (provided by: rrueth)
* pull 655: Use pytest instead of py.test per upstream recommendation (provided by: scop)
* issue 654: tox.ini: pypi.python.org -> pypi.org (submitted by: pradyunsg)
DOCUMENTATION:
* pull 989: Add more tutorial links: Nicole Harris, Nick Coghlan (provided by: ncoghlan, bittner; related: 848)
* pull 877: docs: API reference - Capitalizing Step Keywords in example (provided by: Ibrian93)
* pull 731: Update links to Django docs (provided by: bittner)
* pull 722: DOC remove remaining pythonhosted links (provided by: leszekhanusz)
* pull 701: behave/runner.py docstrings (provided by: spitGlued)
* pull 700: Fix wording of "gherkin.rst" (provided by: spitGlued)
* pull 699: Fix wording of "philosophy.rst" (provided by: spitGlued)
* pull 684: Fix typo in "install.rst" (provided by: mstred)
* pull 628: Changed pythonhosted.org links to readthedocs.io (provided by: chrisbrake)
BREAKING CHANGES (naming):
* behave.configuration.OPTIONS: was ``behave.configuration.options``
* behave.runner.Context._push(layer=None): was Context._push(layer_name=None)
* behave.runner.scoped_context_layer(context, layer=None):
was scoped_context_layer(context.layer_name=None)
.. _`cucumber-tag-expressions`: https://pypi.org/project/cucumber-tag-expressions/
.. _`CucumberExpressions`: https://github.com/cucumber/cucumber-expressions