invoke 2.2.0__tar.gz → 2.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {invoke-2.2.0/invoke.egg-info → invoke-2.2.1}/PKG-INFO +1 -4
- {invoke-2.2.0 → invoke-2.2.1}/invoke/_version.py +1 -1
- {invoke-2.2.0 → invoke-2.2.1}/invoke/terminals.py +4 -3
- {invoke-2.2.0 → invoke-2.2.1/invoke.egg-info}/PKG-INFO +1 -4
- {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/SOURCES.txt +2 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/entry_points.txt +0 -1
- invoke-2.2.1/sites/docs/.readthedocs.yaml +13 -0
- invoke-2.2.1/sites/www/.readthedocs.yaml +13 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/changelog.rst +11 -0
- {invoke-2.2.0 → invoke-2.2.1}/LICENSE +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/MANIFEST.in +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/README.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/dev-requirements.txt +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/__main__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/collection.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/bash.completion +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/complete.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/fish.completion +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/zsh.completion +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/config.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/context.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/env.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/exceptions.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/executor.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/loader.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/main.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/argument.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/context.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/parser.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/program.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/py.typed +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/runners.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/tasks.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/util.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/fluidity/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/fluidity/backwardscompat.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/fluidity/machine.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/_version.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/alias_dict.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/attribute_dict.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/composer.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/constructor.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/cyaml.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/dumper.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/emitter.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/error.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/events.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/loader.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/nodes.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/parser.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/reader.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/representer.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/resolver.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/scanner.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/serializer.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/tokens.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke/watchers.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/dependency_links.txt +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/top_level.txt +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/pyproject.toml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/setup.cfg +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/setup.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/_static/rtd.css +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/__init__.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/collection.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/config.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/context.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/exceptions.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/executor.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/loader.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/parser.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/program.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/runners.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/tasks.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/terminals.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/util.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/watchers.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/configuration.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/invoking-tasks.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/library.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/loading.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/namespaces.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/testing.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/watchers.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/conf.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/getting-started.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/index.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/docs/invoke.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/shared_conf.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/conf.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/contact.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/development.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/faq.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/index.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/installing.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/sites/www/prior-art.rst +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tasks.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/alias_sorting.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/autoprint.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/branch/explicit.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/branch/tasks.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.json +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.yaml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.yml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/collection.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/echo.yaml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/json/invoke.json +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/json-and-python/invoke.json +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/json-and-python/invoke.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/nested/invoke.yaml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/no-dedupe.yaml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/no-echo.yaml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/package/invoke.yml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/package/tasks/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/python/invoke.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/runtime.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/three-of-em/invoke.json +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/three-of-em/invoke.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/three-of-em/invoke.yml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/underscores/invoke.yaml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/underscores/tasks.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yaml/explicit.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yaml/invoke.yaml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yaml/tasks.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yml/explicit.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yml/invoke.yml +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yml/tasks.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/contextualized.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/custom_executor.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/debugging.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/decorator_multi_default.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/decorators.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/deeper_ns_list.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/depth_first.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/docstrings.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/empty.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/empty_subcollection.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/explicit_root.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/foo.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/has_modules.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/ignoreme/ignoremetoo/.no +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/integration.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/namespacing.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/nontrivial_docstrings.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/oops.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/package/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/package/module.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/simple_ns_list.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/subcollection_task_name.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/subspace/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/subspace/module.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/sudo_prompt.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tasks.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/build/__init__.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/build/docs.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/build/python.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/deploy.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/provision.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree.json +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/_util.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/cli.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/collection.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/completion.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/concurrency.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/config.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/conftest.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/context.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/executor.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/init.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/loader.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/merge_dicts.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/parser_argument.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/parser_context.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/parser_parser.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/program.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/runners.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/task.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/terminals.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/util.py +0 -0
- {invoke-2.2.0 → invoke-2.2.1}/tests/watchers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: invoke
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.1
|
|
4
4
|
Summary: Pythonic task execution
|
|
5
5
|
Home-page: https://pyinvoke.org
|
|
6
6
|
Author: Jeff Forcier
|
|
@@ -11,7 +11,6 @@ Project-URL: Source, https://github.com/pyinvoke/invoke
|
|
|
11
11
|
Project-URL: Issues, https://github.com/pyinvoke/invoke/issues
|
|
12
12
|
Project-URL: Changelog, https://www.pyinvoke.org/changelog.html
|
|
13
13
|
Project-URL: CI, https://app.circleci.com/pipelines/github/pyinvoke/invoke
|
|
14
|
-
Platform: UNKNOWN
|
|
15
14
|
Classifier: Development Status :: 5 - Production/Stable
|
|
16
15
|
Classifier: Environment :: Console
|
|
17
16
|
Classifier: Intended Audience :: Developers
|
|
@@ -76,5 +75,3 @@ The project maintainer keeps a `roadmap
|
|
|
76
75
|
For a high level introduction, including example code, please see `our main
|
|
77
76
|
project website <https://pyinvoke.org>`_; or for detailed API docs, see `the
|
|
78
77
|
versioned API website <https://docs.pyinvoke.org>`_.
|
|
79
|
-
|
|
80
|
-
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version_info__ = (2, 2,
|
|
1
|
+
__version_info__ = (2, 2, 1)
|
|
2
2
|
__version__ = ".".join(map(str, __version_info__))
|
|
@@ -87,9 +87,10 @@ else:
|
|
|
87
87
|
# Sentinel values to be replaced w/ defaults by caller
|
|
88
88
|
size = (None, None)
|
|
89
89
|
# We want two short unsigned integers (rows, cols)
|
|
90
|
-
|
|
90
|
+
# Note: TIOCGWINSZ struct contains 4 unsigned shorts, 2 unused
|
|
91
|
+
fmt = "HHHH"
|
|
91
92
|
# Create an empty (zeroed) buffer for ioctl to map onto. Yay for C!
|
|
92
|
-
buf = struct.pack(fmt, 0, 0)
|
|
93
|
+
buf = struct.pack(fmt, 0, 0, 0, 0)
|
|
93
94
|
# Call TIOCGWINSZ to get window size of stdout, returns our filled
|
|
94
95
|
# buffer
|
|
95
96
|
try:
|
|
@@ -97,7 +98,7 @@ else:
|
|
|
97
98
|
# Unpack buffer back into Python data types
|
|
98
99
|
# NOTE: this unpack gives us rows x cols, but we return the
|
|
99
100
|
# inverse.
|
|
100
|
-
rows, cols = struct.unpack(fmt, result)
|
|
101
|
+
rows, cols, *_ = struct.unpack(fmt, result)
|
|
101
102
|
return (cols, rows)
|
|
102
103
|
# Fallback to emptyish return value in various failure cases:
|
|
103
104
|
# * sys.stdout being monkeypatched, such as in testing, and lacking
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: invoke
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.1
|
|
4
4
|
Summary: Pythonic task execution
|
|
5
5
|
Home-page: https://pyinvoke.org
|
|
6
6
|
Author: Jeff Forcier
|
|
@@ -11,7 +11,6 @@ Project-URL: Source, https://github.com/pyinvoke/invoke
|
|
|
11
11
|
Project-URL: Issues, https://github.com/pyinvoke/invoke/issues
|
|
12
12
|
Project-URL: Changelog, https://www.pyinvoke.org/changelog.html
|
|
13
13
|
Project-URL: CI, https://app.circleci.com/pipelines/github/pyinvoke/invoke
|
|
14
|
-
Platform: UNKNOWN
|
|
15
14
|
Classifier: Development Status :: 5 - Production/Stable
|
|
16
15
|
Classifier: Environment :: Console
|
|
17
16
|
Classifier: Intended Audience :: Developers
|
|
@@ -76,5 +75,3 @@ The project maintainer keeps a `roadmap
|
|
|
76
75
|
For a high level introduction, including example code, please see `our main
|
|
77
76
|
project website <https://pyinvoke.org>`_; or for detailed API docs, see `the
|
|
78
77
|
versioned API website <https://docs.pyinvoke.org>`_.
|
|
79
|
-
|
|
80
|
-
|
|
@@ -63,6 +63,7 @@ invoke/vendor/yaml/scanner.py
|
|
|
63
63
|
invoke/vendor/yaml/serializer.py
|
|
64
64
|
invoke/vendor/yaml/tokens.py
|
|
65
65
|
sites/shared_conf.py
|
|
66
|
+
sites/docs/.readthedocs.yaml
|
|
66
67
|
sites/docs/conf.py
|
|
67
68
|
sites/docs/getting-started.rst
|
|
68
69
|
sites/docs/index.rst
|
|
@@ -89,6 +90,7 @@ sites/docs/concepts/loading.rst
|
|
|
89
90
|
sites/docs/concepts/namespaces.rst
|
|
90
91
|
sites/docs/concepts/testing.rst
|
|
91
92
|
sites/docs/concepts/watchers.rst
|
|
93
|
+
sites/www/.readthedocs.yaml
|
|
92
94
|
sites/www/changelog.rst
|
|
93
95
|
sites/www/conf.py
|
|
94
96
|
sites/www/contact.rst
|
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
- :release:`2.2.1 <2025-10-10>`
|
|
6
|
+
- :release:`2.1.4 <2025-10-10>`
|
|
7
|
+
- :bug:`1038` (fixed in :issue:`1040`) Python 3.14 tweaked the behavior of
|
|
8
|
+
`fcntl` to raise `SystemError` on buffer overflows, which our interpretation
|
|
9
|
+
of `termios.TIOCGWINSZ` technically was (we care only about the first two
|
|
10
|
+
fields in what is technically a four-field struct with half the fields
|
|
11
|
+
unused). This has been fixed by unpacking all 4 fields and then discarding
|
|
12
|
+
the unused fields during processing.
|
|
13
|
+
|
|
14
|
+
Thanks to ``@kasium`` for the original bug report and to ``@rathann`` and
|
|
15
|
+
``@BradleyKirton`` for workshopping the patch into its final shape.
|
|
5
16
|
- :release:`2.2.0 <2023-07-12>`
|
|
6
17
|
- :feature:`-` Remove the somewhat inaccurate subclass requirement around
|
|
7
18
|
`~invoke.config.Config`'s ``.clone(into=...)`` constructor call. It was
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|