Repository navigation
Releases: anttro/simple
Release list
v3.32.5
Fixed
- A card removed during the startup initialization no longer leaves the server
reporting a phantom equipped card. The init caught the PC/SC error (and printed a
traceback) but kept the card object it had already built, socard_presentand
_CARD_CONNECTEDstayed True — and the auto-equip then skipped every later insertion
(its_CARD_CONNECTEDearly return), leaving only a manual Equip or a restart. A
PC/SC error now prints one line (INIT: card removed during initialization …), drops
the half-initialized session and lets the presence monitor equip the next card.
v3.32.4
Fixed
- The auto-equip's captured traceback now always includes the exception line: cmd2
renders a rich-box traceback longer than the logged head, so the actual error was cut
off. The tail is appended after a...marker; the "releasing the old link failed"
message now says it continues with a fresh link (a removed card's dead PC/SC handle
always fails to disconnect). - A card insertion now marks the PC/SC link for a rebuild, so the first auto-equip
attempt already uses a fresh link. On Windows the old link cannot connect after a
swap — v3.32.2 recovered it, but only on the second attempt, after a failed init, a
2–4 s delay and a traceback in the log. A link created at a cardless startup has
never connected either, which the same mark covers. The rebuild still runs in the
equip worker (never in the pyscard monitor thread) and_ensure_transportreleases
the old link first.
v3.32.2
Fixed
- The auto-equip loop after a card swap on Windows. A failed initialization with
the card still present was reported as "card gone during initialization" and treated
as a no-op success — so the three retries never ran and the watchdog re-armed every
few seconds forever. It is a failure now, and every failed attempt marks the
PC/SC transport for a rebuild, so the retry starts from a fresh link (the release
of the old link happens first, so it cannot inherit a stale card handle). The error
pySim swallowed is printed asAUTO-EQUIP: init output:with its traceback.
v3.32.1
Added
- "Start counter value" in the outfile import: the counter every created keyset
starts from. It defaults to the store's value (1); raise it for cards whose
counters are already past it. The API takesstart_counter(1–10 hex digits;
a bad value is a 400), and the preview carries the value.
v3.32.0
Added
- Updating a packaged install —
update.sh/update.bat(andtools/update.py
beneath them): downloads the latest release package, replaces the application files
in place and re-installs the app into the existing.venv. pysim and its
prerequisites (the slow part: pyscard builds from source on Linux) are kept, so an
update takes seconds.--checkreports the current and latest versions,--version
picks a specific release,--zipupdates from a local package (offline),--no-pip
refreshes the files only,--forcere-applies the same version. - The release workflow now takes the release notes from this file's matching version
section (falling back to generated notes when it is missing).
Changed
- Installs made from the v3.31.x packages have no updater yet: copy
update.sh,
update.batandtools/update.pyfrom this package once (or re-runsetupfrom it).
Later updates useupdate.sh/update.bat— orgit pullfor a clone.
v3.31.2
Maintenance release on top of v3.31.1.
- SCP81 TLS-PSK now states its Python requirement.
ssl's PSK callbacks
exist only since Python 3.13, so the listener needs Python 3.13+.
Below that it raises a clear error instead of anAttributeError, and the
PSK tests are skipped (they run on 3.13+). The READMEs say so. - Windows: Python 3.13 is strongly recommended.
pyscardhas precompiled
wheels up to 3.13, and on 3.14pyscardand some pysim dependency wheels are
not available — they build from source and need MSVC C++ Build Tools.
setup.batprints the same guidance, andsetup.shnotes the SCP81
requirement on older Pythons.
Install — release package (recommended): download simple-3.31.2.zip,
unzip it anywhere, run setup (it installs pysim from upstream — git is
required) and then start.
Install — source checkout (development): git clone https://github.com/anttro/simple.git, then ./setup.sh (or setup.bat)
and ./start.sh (or start.bat). The clone is for development or changes
not released yet; the zip is the runtime package.
Requirements: Python 3.9+ for the app, 3.13+ for the SCP81 TLS-PSK
listener; on Windows use Python 3.13.
v3.31.1
First packaged release.
Install: download simple-3.31.1.zip, unzip it anywhere, run setup (it installs
pysim from upstream — git is required) and then start. The clone path stays available
for development. See the READMEs for details.
In this release
- EF_PBR support — the phonebook reference file is decoded in the decoded file views,
and the phonebook files it references (they are not in pySim's model) are added to the
file tree server-side and become selectable and readable. - In-app dialogs — the native alert/confirm/prompt dialogs are replaced by a shared
modal (queued, keyboard-aware, focus-trapped). - Windows console encoding guard — the
start.batPowerShell pipe can no longer kill
the server on a character the ANSI code page lacks. - Linux setup — pyscard publishes no Linux wheels, so it builds from source and needs
the PC/SC headers (libpcsclite-dev);setup.shand the READMEs say so. - License — GPL-2.0-or-later (matching pysim), with third-party notices.
Requirements: Python 3.9+; the SCP81 TLS-PSK listener needs Python 3.13+. On Windows
use Python 3.13 (pyscard and some pysim dependency wheels are not available for 3.14).