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/ |
| ... | ... |
@@ -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" |