Release 0.6.1
Marco Ricci

Marco Ricci commited on 2026-07-06 21:28:06
Zeige 10 geänderte Dateien mit 67 Einfügungen und 69 Löschungen.

... ...
@@ -1,11 +0,0 @@
1
-### Fixed
2
-
3
-  - Work around a bug in the OpenSSH `ssh-agent` where a `query`
4
-    request would receive a spurious
5
-    [`SUCCESS`][derivepassphrase._types.SSH_AGENT.SUCCESS] response, so
6
-    subsequent interactions (request-response pairs) would be misaligned.
7
-    This only affects OpenSSH 10.3/10.3p1.
8
-    →[:material-bug:][BUG_OPENSSH_BUG3967_WORKAROUND]
9
-
10
-[BUG_OPENSSH_BUG3967_WORKAROUND]: wishlist/openssh-bug3967-workaround.md "Bug entry: “Work around faulty query response in OpenSSH 10.3”"
11
-
... ...
@@ -1,41 +0,0 @@
1
-### Changed
2
-
3
-  - For developers: The [SSH agent
4
-    client][derivepassphrase.ssh_agent.SSHAgentClient] has separate internal
5
-    methods for the "send" and the "receive" halves of a request, each of
6
-    which can be stubbed individually.
7
-
8
-  - For developers: Several internal and mostly-minor changes to the
9
-    categorization and organization of the test suite should make it
10
-    altogether faster to run if "correctness tests" are not desired, but
11
-    fast feedback/"regression tests" are:
12
-
13
-      - The `dev` and `intense` [hypothesis][] profiles are
14
-        replaced by `regression`/`debug-regression` and `correctness`.
15
-        The `flaky` profile has been dropped without replacement.
16
-      - Some parametrized tests that should be property-based tests are now
17
-        stubbed property-based tests.
18
-        Likewise, some exhaustive property-based tests with only few inputs
19
-        are now parametrized tests.
20
-        There is explicit machinery for converting parametrized tests into
21
-        stubbed property-based tests without too much writing effort.
22
-
23
-    Other test suite improvements are not primarily based on the
24
-    "correctness"/"regression" split, but nonetheless should make the test
25
-    suite faster and/or easier to use:
26
-
27
-      - SSH agent configurations and built-in SSH agent socket providers are
28
-        now stored as an enum.
29
-        SSH protocol numbers serialize as their byte representation.
30
-      - A new "agent protocol response queue" class provides stub methods
31
-        for the "send" and "receive" halves of an SSH agent request which
32
-        map fixed request messages to fixed lists of response messages.
33
-      - The stubbed SSH agent better mimics real-world agent communication
34
-        channel behavior (incomplete requests, pipelined requests, channel
35
-        shutdown).
36
-      - SSH agent interaction tests run against the stubbed SSH agent or the
37
-        agent protocol response queue where possible.
38
-      - Some common functionality has been moved into `tests.data`,
39
-        `tests.machinery` or `conftest`.
40
-
41
-[hypothesis]: https://pypi.org/project/hypothesis/
... ...
@@ -1,6 +0,0 @@
1
-### Fixed
2
-
3
-  - Changes in the test runner behavior of `click` 8.2.0 and higher are now
4
-    accomodated in the test suite.
5
-    (User-visible behavior is still the same.)
6
-
... ...
@@ -51,6 +51,61 @@ specifically marked as such.)
51 51
 
52 52
 <!-- scriv changelog start -->
53 53
 
54
+## 0.6.1 (2026-07-06) {#v0.6.1}
55
+
56
+### Changed {#changed-in-v0.6.1}
57
+
58
+  - For developers: The [SSH agent
59
+    client][derivepassphrase.ssh_agent.SSHAgentClient] has separate internal
60
+    methods for the "send" and the "receive" halves of a request, each of
61
+    which can be stubbed individually.
62
+
63
+  - For developers: Several internal and mostly-minor changes to the
64
+    categorization and organization of the test suite should make it
65
+    altogether faster to run if "correctness tests" are not desired, but
66
+    fast feedback/"regression tests" are:
67
+
68
+      - The `dev` and `intense` [hypothesis][] profiles are
69
+        replaced by `regression`/`debug-regression` and `correctness`.
70
+        The `flaky` profile has been dropped without replacement.
71
+      - Some parametrized tests that should be property-based tests are now
72
+        stubbed property-based tests.
73
+        Likewise, some exhaustive property-based tests with only few inputs
74
+        are now parametrized tests.
75
+        There is explicit machinery for converting parametrized tests into
76
+        stubbed property-based tests without too much writing effort.
77
+
78
+    Other test suite improvements are not primarily based on the
79
+    "correctness"/"regression" split, but nonetheless should make the test
80
+    suite faster and/or easier to use:
81
+
82
+      - SSH agent configurations and built-in SSH agent socket providers are
83
+        now stored as an enum.
84
+        SSH protocol numbers serialize as their byte representation.
85
+      - A new "agent protocol response queue" class provides stub methods
86
+        for the "send" and "receive" halves of an SSH agent request which
87
+        map fixed request messages to fixed lists of response messages.
88
+      - The stubbed SSH agent better mimics real-world agent communication
89
+        channel behavior (incomplete requests, pipelined requests, channel
90
+        shutdown).
91
+      - SSH agent interaction tests run against the stubbed SSH agent or the
92
+        agent protocol response queue where possible.
93
+      - Some common functionality has been moved into `tests.data`,
94
+        `tests.machinery` or `conftest`.
95
+
96
+### Fixed {#fixed-in-v0.6.1}
97
+
98
+  - Work around a bug in the OpenSSH `ssh-agent` where a `query`
99
+    request would receive a spurious
100
+    [`SUCCESS`][derivepassphrase._types.SSH_AGENT.SUCCESS] response, so
101
+    subsequent interactions (request-response pairs) would be misaligned.
102
+    This only affects OpenSSH 10.3/10.3p1.
103
+    →[:material-bug:][BUG_OPENSSH_BUG3967_WORKAROUND]
104
+
105
+  - Changes in the test runner behavior of `click` 8.2.0 and higher are now
106
+    accomodated in the test suite.
107
+    (User-visible behavior is still the same.)
108
+
54 109
 ## 0.6 (2026-04-02)  {#v0.6}
55 110
 
56 111
 ### Added  {#added-in-v0.6}
... ...
@@ -834,6 +889,7 @@ specifically marked as such.)
834 889
 [BUG_FALSY_VAULT_CONFIG_VALUES]: wishlist/falsy-vault-config-values.md "Bug entry: “derivepassphrase vault differs from vault(1) behavior with falsy stored configuration values”"
835 890
 [BUG_NO_STDLIB_MODULE_NAMES]: wishlist/no-stdlib-module-names.md "Bug entry: “Rename types submodules to _types”"
836 891
 [BUG_ONE_TIME_KEY_OVERRIDE_FAILS]: wishlist/one-time-key-override-fails.md "Bug entry: “derivepassphrase -k fails when overriding the chosen key on the command-line”"
892
+[BUG_OPENSSH_BUG3967_WORKAROUND]: wishlist/openssh-bug3967-workaround.md "Bug entry: “Work around faulty query response in OpenSSH 10.3”"
837 893
 [BUG_PRINT_SERVICE_NOTES]: wishlist/print-service-notes.md "Bug entry: “derivepassphrase vault does not print service notes”"
838 894
 [BUG_SINGLE_TOPLEVEL_MODULE]: wishlist/single-toplevel-module.md "Bug entry: “Move sequin and ssh_agent_client modules into derivepassphrase package”"
839 895
 [BUG_TEST_FILESYSTEM_ISOLATION]: wishlist/test-filesystem-isolation.md "Bug entry: “Isolate tests properly from the filesystem”"
... ...
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6 6
 name = "derivepassphrase"
7 7
 description = "An almost faithful Python reimplementation of James Coglan's vault."
8 8
 readme = "README.md"
9
-version = "0.6"
9
+version = "0.6.1"
10 10
 requires-python = ">= 3.9"
11 11
 license = { text = "zlib/libpng" }
12 12
 keywords = []
... ...
@@ -123,7 +123,7 @@ Issues = "https://the13thletter.info/derivepassphrase/latest/wishlist/"
123 123
 Source = "https://git.schokokeks.org/derivepassphrase.git"
124 124
 
125 125
 [tool.bumpversion]
126
-current_version = "0.6"
126
+current_version = "0.6.1"
127 127
 # As of bump-my-version 0.32.0, version components are strictly
128 128
 # hierarchical in the order of occurrence, and there is no support for
129 129
 # pre-release markers.  The documentation suggests a fake "dev/rc/final"
... ...
@@ -1,6 +1,6 @@
1
-.Dd 2026-04-02
1
+.Dd 2026-07-06
2 2
 .Dt DERIVEPASSPHRASE-EXPORT-VAULT 1
3
-.Os derivepassphrase 0.6
3
+.Os derivepassphrase 0.6.1
4 4
 .
5 5
 .Sh NAME
6 6
 .
... ...
@@ -1,6 +1,6 @@
1
-.Dd 2026-04-02
1
+.Dd 2026-07-06
2 2
 .Dt DERIVEPASSPHRASE-EXPORT 1
3
-.Os derivepassphrase 0.6
3
+.Os derivepassphrase 0.6.1
4 4
 .
5 5
 .Sh NAME
6 6
 .
... ...
@@ -1,6 +1,6 @@
1
-.Dd 2026-04-02
1
+.Dd 2026-07-06
2 2
 .Dt DERIVEPASSPHRASE-VAULT 1
3
-.Os derivepassphrase 0.6
3
+.Os derivepassphrase 0.6.1
4 4
 .
5 5
 .Sh NAME
6 6
 .
... ...
@@ -1,6 +1,6 @@
1
-.Dd 2026-04-02
1
+.Dd 2026-07-06
2 2
 .Dt DERIVEPASSPHRASE 1
3
-.Os derivepassphrase 0.6
3
+.Os derivepassphrase 0.6.1
4 4
 .
5 5
 .Sh NAME
6 6
 .
... ...
@@ -9,5 +9,5 @@ __distribution_name__ = "derivepassphrase"
9 9
 
10 10
 # Automatically generated.  DO NOT EDIT! Use importlib.metadata instead
11 11
 # to query the correct values.
12
-__version__ = "0.6"
12
+__version__ = "0.6.1"
13 13
 # END automatically generated.
14 14