MyTraL 1.57.0
This MyTraL minor release brings:
Added
- Published MyTraL to the Snap Store at https://snapcraft.io using strict
confinement. The Snap Store snap runs the local server and opens the UI in the
default browser. Athlete data are stored in$SNAP_USER_COMMON
(~/snap/mytral/common) i.e. are NOT stored in the location used by all other
distros - data persist until uninstall (snapd keeps a snapshot for ~31 days
aftersnap remove). - Added new body mannequin - from robot-like to realistic anatomical muscle
geometry adapted from the MIT-licensedreact-native-body-highlighter. - Added activity bookmarks - bookmark any activity from its detail page.
- Added an
Elevationaspect to theThis vs. LastandChargspages,
comparing weekly, monthly, and yearly elevation gain. The weekly and monthly
charts also show a dashed redEveresting(8848 m) reference line so athletes
can see whether their cumulative climbing reaches Mt. Everest peak.
Changed
- Redrew the body mannequin with realistic anatomical muscle geometry, used
everywhere it appears (muscle load, injuries, and sickness). Muscle load now
renders as a cool-to-hot volume heatmap.
Documentation
- Documented both strict and classic Snap installations.
- Documented the missing
python3-allbuild prerequisite for local.debbuilds
(make distro-ubuntu-deb) in the installation guide.
Fixed
- Fixed Ubuntu PPA/
.debinstallation on Ubuntu releases that do not ship
Python 3.12 as the system interpreter (trustythroughfocal) -postinst
now usesuvto provision a self-contained Python 3.12 under/opt/mytral,
independent of the host's system Python. - Fixed
.debpackageArchitecturemetadata (all->amd64 arm64) to match
whatpostinst'suvbootstrap actually supports, soaptrefuses
unsupported architectures upfront instead of installing a package that fails
during configure. - Fixed
.debpostinstfailing with an unclearuv pip installerror when
the bundled wheel orrequirements.txtwas missing - it now fails fast with a
clear message.
Security
- Hardened
.debpostinst: the downloadeduvbinary is now verified against
a pinnedsha256checksum before extraction, closing a supply-chain gap where
a tampered or corrupted release asset would otherwise be executed as root
during package installation.
Infrastructure
- Rewrote
build/ubuntu/launchpad-release.shto accept an optional Ubuntu
codename argument, building (and optionally uploading) a single distribution
instead of always looping over every supported version. - Added a
UBUNTU_VERSIONparameter (defaultnoble) tomake distro-ubuntu-deb, and a newmake distro-launchpad-release-versiontarget
to build and upload a single Ubuntu version's PPA package.