Marco Ricci commited on 2025-06-17 22:27:50
Zeige 3 geänderte Dateien mit 44 Einfügungen und 25 Löschungen.
The entry names are very verbose, and cannot be shortened to a number. So use a generic symbol instead: a bug for bugs, a giftbox for wishes. Also add a legend, and slightly adjust the vertical positioning of these icons.
... | ... |
@@ -36,6 +36,13 @@ |
36 | 36 |
or <b>minor</b>, these are accompanied by corresponding entries |
37 | 37 |
of the respective types above. |
38 | 38 |
|
39 |
+!!! abstract inline end "Legend: symbols" |
|
40 |
+ |
|
41 |
+ <ul style="list-style-type: none;"> |
|
42 |
+ <li>:material-bug: --- a related bug entry from the wishlist page |
|
43 |
+ <li>:material-gift: --- a related wishlist entry from the wishlist page |
|
44 |
+ </ul> |
|
45 |
+ |
|
39 | 46 |
<aside markdown><small> |
40 | 47 |
(All entries are from the perspective of a user of the program or the API. |
41 | 48 |
As an exception, entries partaining to developers of `derivepassphrase` are |
... | ... |
@@ -61,7 +68,7 @@ specifically marked as such.) |
61 | 68 |
requested or rejected reliably across different terminal programs, we |
62 | 69 |
will rather emit only uncolored, unstyled, lowest-common-denominator |
63 | 70 |
device-independent output. |
64 |
- ([`conventional-configurable-text-styling`][WISH_CONVENTIONAL_CONFIGURABLE_TEXT_STYLING]) |
|
71 |
+ →[:material-gift:][WISH_CONVENTIONAL_CONFIGURABLE_TEXT_STYLING] |
|
65 | 72 |
|
66 | 73 |
### Added {#added-in-v0.5} |
67 | 74 |
|
... | ... |
@@ -95,14 +102,14 @@ specifically marked as such.) |
95 | 102 |
- For [`derivepassphrase vault`][CLI_VAULT], support printing the service |
96 | 103 |
notes before the passphrase, as an alternative, instead of always |
97 | 104 |
printing them *after* the passphrase. |
98 |
- ([`print-service-notes-above`][WISH_PRINT_SERVICE_NOTES_ABOVE]) |
|
105 |
+ →[:material-gift:][WISH_PRINT_SERVICE_NOTES_ABOVE] |
|
99 | 106 |
|
100 | 107 |
- In the `--version` option of [`derivepassphrase`][CLI] and each |
101 | 108 |
subcommand, additionally report build and environment information, such |
102 | 109 |
as supported subcommands, derivation schemes, foreign configuration |
103 | 110 |
formats and active [PEP 508 extras](https://peps.python.org/pep-0508/). |
104 | 111 |
(Each subcommand only reports the items relevant to that subcommand.) |
105 |
- ([`report-build-flags-and-features`][WISH_REPORT_BUILD_FLAGS_AND_FEATURES]) |
|
112 |
+ →[:material-gift:][WISH_REPORT_BUILD_FLAGS_AND_FEATURES] |
|
106 | 113 |
|
107 | 114 |
- For developers: Rewrite the tests concerning [`derivepassphrase |
108 | 115 |
vault`][CLI_VAULT] and `--notes` usage into [hypothesis][]-based tests |
... | ... |
@@ -194,7 +201,7 @@ specifically marked as such.) |
194 | 201 |
better built-in query functionality for the effective configuration is |
195 | 202 |
available, because users should not be rewarded for meddling around in |
196 | 203 |
data files. |
197 |
- ([`pretty-print-json`][WISH_PRETTY_PRINT_JSON]) |
|
204 |
+ →[:material-gift:][WISH_PRETTY_PRINT_JSON] |
|
198 | 205 |
|
199 | 206 |
### Fixed {#fixed-in-v0.5} |
200 | 207 |
|
... | ... |
@@ -206,16 +213,16 @@ specifically marked as such.) |
206 | 213 |
- For [`derivepassphrase vault`][CLI_VAULT], when exporting a vault |
207 | 214 |
configuration, export a pretty-printed configuration, to ease debugging |
208 | 215 |
and introspection. |
209 |
- ([`pretty-print-json`][WISH_PRETTY_PRINT_JSON]) |
|
216 |
+ →[:material-gift:][WISH_PRETTY_PRINT_JSON] |
|
210 | 217 |
|
211 | 218 |
- For [`derivepassphrase vault`][CLI_VAULT], also print the service notes |
212 | 219 |
(if any) when deriving a service passphrase, just like <i>vault</i>(1) |
213 | 220 |
does. |
214 |
- ([`print-service-notes`][BUG_PRINT_SERVICE_NOTES]) |
|
221 |
+ →[:material-bug:][BUG_PRINT_SERVICE_NOTES] |
|
215 | 222 |
|
216 | 223 |
- Lock our internals and their configuration against concurrent |
217 | 224 |
modifications. |
218 |
- ([`concurrency-audit`][BUG_CONCURRENCY_AUDIT]) |
|
225 |
+ →[:material-bug:][BUG_CONCURRENCY_AUDIT] |
|
219 | 226 |
|
220 | 227 |
- Test against PyPy 3.11. |
221 | 228 |
|
... | ... |
@@ -245,7 +252,7 @@ specifically marked as such.) |
245 | 252 |
the locking system as a whole, when given functioning locking |
246 | 253 |
primitives, correctly serializes access to the facilities it is supposed |
247 | 254 |
to guard. |
248 |
- ([`concurrency-testing-in-test-suite`][BUG_CONCURRENCY_TESTING_IN_TEST_SUITE]) |
|
255 |
+ →[:material-bug:][BUG_CONCURRENCY_TESTING_IN_TEST_SUITE] |
|
249 | 256 |
|
250 | 257 |
## 0.4.0 (2025-01-07) {#v0.4.0} |
251 | 258 |
|
... | ... |
@@ -372,13 +379,13 @@ specifically marked as such.) |
372 | 379 |
- Add SSH agent spawning support to the test suite. |
373 | 380 |
Use this support to test the agent functionality on all known major SSH |
374 | 381 |
agent implementations automatically. |
375 |
- ([`test-suite-isolated-ssh-agent`][WISH_TEST_SUITE_ISOLATED_SSH_AGENT]) |
|
382 |
+ →[:material-gift:][WISH_TEST_SUITE_ISOLATED_SSH_AGENT] |
|
376 | 383 |
- Add [hypothesis][]-based tests to the test suite. |
377 | 384 |
- Update README to add explanations for virtual environments and package |
378 | 385 |
extras. |
379 | 386 |
- Update README to demonstrate configuration storing and SSH agent use. |
380 | 387 |
Include comments on Windows support for SSH agents. |
381 |
- ([`windows-ssh-agent-support`][BUG_WINDOWS_SSH_AGENT_SUPPORT]) |
|
388 |
+ →[:material-bug:][BUG_WINDOWS_SSH_AGENT_SUPPORT] |
|
382 | 389 |
- Use cross-references in the documentation of function signatures. |
383 | 390 |
- Add proper support for Buffer types in the SSH agent client. |
384 | 391 |
Any Python object supporting the buffer protocol can be used as input to |
... | ... |
@@ -414,8 +421,8 @@ specifically marked as such.) |
414 | 421 |
the SSH agent because Python does not support UNIX domain sockets on |
415 | 422 |
this system. |
416 | 423 |
In particular, this is the current situation on Windows. |
417 |
- ([`fail-gracefully-without-af-unix`][BUG_FAIL_GRACEFULLY_WITHOUT_AF_UNIX], |
|
418 |
- [`windows-ssh-agent-support`][BUG_WINDOWS_SSH_AGENT_SUPPORT]) |
|
424 |
+ →[:material-bug:][BUG_FAIL_GRACEFULLY_WITHOUT_AF_UNIX] |
|
425 |
+ [:material-bug:][BUG_WINDOWS_SSH_AGENT_SUPPORT] |
|
419 | 426 |
|
420 | 427 |
This adds another failure case to the `SSHAgentClient` constructor, and |
421 | 428 |
therefore constitutes a **breaking API change**. |
... | ... |
@@ -430,7 +437,7 @@ specifically marked as such.) |
430 | 437 |
accept falsy values everywhere `vault` does, with a warning. |
431 | 438 |
Depending on the setting, they are equivalent to zero, the empty string, |
432 | 439 |
or "not set". |
433 |
- ([`falsy-vault-config-values`][BUG_FALSY_VAULT_CONFIG_VALUES]) |
|
440 |
+ →[:material-bug:][BUG_FALSY_VAULT_CONFIG_VALUES] |
|
434 | 441 |
|
435 | 442 |
This is a command-line only change, and only affects importing. |
436 | 443 |
The API provides a new function to normalize falsy settings, but still |
... | ... |
@@ -446,7 +453,7 @@ specifically marked as such.) |
446 | 453 |
The import procedure is thus more akin to a section-wise import of |
447 | 454 |
the configurations, instead of a "full" import, and the resulting |
448 | 455 |
configuration generally is a merge of both inputs. |
449 |
- ([`amend-vault-config`][BUG_AMEND_VAULT_CONFIG]) |
|
456 |
+ →[:material-bug:][BUG_AMEND_VAULT_CONFIG] |
|
450 | 457 |
|
451 | 458 |
- The following operations or configuration settings now raise |
452 | 459 |
warnings: |
... | ... |
@@ -474,7 +481,7 @@ specifically marked as such.) |
474 | 481 |
|
475 | 482 |
This feature requires the `cryptography` Python module, but is available |
476 | 483 |
even if `vault` is not installed. |
477 |
- ([`export-vault-formats`][WISH_EXPORT_VAULT_FORMATS]) |
|
484 |
+ →[:material-gift:][WISH_EXPORT_VAULT_FORMATS] |
|
478 | 485 |
|
479 | 486 |
### Fixed {#fixed-in-v0.2.0} |
480 | 487 |
|
... | ... |
@@ -489,20 +496,20 @@ specifically marked as such.) |
489 | 496 |
Further moved `derivepassphrase.Vault` and |
490 | 497 |
`derivepassphrase.AmbiguousByteRepresentation` into a new submodule |
491 | 498 |
`vault`, and renamed submodule `ssh_agent_client` to `ssh_agent`. |
492 |
- ([`single-toplevel-module`][BUG_SINGLE_TOPLEVEL_MODULE]) |
|
499 |
+ →[:material-bug:][BUG_SINGLE_TOPLEVEL_MODULE] |
|
493 | 500 |
- Changed internal error handling and error messages, to better work in |
494 | 501 |
the context of a command-line tool. |
495 |
- ([`better-error-messages`][BUG_BETTER_ERROR_MESSAGES]) |
|
502 |
+ →[:material-bug:][BUG_BETTER_ERROR_MESSAGES] |
|
496 | 503 |
- Combine and consolidate `derivepassphrase.types` and |
497 | 504 |
`derivepassphrase.ssh_agent.types` into a new submodule |
498 | 505 |
`derivepassphrase._types`. |
499 | 506 |
Despite the name, the module is public. |
500 |
- ([`no-stdlib-module-names`][BUG_NO_STDLIB_MODULE_NAMES]) |
|
507 |
+ →[:material-bug:][BUG_NO_STDLIB_MODULE_NAMES] |
|
501 | 508 |
- Warn the user when entering (directly, or via configuration |
502 | 509 |
editing/importing) a passphrase that is not in the configured Unicode |
503 | 510 |
normalization form. |
504 | 511 |
(But don't otherwise reject any textual master passphrases.) |
505 |
- ([`allow-all-unicode-passphrases`][BUG_ALLOW_ALL_UNICODE_PASSPHRASES]) |
|
512 |
+ →[:material-bug:][BUG_ALLOW_ALL_UNICODE_PASSPHRASES] |
|
506 | 513 |
- Move all existing functionality into a subcommand, in anticipation of |
507 | 514 |
other passphrase derivation schemes, with different settings. |
508 | 515 |
Automatically forward calls without a subcommand to the "vault" |
... | ... |
@@ -512,12 +519,12 @@ specifically marked as such.) |
512 | 519 |
instead of globally. |
513 | 520 |
Automatically fall back to, and migrate, the old global settings file if |
514 | 521 |
no subsystem-specific configuration was found. |
515 |
- ([`other-derivation-schemes`][WISH_OTHER_DERIVATION_SCHEMES], |
|
516 |
- [`scheme-specific-cli-and-config`][WISH_SCHEME_SPECIFIC_CLI_AND_CONFIG]) |
|
522 |
+ →[:material-gift:][WISH_OTHER_DERIVATION_SCHEMES] |
|
523 |
+ [:material-gift:][WISH_SCHEME_SPECIFIC_CLI_AND_CONFIG] |
|
517 | 524 |
|
518 | 525 |
- Make `derivepassphrase_export` a subcommand: [`derivepassphrase |
519 | 526 |
export`][CLI_EXPORT]. |
520 |
- ([`exporter-script-as-subcommand`][WISH_EXPORTER_SCRIPT_AS_SUBCOMMAND]) |
|
527 |
+ →[:material-gift:][WISH_EXPORTER_SCRIPT_AS_SUBCOMMAND] |
|
521 | 528 |
|
522 | 529 |
### Deprecated {#deprecated-in-v0.2.0} |
523 | 530 |
|
... | ... |
@@ -531,14 +538,14 @@ specifically marked as such.) |
531 | 538 |
|
532 | 539 |
- Do not crash upon selecting a key on the command-line if there already |
533 | 540 |
is a key stored in the configuration. |
534 |
- ([`one-time-key-override-fails`][BUG_ONE_TIME_KEY_OVERRIDE_FAILS]) |
|
541 |
+ →[:material-bug:][BUG_ONE_TIME_KEY_OVERRIDE_FAILS] |
|
535 | 542 |
- Create the configuration directory upon saving, if it does not yet |
536 | 543 |
exist. |
537 |
- ([`configuration-directory-must-exist`][BUG_CONFIGURATION_DIRECTORY_MUST_EXIST]) |
|
544 |
+ →[:material-bug:][BUG_CONFIGURATION_DIRECTORY_MUST_EXIST] |
|
538 | 545 |
- Isolate the tests properly and consistently from the user's |
539 | 546 |
configuration, so that user configuration problems do not cause |
540 | 547 |
unrelated test failures. |
541 |
- ([`test-filesystem-isolation`][BUG_TEST_FILESYSTEM_ISOLATION]) |
|
548 |
+ →[:material-bug:][BUG_TEST_FILESYSTEM_ISOLATION] |
|
542 | 549 |
- Add an alternate MkDocs configuration for building the documentation in |
543 | 550 |
offline mode. |
544 | 551 |
- Fix typing issues according to `mypy`'s strict mode. |
... | ... |
@@ -32,3 +32,12 @@ a.fixed { |
32 | 32 |
font-style: normal; |
33 | 33 |
text-decoration: line-through; |
34 | 34 |
} |
35 |
+ |
|
36 |
+.md-typeset div.admonition.abstract .emojione, |
|
37 |
+.md-typeset div.admonition.abstract .gemoji, |
|
38 |
+.md-typeset div.admonition.abstract .twemoji, |
|
39 |
+.md-typeset a[href^="wishlist/"] .emojione, |
|
40 |
+.md-typeset a[href^="wishlist/"] .gemoji, |
|
41 |
+.md-typeset a[href^="wishlist/"] .twemoji { |
|
42 |
+ vertical-align: middle; |
|
43 |
+} |
... | ... |
@@ -143,6 +143,9 @@ markdown_extensions: |
143 | 143 |
permalink: true |
144 | 144 |
- pymdownx.caret |
145 | 145 |
- pymdownx.details |
146 |
+ - pymdownx.emoji: |
|
147 |
+ emoji_index: !!python/name:material.extensions.emoji.twemoji |
|
148 |
+ emoji_generator: !!python/name:material.extensions.emoji.to_svg |
|
146 | 149 |
- pymdownx.snippets: |
147 | 150 |
base_path: |
148 | 151 |
- 'docs' |
149 | 152 |