Repository navigation
v0.2.9 — fixes v0.2.8
v0.2.8 could not start on Python 3.10 or 3.11. Upgrade if you installed it.
swe find's summary line used a nested f-string with implicit concatenation inside a replacement field:
print(f"\n {c('dim', f'{total} skills · {len(linked)} roots synced · '
f'{len(other)} left alone')}\n")That is PEP 701, valid only on 3.12+. The project's declared floor is 3.10, where it raises SyntaxError on import, so the CLI would not start at all. It parsed fine locally because the dev interpreter is 3.12.
Added: a syntax-floor test
Compiles every file in src/ with an interpreter at or below requires-python, so this class of bug fails locally rather than in a release.
Two earlier attempts at that guard passed while the bug was sitting in the tree, which is worth recording:
| Attempt | Why it silently passed |
|---|---|
ast.parse(feature_version=(3, 10)) |
feature_version gates a short list of AST features, not f-string tokenization. It accepts this syntax even at (3, 8). |
py_compile(cfile='/dev/null') |
Raises FileExistsError before it reaches the parser, and the test only caught PyCompileError, so the offender list stayed empty. |
It uses the builtin compile() now, and was verified the only way that means anything: by reintroducing the v0.2.8 defect and confirming it fails with the right file and line.
Everything in v0.2.8 is included here.