Commit 94c29d3
committed
py-behave: update to 1.3.0.
Version: 1.3.0 (2025-08-04)
-------------------------------------------------------------------------------
BASED ON: ``Version 1.2.7`` changes
GOALS:
* Will be released on https://pypi.org
* Include all changes from behave v1.2.7 development
* Last version minor version with Python 2.7 support
* ``tag-expressions v2``: Enabled by default ("strict" mode: only v2 supported).
* ``tag-expressions v1``: Disabled by default (in "strict" mode).
BUT: Can be enabled via config-file parameter in "any" mode (supports: v1 and v2).
Version: 1.2.7 (part of: 1.3.0)
-------------------------------------------------------------------------------
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).
* Remove ``@asyncio.coroutine`` decorator examples and tests.
ENHANCEMENTS:
* Async-steps: Now directly supported by step decorators.
* logging: Simplify logging to a file in ``Configuration.setup_logging()``.
* logging: Support additional log-format styles, not only percent-style (since: Python 3.2).
* 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 (supersedes: 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)
* issue #1246: ScenarioOutline: Support template placeholders in ExamplesTable.tags (provided-by: jenisys)
* 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)
* issue #979: Captured log to outfile (submitted by: janoskut)
* 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 #1252: Wrong encoding of Unicode text (czech diacritics) in html report (submitted by: freetomik)
* issue #1251; Installation with pip does not install dependencies (submitted by: marcindulak)
* pull #1249: Fixed having one event loop per async step for python >= 3.10 (provided-by: jeteve; partial)
* issue #1233; RuntimeError: Event loop is closed" in asyncio streams (submitted by: rdpoor)
* issue #1231: TypeConverter error causes error in "pretty" formatter (provided-by: rittneje)
* issue #1202: behave fails with pyproject.toml without any [tool] sections (provided by: con-fah)
* 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 #948: Add support for value substitution in logging config file (submitted by: kowalcj0)
* issue #783: Logging within the environment.py and Fixtures.py doesn't output (submitted by: MichaelAGill)
* 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:
* pull #1214: FIX test_configuration.py: Explicitly provide args ... pytest (provided by: shivaraj-bh)
* 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 #1215: Adding html-pretty formatter documentation entry (provided by: modehnal)
* pull #1166: Document behave ecosystem VSCode IDE support (provided by: kieran-ryan)
* pull #1162: Tutorial: Change Given to When step where Given step is not a setup step (provided by: justintaylor)
* 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)1 parent d55496f commit 94c29d3
4 files changed
Lines changed: 117 additions & 36 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
6 | 5 | | |
7 | 6 | | |
8 | 7 | | |
| |||
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
15 | | - | |
16 | | - | |
17 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
18 | 22 | | |
19 | 23 | | |
20 | | - | |
21 | | - | |
| 24 | + | |
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
25 | | - | |
| 28 | + | |
| 29 | + | |
26 | 30 | | |
27 | 31 | | |
28 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
22 | 31 | | |
23 | 32 | | |
24 | 33 | | |
25 | 34 | | |
26 | 35 | | |
27 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
28 | 55 | | |
29 | 56 | | |
30 | 57 | | |
| |||
34 | 61 | | |
35 | 62 | | |
36 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
37 | 67 | | |
38 | 68 | | |
39 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
40 | 73 | | |
41 | 74 | | |
42 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
43 | 79 | | |
44 | 80 | | |
45 | 81 | | |
| |||
49 | 85 | | |
50 | 86 | | |
51 | 87 | | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
52 | 97 | | |
53 | 98 | | |
54 | 99 | | |
| |||
64 | 109 | | |
65 | 110 | | |
66 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
67 | 118 | | |
68 | 119 | | |
69 | 120 | | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
70 | 127 | | |
71 | 128 | | |
72 | 129 | | |
| |||
97 | 154 | | |
98 | 155 | | |
99 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
100 | 160 | | |
101 | 161 | | |
102 | 162 | | |
| |||
112 | 172 | | |
113 | 173 | | |
114 | 174 | | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
115 | 178 | | |
116 | 179 | | |
117 | 180 | | |
| |||
124 | 187 | | |
125 | 188 | | |
126 | 189 | | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
127 | 199 | | |
128 | 200 | | |
129 | 201 | | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
130 | 205 | | |
131 | 206 | | |
132 | 207 | | |
| |||
142 | 217 | | |
143 | 218 | | |
144 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
145 | 223 | | |
146 | 224 | | |
147 | 225 | | |
148 | 226 | | |
149 | 227 | | |
150 | 228 | | |
151 | | - | |
152 | | - | |
153 | | - | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
154 | 247 | | |
155 | 248 | | |
156 | 249 | | |
| |||
160 | 253 | | |
161 | 254 | | |
162 | 255 | | |
163 | | - | |
164 | | - | |
165 | | - | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
This file was deleted.
0 commit comments