release: 3.39.0 — decoded-editing batch
Bump VERSION/pyproject/PWA header to 3.39.0 and the SW cache to simple-v484 (index.html + help changed). CHANGELOG [3.39.0] folds the unreleased 3.38.2 start-script fix and documents the decoded-editing batch: DF-context resolution, EF.ECC/EF.AD split, path-based selection, EF.SST tri-state editor, the Services editor + path-exact FS check, and the UST 147-150 completion.
This commit is contained in:
+39
-1
@@ -9,7 +9,43 @@ every change carries a descriptive commit message.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.38.2] — 2026-10-25
|
||||
## [3.39.0] — 2026-10-26
|
||||
|
||||
### Added
|
||||
|
||||
- **EF.SST tri-state editor.** The SIM service table (TS 51.011 10.3.7, two
|
||||
bits per service — allocated + activated) now edits per service as
|
||||
*deleted / allocated-off / on*, preserving unmodelled pairs and the file
|
||||
length; it stops being read-only.
|
||||
- **Cross-file Services editor** (a new Card-reader pill): SST / UST / EST /
|
||||
IST shown side by side from a curated 161-row feature cross-reference, a
|
||||
column rendered only for a file present on the card, per-file Save buttons,
|
||||
and a **Check filesystem** action (with a throbber) that verifies the
|
||||
declared services against the card's actual files.
|
||||
- **Path-exact filesystem check.** Each feature's files are resolved by
|
||||
(symbolic name, root) → canonical path through `uicc_files.json`, probed at
|
||||
that exact path, and reported in both directions (declared-but-missing,
|
||||
present-but-undeclared) plus an "unchecked" bucket for files not yet in the
|
||||
registry.
|
||||
|
||||
### Changed
|
||||
|
||||
- **EF resolution is DF-context aware.** `efDfFromPath` derives the parent DF
|
||||
and `efFindDecoder`/`efFindEncoder` resolve DF → name → FID, so same-name/
|
||||
same-FID files in different DFs are distinct; EF.ECC gained a USIM
|
||||
linear-fixed decoder beside the SIM transparent one, and EF.AD is registered
|
||||
per DF.
|
||||
- **The file manager selects files by canonical path** (not node name), so two
|
||||
same-named files under different DFs (EF.ECC/EF.AD, the DF.PHONEBOOK copies)
|
||||
are distinguishable, and snapshot/profile paths root ADFs by AID are
|
||||
normalized (`A0000000871002`→USIM, `…1004`→ISIM, `…100B`→USIM-non-IMSI).
|
||||
- **The USIM service table is complete**: UST 147–150 (5MBS UE pre-configuration,
|
||||
Operator Controlled Signal Threshold per Access Technology, A2X, IMS Data
|
||||
Channel Indication) were missing.
|
||||
- **`uicc_files.json`** gained the 13 optional files pySim does not model
|
||||
(DF.MExE, DF.SoLSA, DF.BCAST, DF.ACDC, DF.TV, DF.A2X and their children),
|
||||
emitted with distinct (name, path) so same-FID files in other DFs stay
|
||||
separate.
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -21,6 +57,8 @@ every change carries a descriptive commit message.
|
||||
127.0.0.1. `start.sh` and `start.bat` now parse both flags (space and `=`
|
||||
forms, the last value wins like argparse) and echo the effective address;
|
||||
the defaults are unchanged.
|
||||
- eCall Data's `EF.FDN` reference was a typo (`6F3A` is EF.ADN); corrected to
|
||||
EF.SDN 6F49 / EF.FDN 6F3B.
|
||||
|
||||
## [3.38.1] — 2026-10-25
|
||||
|
||||
|
||||
+1
-1
@@ -1979,7 +1979,7 @@
|
||||
// ===== Version =====
|
||||
// Single source of truth for the PWA version: shown in the header and used
|
||||
// by the server version check in pysimConnect().
|
||||
const SIMPLE_VERSION = '3.38.2';
|
||||
const SIMPLE_VERSION = '3.39.0';
|
||||
document.getElementById('app-version').textContent = 'v' + SIMPLE_VERSION;
|
||||
|
||||
// ===== view history (the browser Back/Forward buttons) =====
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
const CACHE = 'simple-v483';
|
||||
const CACHE = 'simple-v484';
|
||||
const URLS = [
|
||||
'index.html',
|
||||
'help.html',
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "pysim-simple-server"
|
||||
version = "3.38.2"
|
||||
version = "3.39.0"
|
||||
description = "HTTP REST server wrapping pysim for the SIMple PWA"
|
||||
license = { text = "GPL-2.0-or-later" }
|
||||
requires-python = ">=3.9"
|
||||
|
||||
@@ -37,7 +37,7 @@ from osmocom.tlv import BER_TLV_IE
|
||||
from osmocom.utils import rpad
|
||||
|
||||
|
||||
VERSION = '3.38.2'
|
||||
VERSION = '3.39.0'
|
||||
|
||||
MAX_ENVELOPE_SEGMENTS = 5 # max SMS segments for outgoing C-APDU in ENVELOPE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user