A Windows user could run the bash launchers from WSL or Git Bash / MSYS2 /
MinGW / Cygwin, where the Linux USB assumptions do not hold: WSL cannot reach
the Windows SIMtrace2 device, and those shells have no Linux /sys + /dev/bus/usb
view for the udev pre-flight. Both launchers now detect a Windows host up
front (WSL via /proc/version, the rest via uname -s) and exit 2 with a pointer
at the matching .bat launcher, which drives the Windows Python/PyUSB stack.
The message goes to stderr; a deliberate WSL/Cygwin flow can still run the
Python module directly (noted in the source comment).
Tests: tests/test_launchers.py runs each script with a fake mingw uname and
asserts exit 2 plus the start.bat/sniff-start.bat pointer, pins the WSL
detection, and checks bash -n syntax (skipped when bash is absent).
Bumps 2.7.14 (version.py, pyproject, PWA_VERSION), SW cache v96, the README
download examples and the release-notes preamble. 561 Python + 80 Node tests.
- the Install section now leads with the release artifacts (the wheel via
pipx/pip, the direct release URL, `gh release download` for the
version-agnostic case, and the source archive) and keeps the git clone as
the development path. It finally names the launchers (./start.sh,
start.bat): a clone needs no install, but the README never said how to start
it while the Running section only showed the console script that an install
provides.
- Windows: the USB section now says the .bat launchers mirror the shell ones
and call the `python` command (Python 3 must be on PATH); the Install section
carries the same note.
- start.bat: --db/DB was parsed and then never passed to the server; it is
passed now, and --gsmtap-port is sent only for gsmtap capture (as start.sh
already did). Both .bat files passed values unquoted and stripped the
quotes of pass-through options, so paths with spaces broke
(--db "C:\My Data\...", --web-dir, --pcap, --output); values are quoted now
and pass-through keeps the original quoting (argument assembly through
delayed expansion).
- the launcher usage comments include the `disabled` capture mode.
- verified the argument assembly with Wine cmd.exe and an echo harness: the
quoted paths survive, --db arrives, --gsmtap-port appears only for gsmtap;
547 Python + 80 Node tests.
- move the analysis server out of simtrace2_pysniff into simtrace_analyser;
simtrace2_pysniff stays as the simtrace2-sniff replacement capture utility
- new server CLI: simtrace-analyser-server; python -m simtrace_analyser
(simtrace2-pysniff-server and python -m simtrace2_pysniff.server dropped)
- simtrace2_pysniff lazy-imports hardware symbols, so the server no longer
pulls PyUSB at startup; the GSMTAP/PCAP codecs work without libusb
- version 2.0.0 everywhere (was 1.22.21); PWA SW cache simtrace-analyser-v54
- frontend: server name, clone URL and i18n strings updated; vendored-parser
reference otaman -> SIMple
- README/README_RUS reworked product-first (analyser first, utility second)
- DB dir ~/.simtrace-analyser, /api status payload and hosted PWA unchanged