@@ -14,6 +14,280 @@ Changelog
14
14
15
15
.. towncrier release notes start
16
16
17
+ v1.2.0
18
+ ======
19
+
20
+ *(2024-06-07) *
21
+
22
+
23
+ Bug fixes
24
+ ---------
25
+
26
+ - |project | no longer crashes when received EOF or when channel is not explicitly
27
+ closed -- by :user: `pbrezina `.
28
+
29
+ Previously, |project | crashed if ``channel.recv `` was called and ``libssh ``
30
+ returned ``SSH_EOF `` error. It also crashed on some special occasions where
31
+ channel was not explicitly closed and the session object was garbage-collected
32
+ first.
33
+
34
+ *Related issues and pull requests on GitHub: *
35
+ :issue: `576 `.
36
+
37
+
38
+ Features
39
+ --------
40
+
41
+ - Started exposing the ``SSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES ``
42
+ and ``SSH_OPTIONS_HOSTKEYS `` options publicly
43
+ -- by :user: `Qalthos `.
44
+
45
+ *Related issues and pull requests on GitHub: *
46
+ :issue: `527 `.
47
+
48
+ - The ``request_exec() `` method was added to the ``Channel `` class. It exposes an
49
+ interface for calling the respective low-level C-API of the underlying
50
+ ``libssh `` library -- by :user: `pbrezina `.
51
+
52
+ Additionally, the following calls to ``libssh `` are now available in the same
53
+ class: ``request_exec() ``, ``send_eof() ``, ``request_send_signal() `` and
54
+ ``is_eof `` which is exposed as a :py:class: `property `.
55
+
56
+ *Related issues and pull requests on GitHub: *
57
+ :issue: `576 `.
58
+
59
+
60
+ Improved documentation
61
+ ----------------------
62
+
63
+ - Fixed spelling of "Connect" in the ``Session.connect() ``
64
+ docstring -- by :user: `donnerhacke `.
65
+
66
+ *Related issues and pull requests on GitHub: *
67
+ :issue: `474 `.
68
+
69
+ - Added a tip to the :ref: `installation guide <Installing |project| >`
70
+ on how to set compiler flags when installing from source
71
+ -- :user: `webknjaz `.
72
+
73
+ *Related issues and pull requests on GitHub: *
74
+ :issue: `499 `.
75
+
76
+ - Fixed the example of invoking remote commands by using
77
+ ``Channel.exec_command() `` in snippets -- by :user: `pbrezina `.
78
+
79
+ Its previously showcased version wasn't functional.
80
+
81
+ *Related issues and pull requests on GitHub: *
82
+ :issue: `576 `.
83
+
84
+
85
+ Packaging updates and notes for downstreams
86
+ -------------------------------------------
87
+
88
+ - A flaw in the logic for copying the project directory into a
89
+ temporary folder that led to infinite recursion when :envvar: `TMPDIR `
90
+ was set to a project subdirectory path. This was happening in Fedora
91
+ and its downstream due to the use of `pyproject-rpm-macros
92
+ <https://src.fedoraproject.org/rpms/pyproject-rpm-macros> `__. It was
93
+ only reproducible with ``pip wheel `` and was not affecting the
94
+ ``pyproject-build `` users.
95
+
96
+ -- by :user: `hroncok ` and :user: `webknjaz `
97
+
98
+ *Related commits on GitHub: *
99
+ :commit: `89c9b3a `.
100
+
101
+ - From now on, the published distribution package artifacts
102
+ for the new releases are signed via `Sigstore
103
+ <https://sigstore.dev> `__ -- by :user: `webknjaz. `
104
+
105
+ This is happening as a part of the GitHub Actions CI/CD
106
+ workflow automation and the signatures are uploaded to
107
+ the corresponding GitHub Release pages.
108
+
109
+ *Related commits on GitHub: *
110
+ :commit: `986988a `.
111
+
112
+ - The platform-specific macOS wheels are now built using the
113
+ Python interpreter from https://python.org. They are tagged
114
+ with ``macosx_10_9 `` -- by :user: `webknjaz `.
115
+
116
+ *Related issues and pull requests on GitHub: *
117
+ :issue: `333 `.
118
+
119
+ - The ``toml `` build time dependency has been replaced with
120
+ ``tomli `` -- by :user: `webknjaz `.
121
+
122
+ The ``tomli `` distribution is only pulled in under Python
123
+ versions below 3.11. On 3.11 and higher, the standard
124
+ library module :py:mod: `tomllib ` is now used instead.
125
+
126
+ *Related issues and pull requests on GitHub: *
127
+ :issue: `501 `.
128
+
129
+ - Started using the built-in ``setuptools-scm `` Git archive
130
+ support under Python 3.7 and higher -- :user: `webknjaz `.
131
+
132
+ *Related issues and pull requests on GitHub: *
133
+ :issue: `502 `.
134
+
135
+ - Added support for Python 3.12 -- by :user: `Qalthos `.
136
+
137
+ It is now both tested in the CI and is advertised through
138
+ the Trove classifiers.
139
+
140
+ *Related issues and pull requests on GitHub: *
141
+ :issue: `532 `.
142
+
143
+ - The ``Cython `` build time dependency now has the minimum
144
+ version of 3.0 under Python 3.12 and higher
145
+ -- by :user: `webknjaz `.
146
+
147
+ The previous versions of ``Cython `` are still able to build
148
+ the project under older Python versions.
149
+
150
+ *Related issues and pull requests on GitHub: *
151
+ :issue: `540 `.
152
+
153
+ - :pep: `660 ` is now enabled -- :user: `webknjaz `.
154
+
155
+ Previously, due to restrictive :pep: `517 ` hook reimports,
156
+ our in-tree build backend was losing :pep: `non-PEP 517 <517 >`
157
+ hooks implemented in newer versions of ``setuptools `` but not
158
+ the earlier ones. This is now addressed by reexporting
159
+ everything that ``setuptools `` exposes with a wildcard.
160
+
161
+ *Related issues and pull requests on GitHub: *
162
+ :issue: `541 `.
163
+
164
+ - The ``setuptools-scm `` build dependency CI pin was updated to 8.1.0 —
165
+ this version fixes a date parsing incompatibility introduced by Git 2.45.0
166
+ (:gh: `pypa/setuptools_scm#1039 <pypa/setuptools_scm/issues/1038> `,
167
+ :gh: `pypa/setuptools_scm#1038 <pypa/setuptools_scm/pull/1039> `)
168
+ -- by :user: `webknjaz `.
169
+
170
+ *Related issues and pull requests on GitHub: *
171
+ :issue: `601 `.
172
+
173
+
174
+ Contributor-facing changes
175
+ --------------------------
176
+
177
+ - The :doc: `changelog ` page for the tagged release builds on
178
+ Read The Docs does not attempt showing the draft section
179
+ anymore -- by :user: `webknjaz `.
180
+
181
+ *Related commits on GitHub: *
182
+ :commit: `852d259 `.
183
+
184
+ - Adjusted the publishing workflow automation to pre-configure
185
+ Git before attempting to create a tag when building a
186
+ source distribution -- by :user: `webknjaz `.
187
+
188
+ *Related commits on GitHub: *
189
+ :commit: `f07296f `.
190
+
191
+ - The CI configuration for building the macOS platform-specific
192
+ wheels switched to using ``cibuildwheel `` -- by :user: `webknjaz `.
193
+
194
+ *Related issues and pull requests on GitHub: *
195
+ :issue: `333 `.
196
+
197
+ - The OS-level tox package was upgraded to v3.28.0 in the UBI9
198
+ CI runtime -- by :user: `Qalthos `.
199
+
200
+ *Related issues and pull requests on GitHub: *
201
+ :issue: `461 `, :issue: `473 `.
202
+
203
+ - Fixed spelling of "Connect" in the ``Session.connect() ``
204
+ docstring -- by :user: `donnerhacke `.
205
+
206
+ *Related issues and pull requests on GitHub: *
207
+ :issue: `474 `.
208
+
209
+ - The Packit CI access to the internet has been restored
210
+ -- by :user: `Qalthos `.
211
+
212
+ *Related issues and pull requests on GitHub: *
213
+ :issue: `507 `.
214
+
215
+ - Started building ``manylinux_2_28 `` base images for testing and
216
+ packaging in the CI/CD infrastructure -- by :user: `Qalthos `.
217
+
218
+ *Related issues and pull requests on GitHub: *
219
+ :issue: `533 `.
220
+
221
+ - Switched back to using Cython's native plugin for measuring
222
+ code coverage -- by :user: `webknjaz `.
223
+
224
+ *Related issues and pull requests on GitHub: *
225
+ :issue: `538 `.
226
+
227
+ - Added separate changelog fragment types for contributor-
228
+ and downstream-facing patches -- by :user: `webknjaz `.
229
+
230
+ Their corresponding identifiers are ``contrib `` and ``packaging ``
231
+ respectively. They are meant to be used for more accurate
232
+ classification, where one would resort to using ``misc `` otherwise.
233
+
234
+ *Related issues and pull requests on GitHub: *
235
+ :issue: `539 `.
236
+
237
+ - :pep: `660 ` is now enabled -- :user: `webknjaz `.
238
+
239
+ This effectively means that the ecosystem-native editable
240
+ install mode started working properly.
241
+
242
+ *Related issues and pull requests on GitHub: *
243
+ :issue: `541 `.
244
+
245
+ - The duplicated jobs matrices for building manylinux wheels
246
+ now reside in a single GitHub Actions CI/CD reusable
247
+ workflow definition.
248
+
249
+ -- :user: `webknjaz `
250
+
251
+ *Related issues and pull requests on GitHub: *
252
+ :issue: `559 `.
253
+
254
+ - The duplicated jobs matrices of the text jobs now reside in
255
+ a single GitHub Actions CI/CD reusable workflow definition.
256
+
257
+ -- :user: `webknjaz `
258
+
259
+ *Related issues and pull requests on GitHub: *
260
+ :issue: `560 `.
261
+
262
+ - Fixed the location of release workflow in the
263
+ :ref: `Release Guide ` document -- by :user: `Qalthos `.
264
+
265
+ *Related issues and pull requests on GitHub: *
266
+ :issue: `565 `.
267
+
268
+ - The ``setuptools-scm `` build dependency CI pin was updated to 8.1.0 —
269
+ this version fixes a date parsing incompatibility introduced by Git 2.45.0
270
+ (:gh: `pypa/setuptools_scm#1039 <pypa/setuptools_scm/issues/1038> `,
271
+ :gh: `pypa/setuptools_scm#1038 <pypa/setuptools_scm/pull/1039> `)
272
+ -- by :user: `webknjaz `.
273
+
274
+ *Related issues and pull requests on GitHub: *
275
+ :issue: `601 `.
276
+
277
+ - The CI/CD configuration was fixed to allow publishing
278
+ to PyPI and other targets disregarding the test stage
279
+ outcome. This used to be a bug in the workflow definition
280
+ that has now been fixed.
281
+
282
+ -- by :user: `pbrezina ` and :user: `webknjaz `
283
+
284
+ *Related issues and pull requests on GitHub: *
285
+ :issue: `602 `.
286
+
287
+
288
+ ----
289
+
290
+
17
291
v1.1.0 (2022-12-05)
18
292
===================
19
293
0 commit comments