Release 2.4.1 Tag moved on 2026-10-13 from the delivery-test freeze commit 6f525f25 to the commit the shipped APK was really built from, taken from the field logs of SGRVM0160, SGRVM0099 and SGRVM0162 (2026-10-12): [构建标识] version=2.4.1(2401) commit=585afc7a2533+dirty branch=development env=pro Two facts this tag has to carry: - gitDirty: the APK was built from a modified working tree, so it is not byte-reproducible from this commit. build.gradle already reads 2401 / "2.4.1" / 'pro' here, so the version is not the modification. - The build predates the merge of #57 (remote door commands, 66ef1c3c). The field binary is therefore 2.4.1 minus #57: MainBasicEventHandler, Constants, EventType and WebSocketHelper lack those 22 lines. The commit tagged before (6f525f25) contains them. Content: 2.4.0 and 2.4.1 together, because 2.4.0 was withdrawn and never reached production - approved payment screens (#39/#45), barcode A/B switch (#41), receipt underline (#48), low-disk 20 % (#49), STS UTC fix (#51), re-upload amount (#56), retry de-duplication (#54), DM-code reject photo (#55), bitmap recycling (#53), door throttle (#52).