Marco Ricci commited on 2026-04-02 21:52:33
Zeige 12 geänderte Dateien mit 186 Einfügungen und 193 Löschungen.
| ... | ... |
@@ -1,24 +0,0 @@ |
| 1 |
-### Added |
|
| 2 |
- |
|
| 3 |
- - For `derivepassphrase vault`, in the SSH agent client, introduce a new |
|
| 4 |
- abstraction layer responsible for establishing the connection to the SSH |
|
| 5 |
- agent: "SSH agent socket providers". |
|
| 6 |
- Reframe the existing code for connecting to SSH agents on UNIX as |
|
| 7 |
- a standard socket provider, and reserve a second standard socket |
|
| 8 |
- provider, yet to be written, for <abbr title="Microsoft Windows">The |
|
| 9 |
- Annoying Operating System</abbr>. |
|
| 10 |
- |
|
| 11 |
- (The system is based on Python package [entry |
|
| 12 |
- points][importlib.metadata.entry_points], and is open for third-party |
|
| 13 |
- developers to develop their own socket providers in case the standard |
|
| 14 |
- socket providers are insufficient.) |
|
| 15 |
- |
|
| 16 |
- - `derivepassphrase vault --version` now defers testing for SSH agent |
|
| 17 |
- support (the "master SSH key" feature) to the SSH agent client |
|
| 18 |
- constructor, instead of examining the environment itself and drawing its |
|
| 19 |
- own conclusions. |
|
| 20 |
- |
|
| 21 |
- - For developers: Feature flags and similar enum values are now |
|
| 22 |
- self-testing, i.e., they include [their own code for testing whether they |
|
| 23 |
- are active/enabled/supported][derivepassphrase._types.FeatureTestEnum]. |
|
| 24 |
- |
| ... | ... |
@@ -1,11 +0,0 @@ |
| 1 |
-### Fixed |
|
| 2 |
- |
|
| 3 |
- - Officially and systematically test on Python 3.14. |
|
| 4 |
- |
|
| 5 |
- Unofficial, non-systematic testing was already being done since v0.5. |
|
| 6 |
- |
|
| 7 |
- - For developers: Refactor the test suite into more fine-grained modules, |
|
| 8 |
- and deduplicate code in the test methods in favor of parametrization. |
|
| 9 |
- Both measures should make the test suite easier to navigate and less |
|
| 10 |
- prone to copy-and-paste and code desynchronization mistakes. |
|
| 11 |
- |
| ... | ... |
@@ -1,28 +0,0 @@ |
| 1 |
-### Changed |
|
| 2 |
- |
|
| 3 |
- - The error message "Cannot connect to an SSH agent because this Python |
|
| 4 |
- version does not support UNIX domain sockets." (code: `NO_AF_UNIX`) now |
|
| 5 |
- reads "Cannot connect to an SSH agent because this Python version does |
|
| 6 |
- not support communicating with it." and has a new code |
|
| 7 |
- (`NO_AGENT_SUPPORT`). |
|
| 8 |
- `derivepassphrase` may also try out certain communication channels |
|
| 9 |
- (depending on the installation environment), and issue warnings relating |
|
| 10 |
- to its failure to establish communication on those channels, before |
|
| 11 |
- issuing the above error. |
|
| 12 |
- |
|
| 13 |
- The `NO_AF_UNIX` code is reused by the new warning message "Cannot |
|
| 14 |
- connect to an SSH agent via UNIX domain sockets because this Python |
|
| 15 |
- version does not support them.", which is one of the aforementioned |
|
| 16 |
- related warning messages. |
|
| 17 |
- |
|
| 18 |
- The manpages document both the old and the new codes, with appropriate |
|
| 19 |
- notices. |
|
| 20 |
- |
|
| 21 |
-### Fixed |
|
| 22 |
- |
|
| 23 |
- - For developers: The manpage diagnostics helper scripts now explicitly |
|
| 24 |
- support documentation of message codes that exist only as marks in the |
|
| 25 |
- manpages, not in the program code. |
|
| 26 |
- This allows documenting message codes that have since been removed from |
|
| 27 |
- the program code. |
|
| 28 |
- |
| ... | ... |
@@ -1,14 +0,0 @@ |
| 1 |
-### Changed |
|
| 2 |
- |
|
| 3 |
- - For developers: The internal helper function |
|
| 4 |
- `derivepassphrase._internals.cli_helpers.key_to_phrase` now takes |
|
| 5 |
- mandatory callback parameters to handle warning and error messages. |
|
| 6 |
- This is a side-effect of the "SSH agent socket providers" system, which |
|
| 7 |
- necessitates more complicated error and warning handling. |
|
| 8 |
- |
|
| 9 |
- We considered making the callback parameters optional and supplying |
|
| 10 |
- a default handler that suppress warnings and exit on error, but then we |
|
| 11 |
- learned the hard way that those defaults make it too easy to suppress |
|
| 12 |
- warnings *by accident*, just because we forgot to supply a certain |
|
| 13 |
- function parameter. |
|
| 14 |
- |
| ... | ... |
@@ -1,104 +0,0 @@ |
| 1 |
-### Added |
|
| 2 |
- |
|
| 3 |
- - For `derivepassphrase vault`, support interacting with SSH agents on |
|
| 4 |
- <abbr title="Microsoft Windows">The Annoying OS</abbr>, using Windows |
|
| 5 |
- named pipes and the `SSH_AUTH_SOCK` environment variable. |
|
| 6 |
- Also support the two major SSH agents Pageant ([PuTTY][]) and |
|
| 7 |
- `ssh-agent` ([OpenSSH][]) specifically, without needing the user to |
|
| 8 |
- specify the address of the Windows named pipe. |
|
| 9 |
- [GnuPG][]'s `gpg-agent` (masquerading as OpenSSH's `ssh-agent`) is also |
|
| 10 |
- known to work. |
|
| 11 |
- |
|
| 12 |
- This support is based on the [`ctypes.WinDLL`][ctypes.WinDLL] interface, |
|
| 13 |
- and requires access to the `kernel32.dll` library on <abbr |
|
| 14 |
- title="Microsoft Windows">The Annoying OS</abbr> at runtime. |
|
| 15 |
- `derivepassphrase vault --version` will reliably report whether this |
|
| 16 |
- feature -- the `windows_named_pipe`, `pageant_on_windows` and |
|
| 17 |
- `openssh_on_windows` SSH agent socket providers -- is available. |
|
| 18 |
- |
|
| 19 |
- <b>Caveat</b>: On <abbr title="Microsoft Windows">The Annoying |
|
| 20 |
- OS</abbr>, the user or developer should [mark all SSH agents as |
|
| 21 |
- non-reentrant](#changed-in-v0.6-non-reentrant-ssh-agents) and run the |
|
| 22 |
- test suite without parallelization, because the test suite cannot spawn |
|
| 23 |
- isolated agents on <abbr title="Microsoft Windows">The Annoying |
|
| 24 |
- OS</abbr>. |
|
| 25 |
- The OpenSSH agent implementation interacts very badly with the feature |
|
| 26 |
- detection logic from the test suite, because it shuts down the |
|
| 27 |
- connection upon negative responses of any kind (in violation of the |
|
| 28 |
- protocol); the user or developer may want to use GnuPG's emulation |
|
| 29 |
- instead, or restrict themselves to PuTTY. |
|
| 30 |
- →[:material-bug:][BUG_WINDOWS_SSH_AGENT_SUPPORT] |
|
| 31 |
- |
|
| 32 |
- - For `derivepassphrase vault`, support specifying the desired SSH agent |
|
| 33 |
- socket provider via the command-line option |
|
| 34 |
- `--ssh-agent-socket-provider` and via the configuration option |
|
| 35 |
- `ssh-agent-socket-provider` in the `vault` table. |
|
| 36 |
- The list of available providers can be queried with `derivepassphrase |
|
| 37 |
- vault --version`. |
|
| 38 |
- The command-line option takes precedence over the configuration option. |
|
| 39 |
- |
|
| 40 |
-### Changed |
|
| 41 |
- |
|
| 42 |
- - For developers: The test suite now distinguishes between |
|
| 43 |
- <dfn>isolated</dfn> SSH agents (spawned and managed by the test suite) |
|
| 44 |
- and non-isolated ones (spawned by the user, potentially in use by other |
|
| 45 |
- programs). |
|
| 46 |
- |
|
| 47 |
- All tests involving SSH agents are included in a separate group, so that |
|
| 48 |
- the test harness distributes them to the same worker process. |
|
| 49 |
- |
|
| 50 |
- - For developers: The test suite now supports <b |
|
| 51 |
- id="changed-in-v0.6-selective-ssh-agent-testing">selectively enabling |
|
| 52 |
- SSH agents to test with</b> via the `PERMITTED_SSH_AGENTS` environment |
|
| 53 |
- variable, which takes a comma-separated list of internal IDs of known |
|
| 54 |
- SSH agent implementations. |
|
| 55 |
- (Invalid entries are silently ignored.) |
|
| 56 |
- The test suite will only attempt to spawn or interface with agents of |
|
| 57 |
- permitted types, and skip tests otherwise. |
|
| 58 |
- |
|
| 59 |
- Intended to avoid spawning certain SSH agents just because they are |
|
| 60 |
- installed, or spawning unrelated executables that are mistaken for |
|
| 61 |
- the respective SSH agent due to identical executable names. |
|
| 62 |
- |
|
| 63 |
- - For developers: The test suite now supports <b |
|
| 64 |
- id="changed-in-v0.6-non-reentrant-ssh-agents">marking SSH agents as |
|
| 65 |
- non-reentrant</b> via the `NON_REENTRANT_SSH_AGENTS` environment |
|
| 66 |
- variable, which takes a comma-separated list of internal IDs of known |
|
| 67 |
- SSH agent implementations. |
|
| 68 |
- (Invalid entries are silently ignored.) |
|
| 69 |
- The test suite will avoid constructing multiple SSH agent clients |
|
| 70 |
- connecting to such an SSH agent by reusing client instances, or skipping |
|
| 71 |
- the test altogether. |
|
| 72 |
- |
|
| 73 |
- Intended to avoid deadlocks with shared agent instances that do not |
|
| 74 |
- cleanly support multiple simultaneous clients. |
|
| 75 |
- |
|
| 76 |
- - [GnuPG][] v2.4.8 appears to use a single thread to both accept |
|
| 77 |
- incoming SSH agent client connections and service them; |
|
| 78 |
- running two clients simultaneously blocks the second client from |
|
| 79 |
- connecting until the first client disconnects. |
|
| 80 |
- This precludes normal usage in the test suite, where the test suite |
|
| 81 |
- keeps a client connection to the agent open for the duration of the |
|
| 82 |
- test run (to upload test keys at the beginning and remove them at |
|
| 83 |
- the end). |
|
| 84 |
- |
|
| 85 |
- - Pageant principally supports multiple simultaneous clients. |
|
| 86 |
- However, the test suite sporadically triggers errors where responses |
|
| 87 |
- from Pageant contain extra blocks of NUL characters, confusing |
|
| 88 |
- `derivepassphrase`. |
|
| 89 |
- We have not observed any such errors yet when treating Pageant as |
|
| 90 |
- non-reentrant. |
|
| 91 |
- |
|
| 92 |
- (So far, we have *only* been able to trigger these errors during |
|
| 93 |
- test suite runs, not during instrumented calls specifically |
|
| 94 |
- attempting to trigger this behavior. |
|
| 95 |
- We are also unsure if this is a bug in Pageant, a bug in |
|
| 96 |
- `derivepassphrase`, a bug or a limitation in Python's [`ctypes`][] |
|
| 97 |
- implementation, or a bug or a limitation of Windows named pipes, or |
|
| 98 |
- perhaps some combination of the aforementioned.) |
|
| 99 |
- |
|
| 100 |
-[BUG_WINDOWS_SSH_AGENT_SUPPORT]: ../wishlist/windows-ssh-agent-support.md |
|
| 101 |
- |
|
| 102 |
-[OpenSSH]: https://www.openssh.org |
|
| 103 |
-[PuTTY]: https://putty.software |
|
| 104 |
-[GnuPG]: https://gnupg.org |
| ... | ... |
@@ -51,6 +51,176 @@ specifically marked as such.) |
| 51 | 51 |
|
| 52 | 52 |
<!-- scriv changelog start --> |
| 53 | 53 |
|
| 54 |
+## 0.6 (2026-04-02) {#v0.6}
|
|
| 55 |
+ |
|
| 56 |
+### Added {#added-in-v0.6}
|
|
| 57 |
+ |
|
| 58 |
+ - For `derivepassphrase vault`, in the SSH agent client, introduce a new |
|
| 59 |
+ abstraction layer responsible for establishing the connection to the SSH |
|
| 60 |
+ agent: "SSH agent socket providers". |
|
| 61 |
+ Reframe the existing code for connecting to SSH agents on UNIX as |
|
| 62 |
+ a standard socket provider, and reserve a second standard socket |
|
| 63 |
+ provider, yet to be written, for <abbr title="Microsoft Windows">The |
|
| 64 |
+ Annoying OS</abbr>.[^the-annoying-os] |
|
| 65 |
+ |
|
| 66 |
+ (The system is based on Python package [entry |
|
| 67 |
+ points][importlib.metadata.entry_points], and is open for third-party |
|
| 68 |
+ developers to develop their own socket providers in case the standard |
|
| 69 |
+ socket providers are insufficient.) |
|
| 70 |
+ |
|
| 71 |
+ - `derivepassphrase vault --version` now defers testing for SSH agent |
|
| 72 |
+ support (the "master SSH key" feature) to the SSH agent client |
|
| 73 |
+ constructor, instead of examining the environment itself and drawing its |
|
| 74 |
+ own conclusions. |
|
| 75 |
+ |
|
| 76 |
+ - For `derivepassphrase vault`, support interacting with SSH agents on |
|
| 77 |
+ <abbr title="Microsoft Windows">The Annoying OS</abbr>, using Windows |
|
| 78 |
+ named pipes and the `SSH_AUTH_SOCK` environment variable. |
|
| 79 |
+ Also support the two major SSH agents Pageant ([PuTTY][]) and |
|
| 80 |
+ `ssh-agent` ([OpenSSH][]) specifically, without needing the user to |
|
| 81 |
+ specify the address of the Windows named pipe. |
|
| 82 |
+ [GnuPG][]'s `gpg-agent` (masquerading as OpenSSH's `ssh-agent`) is also |
|
| 83 |
+ known to work. |
|
| 84 |
+ |
|
| 85 |
+ This support is based on the [`ctypes.WinDLL`][] interface, and requires |
|
| 86 |
+ access to the `kernel32.dll` library on <abbr title="Microsoft |
|
| 87 |
+ Windows">The Annoying OS</abbr> at runtime. |
|
| 88 |
+ `derivepassphrase vault --version` will reliably report whether this |
|
| 89 |
+ feature -- the `windows_named_pipe`, `pageant_on_windows` and |
|
| 90 |
+ `openssh_on_windows` SSH agent socket providers -- is available. |
|
| 91 |
+ |
|
| 92 |
+ <b>Caveat</b>: On <abbr title="Microsoft Windows">The Annoying |
|
| 93 |
+ OS</abbr>, the user or developer should [mark all SSH agents as |
|
| 94 |
+ non-reentrant](#changed-in-v0.6-non-reentrant-ssh-agents) and run the |
|
| 95 |
+ test suite without parallelization, because the test suite cannot spawn |
|
| 96 |
+ isolated agents on <abbr title="Microsoft Windows">The Annoying |
|
| 97 |
+ OS</abbr>. |
|
| 98 |
+ The OpenSSH agent implementation interacts very badly with the feature |
|
| 99 |
+ detection logic from the test suite, because it shuts down the |
|
| 100 |
+ connection upon negative responses of any kind (in violation of the |
|
| 101 |
+ protocol); the user or developer may want to use GnuPG's emulation |
|
| 102 |
+ instead, or restrict themselves to PuTTY. |
|
| 103 |
+ →[:material-bug:][BUG_WINDOWS_SSH_AGENT_SUPPORT] |
|
| 104 |
+ |
|
| 105 |
+ - For `derivepassphrase vault`, support specifying the desired SSH agent |
|
| 106 |
+ socket provider via the command-line option |
|
| 107 |
+ `--ssh-agent-socket-provider` and via the configuration option |
|
| 108 |
+ `ssh-agent-socket-provider` in the `vault` table. |
|
| 109 |
+ The list of available providers can be queried with `derivepassphrase |
|
| 110 |
+ vault --version`. |
|
| 111 |
+ The command-line option takes precedence over the configuration option. |
|
| 112 |
+ |
|
| 113 |
+ - For developers: Feature flags and similar enum values are now |
|
| 114 |
+ self-testing, i.e., they include [their own code for testing whether they |
|
| 115 |
+ are active/enabled/supported][derivepassphrase._types.FeatureTestEnum]. |
|
| 116 |
+ |
|
| 117 |
+### Changed {#changed-in-v0.6}
|
|
| 118 |
+ |
|
| 119 |
+ - The error message "Cannot connect to an SSH agent because this Python |
|
| 120 |
+ version does not support UNIX domain sockets." (code: `NO_AF_UNIX`) now |
|
| 121 |
+ reads "Cannot connect to an SSH agent because this Python version does |
|
| 122 |
+ not support communicating with it." and has a new code |
|
| 123 |
+ (`NO_AGENT_SUPPORT`). |
|
| 124 |
+ `derivepassphrase` may also try out certain communication channels |
|
| 125 |
+ (depending on the installation environment), and issue warnings relating |
|
| 126 |
+ to its failure to establish communication on those channels, before |
|
| 127 |
+ issuing the above error. |
|
| 128 |
+ |
|
| 129 |
+ The `NO_AF_UNIX` code is reused by the new warning message "Cannot |
|
| 130 |
+ connect to an SSH agent via UNIX domain sockets because this Python |
|
| 131 |
+ version does not support them.", which is one of the aforementioned |
|
| 132 |
+ related warning messages. |
|
| 133 |
+ |
|
| 134 |
+ The manpages document both the old and the new codes, with appropriate |
|
| 135 |
+ notices. |
|
| 136 |
+ |
|
| 137 |
+ - For developers: The internal helper function |
|
| 138 |
+ `derivepassphrase._internals.cli_helpers.key_to_phrase` now takes |
|
| 139 |
+ mandatory callback parameters to handle warning and error messages. |
|
| 140 |
+ This is a side-effect of the "SSH agent socket providers" system, which |
|
| 141 |
+ necessitates more complicated error and warning handling. |
|
| 142 |
+ |
|
| 143 |
+ We considered making the callback parameters optional and supplying |
|
| 144 |
+ a default handler that suppress warnings and exit on error, but then we |
|
| 145 |
+ learned the hard way that those defaults make it too easy to suppress |
|
| 146 |
+ warnings *by accident*, just because we forgot to supply a certain |
|
| 147 |
+ function parameter. |
|
| 148 |
+ |
|
| 149 |
+ - For developers: The test suite now distinguishes between |
|
| 150 |
+ <dfn>isolated</dfn> SSH agents (spawned and managed by the test suite) |
|
| 151 |
+ and non-isolated ones (spawned by the user, potentially in use by other |
|
| 152 |
+ programs). |
|
| 153 |
+ |
|
| 154 |
+ All tests involving SSH agents are included in a separate group, so that |
|
| 155 |
+ the test harness distributes them to the same worker process. |
|
| 156 |
+ |
|
| 157 |
+ - For developers: The test suite now supports <b |
|
| 158 |
+ id="changed-in-v0.6-selective-ssh-agent-testing">selectively enabling |
|
| 159 |
+ SSH agents to test with</b> via the `PERMITTED_SSH_AGENTS` environment |
|
| 160 |
+ variable, which takes a comma-separated list of internal IDs of known |
|
| 161 |
+ SSH agent implementations. |
|
| 162 |
+ (Invalid entries are silently ignored.) |
|
| 163 |
+ The test suite will only attempt to spawn or interface with agents of |
|
| 164 |
+ permitted types, and skip tests otherwise. |
|
| 165 |
+ |
|
| 166 |
+ Intended to avoid spawning certain SSH agents just because they are |
|
| 167 |
+ installed, or spawning unrelated executables that are mistaken for |
|
| 168 |
+ the respective SSH agent due to identical executable names. |
|
| 169 |
+ |
|
| 170 |
+ - For developers: The test suite now supports <b |
|
| 171 |
+ id="changed-in-v0.6-non-reentrant-ssh-agents">marking SSH agents as |
|
| 172 |
+ non-reentrant</b> via the `NON_REENTRANT_SSH_AGENTS` environment |
|
| 173 |
+ variable, which takes a comma-separated list of internal IDs of known |
|
| 174 |
+ SSH agent implementations. |
|
| 175 |
+ (Invalid entries are silently ignored.) |
|
| 176 |
+ The test suite will avoid constructing multiple SSH agent clients |
|
| 177 |
+ connecting to such an SSH agent by reusing client instances, or skipping |
|
| 178 |
+ the test altogether. |
|
| 179 |
+ |
|
| 180 |
+ Intended to avoid deadlocks with shared agent instances that do not |
|
| 181 |
+ cleanly support multiple simultaneous clients. |
|
| 182 |
+ |
|
| 183 |
+ - [GnuPG][] v2.4.8 appears to use a single thread to both accept |
|
| 184 |
+ incoming SSH agent client connections and service them; |
|
| 185 |
+ running two clients simultaneously blocks the second client from |
|
| 186 |
+ connecting until the first client disconnects. |
|
| 187 |
+ This precludes normal usage in the test suite, where the test suite |
|
| 188 |
+ keeps a client connection to the agent open for the duration of the |
|
| 189 |
+ test run (to upload test keys at the beginning and remove them at |
|
| 190 |
+ the end). |
|
| 191 |
+ |
|
| 192 |
+ - Pageant principally supports multiple simultaneous clients. |
|
| 193 |
+ However, the test suite sporadically triggers errors where responses |
|
| 194 |
+ from Pageant contain extra blocks of NUL characters, confusing |
|
| 195 |
+ `derivepassphrase`. |
|
| 196 |
+ We have not observed any such errors yet when treating Pageant as |
|
| 197 |
+ non-reentrant. |
|
| 198 |
+ |
|
| 199 |
+ (So far, we have *only* been able to trigger these errors during |
|
| 200 |
+ test suite runs, not during instrumented calls specifically |
|
| 201 |
+ attempting to trigger this behavior. |
|
| 202 |
+ We are also unsure if this is a bug in Pageant, a bug in |
|
| 203 |
+ `derivepassphrase`, a bug or a limitation in Python's [`ctypes`][] |
|
| 204 |
+ implementation, or a bug or a limitation of Windows named pipes, or |
|
| 205 |
+ perhaps some combination of the aforementioned.) |
|
| 206 |
+ |
|
| 207 |
+### Fixed {#fixed-in-v0.6}
|
|
| 208 |
+ |
|
| 209 |
+ - Officially and systematically test on Python 3.14. |
|
| 210 |
+ |
|
| 211 |
+ Unofficial, non-systematic testing was already being done since v0.5. |
|
| 212 |
+ |
|
| 213 |
+ - For developers: Refactor the test suite into more fine-grained modules, |
|
| 214 |
+ and deduplicate code in the test methods in favor of parametrization. |
|
| 215 |
+ Both measures should make the test suite easier to navigate and less |
|
| 216 |
+ prone to copy-and-paste and code desynchronization mistakes. |
|
| 217 |
+ |
|
| 218 |
+ - For developers: The manpage diagnostics helper scripts now explicitly |
|
| 219 |
+ support documentation of message codes that exist only as marks in the |
|
| 220 |
+ manpages, not in the program code. |
|
| 221 |
+ This allows documenting message codes that have since been removed from |
|
| 222 |
+ the program code. |
|
| 223 |
+ |
|
| 54 | 224 |
## 0.5.2 (2025-08-03) {#v0.5.2}
|
| 55 | 225 |
|
| 56 | 226 |
### Fixed {#fixed-in-v0.5.2}
|
| ... | ... |
@@ -66,7 +236,7 @@ specifically marked as such.) |
| 66 | 236 |
- For developers: Fix some errors in the test suite (both code and |
| 67 | 237 |
dependency declaration) that cause the suite to fail to even start on |
| 68 | 238 |
<abbr title="Microsoft Windows">The Annoying |
| 69 |
- OS</abbr>.[^the-annoying-os] |
|
| 239 |
+ OS</abbr>. |
|
| 70 | 240 |
These mistakes were already present in v0.5. |
| 71 | 241 |
|
| 72 | 242 |
- For developers: Fix a copy-and-paste error in the parsed data for the |
| ... | ... |
@@ -643,6 +813,10 @@ specifically marked as such.) |
| 643 | 813 |
|
| 644 | 814 |
[RFC 6979]: https://www.rfc-editor.org/rfc/rfc6979 |
| 645 | 815 |
|
| 816 |
+[OpenSSH]: https://www.openssh.org |
|
| 817 |
+[PuTTY]: https://putty.software |
|
| 818 |
+[GnuPG]: https://gnupg.org |
|
| 819 |
+ |
|
| 646 | 820 |
[CLI]: reference/derivepassphrase.1.md |
| 647 | 821 |
[CLI_EXPORT]: reference/derivepassphrase-export.1.md |
| 648 | 822 |
[CLI_EXPORT_VAULT]: reference/derivepassphrase-export-vault.1.md |
| ... | ... |
@@ -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.5.2" |
|
| 9 |
+version = "0.6" |
|
| 10 | 10 |
requires-python = ">= 3.9" |
| 11 | 11 |
license = { text = "zlib/libpng" }
|
| 12 | 12 |
keywords = [] |
| ... | ... |
@@ -113,7 +113,7 @@ Issues = "https://the13thletter.info/derivepassphrase/latest/wishlist/" |
| 113 | 113 |
Source = "https://git.schokokeks.org/derivepassphrase.git" |
| 114 | 114 |
|
| 115 | 115 |
[tool.bumpversion] |
| 116 |
-current_version = "0.5.2" |
|
| 116 |
+current_version = "0.6" |
|
| 117 | 117 |
# As of bump-my-version 0.32.0, version components are strictly |
| 118 | 118 |
# hierarchical in the order of occurrence, and there is no support for |
| 119 | 119 |
# pre-release markers. The documentation suggests a fake "dev/rc/final" |