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.
Files changed (188) hide show
  1. {invoke-2.2.0/invoke.egg-info → invoke-2.2.1}/PKG-INFO +1 -4
  2. {invoke-2.2.0 → invoke-2.2.1}/invoke/_version.py +1 -1
  3. {invoke-2.2.0 → invoke-2.2.1}/invoke/terminals.py +4 -3
  4. {invoke-2.2.0 → invoke-2.2.1/invoke.egg-info}/PKG-INFO +1 -4
  5. {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/SOURCES.txt +2 -0
  6. {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/entry_points.txt +0 -1
  7. invoke-2.2.1/sites/docs/.readthedocs.yaml +13 -0
  8. invoke-2.2.1/sites/www/.readthedocs.yaml +13 -0
  9. {invoke-2.2.0 → invoke-2.2.1}/sites/www/changelog.rst +11 -0
  10. {invoke-2.2.0 → invoke-2.2.1}/LICENSE +0 -0
  11. {invoke-2.2.0 → invoke-2.2.1}/MANIFEST.in +0 -0
  12. {invoke-2.2.0 → invoke-2.2.1}/README.rst +0 -0
  13. {invoke-2.2.0 → invoke-2.2.1}/dev-requirements.txt +0 -0
  14. {invoke-2.2.0 → invoke-2.2.1}/invoke/__init__.py +0 -0
  15. {invoke-2.2.0 → invoke-2.2.1}/invoke/__main__.py +0 -0
  16. {invoke-2.2.0 → invoke-2.2.1}/invoke/collection.py +0 -0
  17. {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/__init__.py +0 -0
  18. {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/bash.completion +0 -0
  19. {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/complete.py +0 -0
  20. {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/fish.completion +0 -0
  21. {invoke-2.2.0 → invoke-2.2.1}/invoke/completion/zsh.completion +0 -0
  22. {invoke-2.2.0 → invoke-2.2.1}/invoke/config.py +0 -0
  23. {invoke-2.2.0 → invoke-2.2.1}/invoke/context.py +0 -0
  24. {invoke-2.2.0 → invoke-2.2.1}/invoke/env.py +0 -0
  25. {invoke-2.2.0 → invoke-2.2.1}/invoke/exceptions.py +0 -0
  26. {invoke-2.2.0 → invoke-2.2.1}/invoke/executor.py +0 -0
  27. {invoke-2.2.0 → invoke-2.2.1}/invoke/loader.py +0 -0
  28. {invoke-2.2.0 → invoke-2.2.1}/invoke/main.py +0 -0
  29. {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/__init__.py +0 -0
  30. {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/argument.py +0 -0
  31. {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/context.py +0 -0
  32. {invoke-2.2.0 → invoke-2.2.1}/invoke/parser/parser.py +0 -0
  33. {invoke-2.2.0 → invoke-2.2.1}/invoke/program.py +0 -0
  34. {invoke-2.2.0 → invoke-2.2.1}/invoke/py.typed +0 -0
  35. {invoke-2.2.0 → invoke-2.2.1}/invoke/runners.py +0 -0
  36. {invoke-2.2.0 → invoke-2.2.1}/invoke/tasks.py +0 -0
  37. {invoke-2.2.0 → invoke-2.2.1}/invoke/util.py +0 -0
  38. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/__init__.py +0 -0
  39. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/fluidity/__init__.py +0 -0
  40. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/fluidity/backwardscompat.py +0 -0
  41. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/fluidity/machine.py +0 -0
  42. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/__init__.py +0 -0
  43. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/_version.py +0 -0
  44. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/alias_dict.py +0 -0
  45. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/lexicon/attribute_dict.py +0 -0
  46. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/__init__.py +0 -0
  47. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/composer.py +0 -0
  48. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/constructor.py +0 -0
  49. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/cyaml.py +0 -0
  50. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/dumper.py +0 -0
  51. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/emitter.py +0 -0
  52. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/error.py +0 -0
  53. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/events.py +0 -0
  54. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/loader.py +0 -0
  55. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/nodes.py +0 -0
  56. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/parser.py +0 -0
  57. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/reader.py +0 -0
  58. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/representer.py +0 -0
  59. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/resolver.py +0 -0
  60. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/scanner.py +0 -0
  61. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/serializer.py +0 -0
  62. {invoke-2.2.0 → invoke-2.2.1}/invoke/vendor/yaml/tokens.py +0 -0
  63. {invoke-2.2.0 → invoke-2.2.1}/invoke/watchers.py +0 -0
  64. {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/dependency_links.txt +0 -0
  65. {invoke-2.2.0 → invoke-2.2.1}/invoke.egg-info/top_level.txt +0 -0
  66. {invoke-2.2.0 → invoke-2.2.1}/pyproject.toml +0 -0
  67. {invoke-2.2.0 → invoke-2.2.1}/setup.cfg +0 -0
  68. {invoke-2.2.0 → invoke-2.2.1}/setup.py +0 -0
  69. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/_static/rtd.css +0 -0
  70. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/__init__.rst +0 -0
  71. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/collection.rst +0 -0
  72. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/config.rst +0 -0
  73. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/context.rst +0 -0
  74. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/exceptions.rst +0 -0
  75. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/executor.rst +0 -0
  76. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/loader.rst +0 -0
  77. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/parser.rst +0 -0
  78. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/program.rst +0 -0
  79. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/runners.rst +0 -0
  80. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/tasks.rst +0 -0
  81. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/terminals.rst +0 -0
  82. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/util.rst +0 -0
  83. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/api/watchers.rst +0 -0
  84. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/configuration.rst +0 -0
  85. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/invoking-tasks.rst +0 -0
  86. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/library.rst +0 -0
  87. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/loading.rst +0 -0
  88. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/namespaces.rst +0 -0
  89. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/testing.rst +0 -0
  90. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/concepts/watchers.rst +0 -0
  91. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/conf.py +0 -0
  92. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/getting-started.rst +0 -0
  93. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/index.rst +0 -0
  94. {invoke-2.2.0 → invoke-2.2.1}/sites/docs/invoke.rst +0 -0
  95. {invoke-2.2.0 → invoke-2.2.1}/sites/shared_conf.py +0 -0
  96. {invoke-2.2.0 → invoke-2.2.1}/sites/www/conf.py +0 -0
  97. {invoke-2.2.0 → invoke-2.2.1}/sites/www/contact.rst +0 -0
  98. {invoke-2.2.0 → invoke-2.2.1}/sites/www/development.rst +0 -0
  99. {invoke-2.2.0 → invoke-2.2.1}/sites/www/faq.rst +0 -0
  100. {invoke-2.2.0 → invoke-2.2.1}/sites/www/index.rst +0 -0
  101. {invoke-2.2.0 → invoke-2.2.1}/sites/www/installing.rst +0 -0
  102. {invoke-2.2.0 → invoke-2.2.1}/sites/www/prior-art.rst +0 -0
  103. {invoke-2.2.0 → invoke-2.2.1}/tasks.py +0 -0
  104. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/alias_sorting.py +0 -0
  105. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/autoprint.py +0 -0
  106. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/branch/explicit.py +0 -0
  107. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/branch/tasks.py +0 -0
  108. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.json +0 -0
  109. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.py +0 -0
  110. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.yaml +0 -0
  111. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/all-four/invoke.yml +0 -0
  112. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/collection.py +0 -0
  113. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/echo.yaml +0 -0
  114. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/json/invoke.json +0 -0
  115. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/json-and-python/invoke.json +0 -0
  116. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/json-and-python/invoke.py +0 -0
  117. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/nested/invoke.yaml +0 -0
  118. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/no-dedupe.yaml +0 -0
  119. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/no-echo.yaml +0 -0
  120. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/package/invoke.yml +0 -0
  121. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/package/tasks/__init__.py +0 -0
  122. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/python/invoke.py +0 -0
  123. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/runtime.py +0 -0
  124. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/three-of-em/invoke.json +0 -0
  125. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/three-of-em/invoke.py +0 -0
  126. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/three-of-em/invoke.yml +0 -0
  127. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/underscores/invoke.yaml +0 -0
  128. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/underscores/tasks.py +0 -0
  129. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yaml/explicit.py +0 -0
  130. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yaml/invoke.yaml +0 -0
  131. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yaml/tasks.py +0 -0
  132. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yml/explicit.py +0 -0
  133. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yml/invoke.yml +0 -0
  134. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/configs/yml/tasks.py +0 -0
  135. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/contextualized.py +0 -0
  136. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/custom_executor.py +0 -0
  137. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/debugging.py +0 -0
  138. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/decorator_multi_default.py +0 -0
  139. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/decorators.py +0 -0
  140. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/deeper_ns_list.py +0 -0
  141. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/depth_first.py +0 -0
  142. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/docstrings.py +0 -0
  143. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/empty.py +0 -0
  144. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/empty_subcollection.py +0 -0
  145. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/explicit_root.py +0 -0
  146. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/foo.py +0 -0
  147. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/has_modules.py +0 -0
  148. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/ignoreme/ignoremetoo/.no +0 -0
  149. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/integration.py +0 -0
  150. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/namespacing.py +0 -0
  151. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/nontrivial_docstrings.py +0 -0
  152. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/oops.py +0 -0
  153. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/package/__init__.py +0 -0
  154. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/package/module.py +0 -0
  155. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/simple_ns_list.py +0 -0
  156. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/subcollection_task_name.py +0 -0
  157. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/subspace/__init__.py +0 -0
  158. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/subspace/module.py +0 -0
  159. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/sudo_prompt.py +0 -0
  160. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tasks.py +0 -0
  161. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/__init__.py +0 -0
  162. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/build/__init__.py +0 -0
  163. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/build/docs.py +0 -0
  164. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/build/python.py +0 -0
  165. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/deploy.py +0 -0
  166. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree/provision.py +0 -0
  167. {invoke-2.2.0 → invoke-2.2.1}/tests/_support/tree.json +0 -0
  168. {invoke-2.2.0 → invoke-2.2.1}/tests/_util.py +0 -0
  169. {invoke-2.2.0 → invoke-2.2.1}/tests/cli.py +0 -0
  170. {invoke-2.2.0 → invoke-2.2.1}/tests/collection.py +0 -0
  171. {invoke-2.2.0 → invoke-2.2.1}/tests/completion.py +0 -0
  172. {invoke-2.2.0 → invoke-2.2.1}/tests/concurrency.py +0 -0
  173. {invoke-2.2.0 → invoke-2.2.1}/tests/config.py +0 -0
  174. {invoke-2.2.0 → invoke-2.2.1}/tests/conftest.py +0 -0
  175. {invoke-2.2.0 → invoke-2.2.1}/tests/context.py +0 -0
  176. {invoke-2.2.0 → invoke-2.2.1}/tests/executor.py +0 -0
  177. {invoke-2.2.0 → invoke-2.2.1}/tests/init.py +0 -0
  178. {invoke-2.2.0 → invoke-2.2.1}/tests/loader.py +0 -0
  179. {invoke-2.2.0 → invoke-2.2.1}/tests/merge_dicts.py +0 -0
  180. {invoke-2.2.0 → invoke-2.2.1}/tests/parser_argument.py +0 -0
  181. {invoke-2.2.0 → invoke-2.2.1}/tests/parser_context.py +0 -0
  182. {invoke-2.2.0 → invoke-2.2.1}/tests/parser_parser.py +0 -0
  183. {invoke-2.2.0 → invoke-2.2.1}/tests/program.py +0 -0
  184. {invoke-2.2.0 → invoke-2.2.1}/tests/runners.py +0 -0
  185. {invoke-2.2.0 → invoke-2.2.1}/tests/task.py +0 -0
  186. {invoke-2.2.0 → invoke-2.2.1}/tests/terminals.py +0 -0
  187. {invoke-2.2.0 → invoke-2.2.1}/tests/util.py +0 -0
  188. {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.0
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, 0)
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
- fmt = "HH"
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.0
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
@@ -1,4 +1,3 @@
1
1
  [console_scripts]
2
2
  inv = invoke.main:program.run
3
3
  invoke = invoke.main:program.run
4
-
@@ -0,0 +1,13 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: "ubuntu-22.04"
5
+ tools:
6
+ python: "3.7"
7
+
8
+ python:
9
+ install:
10
+ - requirements: dev-requirements.txt
11
+
12
+ sphinx:
13
+ configuration: sites/docs/conf.py
@@ -0,0 +1,13 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: "ubuntu-22.04"
5
+ tools:
6
+ python: "3.7"
7
+
8
+ python:
9
+ install:
10
+ - requirements: dev-requirements.txt
11
+
12
+ sphinx:
13
+ configuration: sites/www/conf.py
@@ -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