Recent commits to derivepassphrase.git (unstable/ssh-agent-socket-providers) https://git.schokokeks.org/derivepassphrase.git/tree/unstable/ssh-agent-socket-providers Recent commits feed provided by GitList. Update the documentation for the reworked NO_AF_UNIX message Reintroduce the `NO_AF_UNIX` message (with the new text) in the warnings category. Document the companion warning message `NO_ANNOYING_OS_NAMED_PIPES` as well as the replacement error message `NO_AGENT_SUPPORT` as well. Finally, document the old `NO_AF_UNIX` error message text as a discontinued diagnostic. https://git.schokokeks.org/derivepassphrase.git/commit/20be28b15cbe097e80eac81758b510ef4dd042e4 software@the13thletter.info (Marco Ricci) Fri, 22 Aug 2025 07:06:08 +0200 20be28b15cbe097e80eac81758b510ef4dd042e4 Ignore unknown marked messages in the manpage diagnostics When computing the set of unknown-but-documented error, warning and info messages in the manual pages, ignore messages that are merely marked in the manpages. We use this mechanism to indicate discontinued messages that no longer have a source counterpart, but should still be documented as historic messages. (Marked messages are also used for other purposes, such as sets of messages that are distinguished at the source code level, but do not require separate documentation entries because they are so similar. A marked message does not automatically indicate that it is no longer present in the source code.) https://git.schokokeks.org/derivepassphrase.git/commit/90f7b4466c5e0ce5acd264d96d0c329cbed1a4f1 software@the13thletter.info (Marco Ricci) Fri, 22 Aug 2025 07:01:55 +0200 90f7b4466c5e0ce5acd264d96d0c329cbed1a4f1 Change the code style to use double quotes for strings As is standard in Python auto-formatting (Black, Ruff), we now use double quotes for strings where possible, reverting to single quotes only where necessary. (The numerous code changes in `scripts/`, `src/` and `tests/` stem from the auto-formatter re-adjusting the quotes.) Background: I originally started out as a Perl programmer, and in Perl, single quotes signify literal strings without any interpolation whatsoever, and double quotes signify strings with interpolation and escape sequences. In those languages, the choice of string quotes makes a subtle difference. In Python, the choice of quote character does not matter, so while there is no reason to prefer one over the other, the inertia of being used to "single means literal, double means interpolated" meant that I basically kept my existing style of quoting. Python, meanwhile, although careful not to *prescribe* one quote character or the other (see PEP 8), uses double quotes by default in `str.__repr__` and in docstrings (see PEP 257). The Black auto-formatter, which Ruff is modeled on, also defaults to double quotes, arguing in its style guide that (among other things) the empty string with double quotes unambiguously looks like an empty string, regardless of fonts and syntax highlighting, but the empty string with single quotes not necessarily: it may look like a single double quote character. More importantly, auto-formatters are specifically designed to make these (essentially arbitrary) decisions about code formatting for you, in the name of a uniform code style such that a reader can focus on the code *content*, not the code *presentation*. The concrete set of arbitrary decisions is essentially secondary, but the Black team (and the Ruff team too) have a pretty good track record of keeping the resulting code readable and sensibly diffable, and this styling decision has long been established by Black and "blackened" code "in the wild" (and thus tested), so I have no reason to object to this particular arbitrary choice. Furthermore, there's no need to manually adjust all quote characters, or even to pay much attention during code authoring to the quote characters; the auto-formatting pass will take care of harmonizing them for you. Given these reasons, continuing to insist on single-quoted strings, in Python, out of some vague sense of familiarity with *other* programming languages where quote characters have different meanings, seems rather untenable to me. https://git.schokokeks.org/derivepassphrase.git/commit/e98174420e001619acfd84a076f9df498076c89c software@the13thletter.info (Marco Ricci) Tue, 05 Aug 2025 21:11:03 +0200 e98174420e001619acfd84a076f9df498076c89c Merge topic branch 'ssh-agent-socket-providers' into master * ssh-agent-socket-providers: Add a changelog entry for the SSH agent socket provider feature Make all command/format/feature enums self-testing Document the new level of support for SSH agents (also in `--version` output) Update the "SSH key" feature flag in `--version` output Support looking up a socket provider, even if merely registered Add tests for the SSH agent socket provider machinery Introduce a stubbed SSH agent, for testing Introduce SSH agent socket providers Turn the `ssh_agent` submodule into a subpackage Generalize the error message for missing SSH agent support https://git.schokokeks.org/derivepassphrase.git/commit/0003d4596d632d41c7c03ff8145c152c9d0e4531 software@the13thletter.info (Marco Ricci) Mon, 04 Aug 2025 21:41:47 +0200 0003d4596d632d41c7c03ff8145c152c9d0e4531 Add a changelog entry for the SSH agent socket provider feature Also include a changelog entry for the self-testing feature flags. https://git.schokokeks.org/derivepassphrase.git/commit/881e05f45103800021077ac152098af878c3295f software@the13thletter.info (Marco Ricci) Mon, 04 Aug 2025 21:37:03 +0200 881e05f45103800021077ac152098af878c3295f Update wishlist to post-v0.5.2 https://git.schokokeks.org/derivepassphrase.git/commit/74b94268335a852cb6dad771aa7e5f13b8542324 software@the13thletter.info (Marco Ricci) Sun, 03 Aug 2025 21:57:58 +0200 74b94268335a852cb6dad771aa7e5f13b8542324 Release 0.5.2 https://git.schokokeks.org/derivepassphrase.git/commit/269369a694a74c6d509755f82b32407cfcc32420 software@the13thletter.info (Marco Ricci) Sun, 03 Aug 2025 21:47:37 +0200 269369a694a74c6d509755f82b32407cfcc32420 Merge topic branch 'fix-version-number' into master * fix-version-number: Fix the automatic version increment in `__init__.py` https://git.schokokeks.org/derivepassphrase.git/commit/af222512798d18348bd27f5a75b2c378ff204c40 software@the13thletter.info (Marco Ricci) Sun, 03 Aug 2025 20:45:36 +0200 af222512798d18348bd27f5a75b2c378ff204c40 Fix the automatic version increment in `__init__.py` Despite using software (`bump-my-version`) to automatically update all version number references throughout the project, I forgot to include a rule to update the version recorded in the code itself: `derivepassphrase/__init__.py:__version__`. Thus, version 0.5 and version 0.5.1 have been released while both claiming to be version "0.5 alpha 1 (development build 1)". Oops. https://git.schokokeks.org/derivepassphrase.git/commit/bf55246b94b88068d589977aada6ce60c80dbec5 software@the13thletter.info (Marco Ricci) Sun, 03 Aug 2025 20:45:21 +0200 bf55246b94b88068d589977aada6ce60c80dbec5 Merge topic branch 'pageant-068-080-keys' into master * pageant-068-080-keys: Add a script to query test key signatures and derived passphrases from an agent Add Pageant 0.68–0.80 signatures and derived passphrases for DSA keys Harmonize syntax for the test key definitions https://git.schokokeks.org/derivepassphrase.git/commit/608a84da61fabd375cf2859d21acfdb5d5f4b607 software@the13thletter.info (Marco Ricci) Sun, 03 Aug 2025 20:20:55 +0200 608a84da61fabd375cf2859d21acfdb5d5f4b607