Files
simple/CHANGELOG.md
T
catarrh aa8c9c6f12
release / release (push) Waiting to run
v3.32.0: the packaged-install updater + a repo CHANGELOG
Reinstalling the package was slow because setup rebuilds pysim's
prerequisites (pyscard compiles from source on Linux), while a clone
updates with a plain `git pull`.

- tools/update.py (+ update.sh / update.bat in the package, and the
  release workflow shipping them) updates a packaged install in place:
  it downloads the latest release package, extracts it (zip-slip guard,
  permission bits restored - zipfile drops them), replaces the app files
  over the app directory and re-installs the app into the existing
  .venv.  The .venv and simple_lastrun.log are not in the package, so
  pysim and its prerequisites survive: seconds, not a rebuild.
  --check / --version / --zip (offline) / --no-pip / --force; the same
  version is a no-op.
- CHANGELOG.md (Keep a Changelog, from the first packaged release;
  earlier history is the git log).  The release workflow now uses the
  version's CHANGELOG section as the release body
  (tools/changelog_section.py, falling back to generated notes).
- The READMEs document the update path and the `git clone --depth 1`
  option for the clone path; setup prints the update hint.
- Version strings + the PWA cache bumped together (simple-v458).

Verified: 1007 Python + 953 frontend; the release-package test covers
the new files; the updater was exercised end to end (a v3.31.2 install
with a real venv updated to the 3.32.0 package: files replaced, the
venv marker kept, pip metadata 3.32.0, exec bits kept, a second run a
no-op, --check correct).
2026-10-21 00:35:47 +03:00

2.9 KiB
Raw Blame History

Changelog

All notable changes to SIMple (the PWA and pysim-simple-server). The format follows Keep a Changelog; versions use MAJOR.MINOR.PATCH (see the README).

History before the first packaged release (v3.31.1) lives in the git log — every change carries a descriptive commit message.

[Unreleased]

[3.32.0] — 2026-10-21

Added

  • Updating a packaged install — update.sh / update.bat (and tools/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. --check reports the current and latest versions, --version picks a specific release, --zip updates from a local package (offline), --no-pip refreshes the files only, --force re-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.bat and tools/update.py from this package once (or re-run setup from it). Later updates use update.sh / update.bat — or git pull for a clone.

[3.31.2] — 2026-10-20

Changed

  • The SCP81 TLS-PSK listener states its Python requirement: it needs Python 3.13+ (ssl's PSK callbacks exist only since 3.13). Below that it raises a clear error instead of AttributeError, and the PSK tests are skipped (they run on 3.13+).
  • The READMEs and the setup scripts: Windows strongly recommends Python 3.13 (pyscard has wheels up to 3.13; on 3.14 pyscard and some pysim dependency wheels are unavailable and build from source with MSVC).

[3.31.1] — 2026-10-20

The first packaged release (simple-3.31.1.zip).

Added

  • EF_PBR (phonebook reference) support — the PBR is decoded in the decoded file views (the A8/A9/AA containers, the C0–CC kinds, the master EF), and the phonebook files it references (they are not in pySim's model) are added to the file tree server-side, selectable and readable.
  • In-app dialogs — the native alert/confirm/prompt dialogs are replaced by a shared modal (queued, keyboard-aware, focus-trapped, ARIA-labelled).
  • Windows console encoding guard — the start.bat PowerShell pipe can no longer kill the server on a character the ANSI code page lacks.
  • GPL-2.0-or-later licensing (LICENSE, THIRD-PARTY-NOTICES), matching pysim.
  • The curated release package (tools/build_release.py) and the tag-triggered .github/workflows/release.yml.

Changed

  • setup.sh / setup.bat and the READMEs: on Linux pyscard builds from source and needs the PC/SC headers (libpcsclite-dev).