v3.32.0: the packaged-install updater + a repo CHANGELOG
release / release (push) Has been cancelled
release / release (push) Has been cancelled
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).
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to SIMple (the PWA and `pysim-simple-server`).
|
||||
The format follows [Keep a Changelog](https://keepachangelog.com/);
|
||||
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`).
|
||||
Reference in New Issue
Block a user