Release 0.3.0
Marco Ricci

Marco Ricci commited on 2024-10-15 13:46:21
Zeige 14 geänderte Dateien mit 100 Einfügungen und 119 Löschungen.

... ...
@@ -1,5 +0,0 @@
1
-### Added
2
-
3
-  - Convert changelog management from towncrier to [scriv][].
4
-
5
-[scriv]: https://pypi.org/project/scriv
... ...
@@ -1,7 +0,0 @@
1
-### Added
2
-
3
-  - Add SSH agent spawning support to the test suite.  Use this support to
4
-    test the agent functionality on all known major SSH agent
5
-    implementations automatically. ([#12])
6
-
7
-[#12]: https://github.com/the-13th-letter/derivepassphrase/issues/12
... ...
@@ -1,5 +0,0 @@
1
-### Added
2
-
3
-  - Add [hypothesis][]-based tests to the test suite.
4
-
5
-[hypothesis]: https://pypi.org/project/hypothesis/
... ...
@@ -1,14 +0,0 @@
1
-### Added
2
-
3
-  - Update README to add explanations for virtual environments and package
4
-    extras.
5
-  - Update README to demonstrate configuration storing and SSH agent use.
6
-    Include comments on Windows support for SSH agents.
7
-  - Use cross-references in the documentation of function signatures.
8
-
9
-### Changed
10
-
11
-  - Change links to point to public project repositories, if possible.  For
12
-    legal reasons.
13
-  - Use the same filename/URL convention for API reference as the Python
14
-    standard library does.
... ...
@@ -1,13 +0,0 @@
1
-### Changed
2
-
3
-  - Rewrite functionality for checking for valid vault(1) configurations:
4
-    include an actual validation function which throws errors upon
5
-    encountering format violations, and which allows specifying which types
6
-    of extensions (unknown settings, `derivepassphrase`-only settings) to
7
-    tolerate during validation.
8
-
9
-    This is a **breaking API change** because the function return annotation
10
-    changed, from [`typing.TypeGuard`][] to [`typing_extensions.TypeIs`][].
11
-    These were the originally intended semantics, but when
12
-    `derivepassphrase` was first designed, the Python type system did not
13
-    support this kind of partial type narrowing.
... ...
@@ -1,15 +0,0 @@
1
-### Added
2
-
3
-  - Add proper support for Buffer types in the SSH agent client.  Any
4
-    Python object supporting the buffer protocol can be used as input to
5
-    a function of the client, and any output from the client is returned
6
-    as bytes objects.  Because of the zero-copy semantics of the
7
-    underlying data/memory block, this should stay relatively time- and
8
-    space-efficient.
9
-
10
-### Fixed
11
-
12
-  - Fixed the textual description of the return value for
13
-    [`SSHAgentClient.request`]
14
-    [derivepassphrase.ssh_agent.SSHAgentClient.request], which didn't
15
-    match the declared type annotation.
... ...
@@ -1,6 +0,0 @@
1
-### Added
2
-
3
-  - Add [hypothesis][]-based tests for serialization to and
4
-    deserialization from the SSH agent wire format.
5
-
6
-[hypothesis]: https://pypi.org/project/hypothesis/
... ...
@@ -1,3 +0,0 @@
1
-### Added
2
-
3
-  - Support Python 3.9.
... ...
@@ -1,9 +0,0 @@
1
-### Changed
2
-
3
-  - Fail earlier, and more gracefully/specifically, when we cannot talk to
4
-    the SSH agent because Python does not support UNIX domain sockets on
5
-    this system.  In particular, this is the current situation on Windows.
6
-
7
-    This adds another failure case to the `SSHAgentClient` constructor, and
8
-    therefore constitutes a breaking API change.
9
-
... ...
@@ -1,19 +0,0 @@
1
-### Changed
2
-
3
-  - In `derivepassphrase vault`, accept `key` and `phrase` entries just like
4
-    vault(1) does: `key` always overrides `phrase` in the configuration, no
5
-    matter the level.
6
-
7
-    This is a command-line only change.
8
-
9
-  - In `derivepassphrase vault`, when importing settings, accept falsy values
10
-    everywhere `vault` does, with a warning.  Depending on the setting, they
11
-    are equivalent to zero, the empty string, or "not set".  ([#17])
12
-
13
-    This is a command-line only change, and only affects importing.  The API
14
-    provides a new function to normalize falsy settings, but still otherwise
15
-    requires settings to be of the correct type.  Storing a malformed
16
-    configuration with such falsy values will still generate errors when
17
-    `derivepassphrase vault` loads the settings from disk.
18
-
19
-[#17]: https://github.com/the-13th-letter/derivepassphrase/issues/17
... ...
@@ -1,11 +0,0 @@
1
-### Changed
2
-
3
-  - In `derivepassphrase vault`, when importing configurations,
4
-    correctly merge them with the existing one, same as vault(1): keep
5
-    all named services and their settings (and the global settings if
6
-    applicable) that are not mentioned in the imported configuration.
7
-    The import procedure is thus more akin to a section-wise import of
8
-    the configurations, instead of a "full" import, and the resulting
9
-    configuration generally is a merge of both inputs.  ([#16])
10
-
11
-[#16]: https://github.com/the-13th-letter/derivepassphrase/issues/16
... ...
@@ -1,11 +0,0 @@
1
-### Changed
2
-
3
-  - The following operations or configuration settings now raise warnings:
4
-
5
-    * in imported configurations: using falsy values of the wrong type
6
-    * in imported configurations: using falsy values with no practical
7
-    effect
8
-    * setting a passphrase in the configuration if a key is already set
9
-    * using an empty service name on the command-line or in an imported
10
-    configuration
11
-
... ...
@@ -30,6 +30,105 @@ effectively constitute a new <q>major</q> release.)
30 30
 
31 31
 <!-- scriv changelog start -->
32 32
 
33
+## 0.3.0 (2024-10-15)
34
+
35
+### Added
36
+
37
+  - Convert changelog management from towncrier to [scriv][].
38
+  - Add SSH agent spawning support to the test suite.  Use this support to
39
+    test the agent functionality on all known major SSH agent
40
+    implementations automatically. ([#12])
41
+  - Add [hypothesis][]-based tests to the test suite.
42
+  - Update README to add explanations for virtual environments and package
43
+    extras.
44
+  - Update README to demonstrate configuration storing and SSH agent use.
45
+    Include comments on Windows support for SSH agents.
46
+  - Use cross-references in the documentation of function signatures.
47
+  - Add proper support for Buffer types in the SSH agent client.  Any
48
+    Python object supporting the buffer protocol can be used as input to
49
+    a function of the client, and any output from the client is returned
50
+    as bytes objects.  Because of the zero-copy semantics of the
51
+    underlying data/memory block, this should stay relatively time- and
52
+    space-efficient.
53
+  - Add [hypothesis][]-based tests for serialization to and
54
+    deserialization from the SSH agent wire format.
55
+  - Support Python 3.9 and 3.13.
56
+
57
+[#12]: https://github.com/the-13th-letter/derivepassphrase/issues/12
58
+[hypothesis]: https://pypi.org/project/hypothesis/
59
+[scriv]: https://pypi.org/project/scriv
60
+
61
+### Changed
62
+
63
+  - Change links to point to public project repositories, if possible.  For
64
+    legal reasons.
65
+
66
+  - Use the same filename/URL convention for API reference as the Python
67
+    standard library does.
68
+
69
+  - Rewrite functionality for checking for valid vault(1) configurations:
70
+    include an actual validation function which throws errors upon
71
+    encountering format violations, and which allows specifying which types
72
+    of extensions (unknown settings, `derivepassphrase`-only settings) to
73
+    tolerate during validation.
74
+
75
+    This is a **breaking API change** because the function return annotation
76
+    changed, from [`typing.TypeGuard`][] to [`typing_extensions.TypeIs`][].
77
+    These were the originally intended semantics, but when
78
+    `derivepassphrase` was first designed, the Python type system did not
79
+    support this kind of partial type narrowing.
80
+
81
+  - Fail earlier, and more gracefully/specifically, when we cannot talk to
82
+    the SSH agent because Python does not support UNIX domain sockets on
83
+    this system.  In particular, this is the current situation on Windows.
84
+
85
+    This adds another failure case to the `SSHAgentClient` constructor, and
86
+    therefore constitutes a **breaking API change**.
87
+
88
+  - In `derivepassphrase vault`, accept `key` and `phrase` entries just like
89
+    vault(1) does: `key` always overrides `phrase` in the configuration, no
90
+    matter the level.
91
+
92
+    This is a command-line only change.
93
+
94
+  - In `derivepassphrase vault`, when importing settings, accept falsy values
95
+    everywhere `vault` does, with a warning.  Depending on the setting, they
96
+    are equivalent to zero, the empty string, or "not set".  ([#17])
97
+
98
+    This is a command-line only change, and only affects importing.  The API
99
+    provides a new function to normalize falsy settings, but still otherwise
100
+    requires settings to be of the correct type.  Storing a malformed
101
+    configuration with such falsy values will still generate errors when
102
+    `derivepassphrase vault` loads the settings from disk.
103
+
104
+  - In `derivepassphrase vault`, when importing configurations,
105
+    correctly merge them with the existing one, same as vault(1): keep
106
+    all named services and their settings (and the global settings if
107
+    applicable) that are not mentioned in the imported configuration.
108
+    The import procedure is thus more akin to a section-wise import of
109
+    the configurations, instead of a "full" import, and the resulting
110
+    configuration generally is a merge of both inputs.  ([#16])
111
+
112
+  - The following operations or configuration settings now raise
113
+    warnings:
114
+
115
+      * in imported configurations: using falsy values of the wrong type
116
+      * in imported configurations: using falsy values with no practical
117
+        effect
118
+      * setting a passphrase in the configuration if a key is already
119
+        set
120
+      * using an empty service name on the command-line or in an
121
+        imported configuration
122
+
123
+[#16]: https://github.com/the-13th-letter/derivepassphrase/issues/16
124
+[#17]: https://github.com/the-13th-letter/derivepassphrase/issues/17
125
+
126
+### Fixed
127
+
128
+  - Fixed the textual description of the return value for
129
+    [`SSHAgentClient.request`][derivepassphrase.ssh_agent.SSHAgentClient.request],
130
+    which didn't match the declared type annotation.
131
+
33 132
 ## 0.2.0 (2024-09-12)
34 133
 
35 134
 ### Added
... ...
@@ -5,4 +5,4 @@
5 5
 """Work-alike of vault(1) – a deterministic, stateless password manager"""  # noqa: D415,RUF002
6 6
 
7 7
 __author__ = 'Marco Ricci <software@the13thletter.info>'
8
-__version__ = '0.2.0'
8
+__version__ = '0.3.0'
9 9