https://git.schokokeks.org/derivepassphrase.git/tree/ffed19d11cd8428f4b51aa0fc7c1b86080c77794Recent commits to derivepassphrase.git (ffed19d11cd8428f4b51aa0fc7c1b86080c77794)2026-08-30T17:33:11+02:00tag:gitlist.org,2012:commit/ffed19d11cd8428f4b51aa0fc7c1b86080c77794Apply usability fixes to the SSH agent socket provider API2026-08-30T17:33:11+02:00Marco Riccisoftware@the13thletter.info
<pre>The API definition actually requires the `typing-extensions` package,
but we forgot to declare that in `pyproject.toml`.
While it likely makes no typing difference, it is much better for
runtime checks to have `SSHAgentSocketProvider` be a runtime-checkable
protocol, instead of a string-valued type alias. Among other things,
`isinstance(provider, SSHAgentSocketProvider)` fails if a string-valued
type alias is used.
</pre>
tag:gitlist.org,2012:commit/aca20aa6e000ca1c4028228558efa944c6372ef9Adapt `derivepassphrase` to use `derivepassphrase-sshagentsocketprovider`2026-08-30T12:26:14+02:00Marco Riccisoftware@the13thletter.info
<pre>Change all references to the SSH agent socket and socket provider types
to the `derivepassphrase-sshagentsocketprovider` package. Include
`derivepassphrase-sshagentsocketprovider` in the dependencies.
</pre>
tag:gitlist.org,2012:commit/f1051c8415f0499cb94fad695712cc88ca19467cExtract the SSH agent socket provider API to a separate PyPI package2026-08-30T10:25:08+02:00Marco Riccisoftware@the13thletter.info
<pre>A new Python package `derivepassphrase-sshagentsocketprovider` contains
the API definition and types necessary to write SSH agent socket
providers, without depending on the rest of `derivepassphrase`.
Because this is so intricately tied to `derivepassphrase`, the new
package does not set up a separate repository, separate documentation or
a separate wishlist. The tests directory is functionally empty, because
there is nothing to test, from a unit test/code coverage perspective.
The README merely contains a short usage example.
</pre>
tag:gitlist.org,2012:commit/cdff4526c549d7c63e459349a8adc6cd3eca2b20Fix project metadata errors2026-08-29T23:04:14+02:00Marco Riccisoftware@the13thletter.info
<pre> - Correct trove classifiers and license specification in
`pyproject.toml`. Remove outdated hatch configuration too.
- Fix the copyright date in the license text.
</pre>
tag:gitlist.org,2012:commit/74e590b1b72b7a6e2594f2d155f787919ada61a0Co-exist peacefully with the fakesshagent variant of the stubbed SSH agent2026-08-29T20:24:09+02:00Marco Riccisoftware@the13thletter.info
<pre>`fakesshagent` is the name of the planned package into which our stubbed
SSH agent will be extracted, and which `derivepassphrase` will depend on
in the future.
If we can load the stubbed SSH agent from that package, then deactivate
our own stub agent, do not register it, and provide compatibility links
for the rest of the test suite. We also mark it as conditionally not
covered, using two new provisional coverage pragmas.
</pre>
tag:gitlist.org,2012:commit/986509a3106caaec52888c75820b2406eee266c4Restructure testing data and testing machinery tests for better coverage2026-08-29T19:17:34+02:00Marco Riccisoftware@the13thletter.info
<pre>We restructure `tests.data.SUPPORTED_KEYS` and
`tests.data.UNSUPPORTED_KEYS`, introducing a third category
`tests.data.CONDITIONALLY_SUPPORTED_KEYS` that contains the DSA-class
entries from the `UNSUPPORTED_KEYS` table, which are suitable for use
with vault if the agent supports deterministic DSA signatures. We then
test the stub SSH agent's sign operation against these conditionally
supported keys as well, for the "with deterministic DSA" variant of the
stub agent.
This improves code coverage, because although such code paths were
previously already exercised in other tests of the test suite, with this
change, the `test_000_testing_machinery` module alone is sufficient to
achieve full code coverage on the stub SSH agent, in all three
variations.
Since we plan to extract the stub SSH agent from derivepassphrase's test
suite, the `test_000_testing_machinery` module alone contains all the
necessary code to test the extracted stub SSH agent (and its test keys).
</pre>
tag:gitlist.org,2012:commit/ac34e6c40a56671408768c19c0cd41eadde9bfc3Fix typing and linting errors after tool upgrade2026-08-29T18:45:38+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/5276e72ac685e9dac43372dee273f0f5d384738cUpdate hatch use to "hatch check", and ruff to >= 0.16.02026-08-29T18:35:09+02:00Marco Riccisoftware@the13thletter.info
<pre>As part of the ruff upgrade, the hatch configuration uses rule names now
instead of rule codes. The code still uses the rule codes, because
these are currently the only non-tool-specific notation available.
</pre>
tag:gitlist.org,2012:commit/677616ff0f82e91293ae0a14dafa10dbffebceabFix minor mistakes in old changelog entries2026-08-29T18:03:13+02:00Marco Riccisoftware@the13thletter.info
<pre> - The `"correctness"/"regression" split` phrase does not break
properly in the browser when used with quotes. The browser appears
to have trouble finding the word boundaries in this case.
- The entry for the introduction of SSH agent socket providers
mentions that an Annoying OS-specific provider is yet to be written,
even though two entries further down, that same socket provider is
being introduced.
</pre>
tag:gitlist.org,2012:commit/94ad2e5b3e6a2a82fc136d8f5c101126cee90aa2Document recent test suite changes in the changelog2026-08-29T18:01:11+02:00Marco Riccisoftware@the13thletter.info
<pre> - Mention the "import unavailable" simulation, and the resulting
reduction in test configurations.
- Mention that Python 3.15 is now supported (and tested).
</pre>