You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build and verify all four signed 0.1.0 APK variants in Actions run #30205992255 (signer SHA-256 c032eafcd7ce9197fd9e636f2c86b1590f0a84f8f73016c66d63c1382af81554)
Confirm the same signer on all published v3.9.1 package IDs and verify required v1/JAR coverage for every API 21–23-compatible 0.1.0 flavor
Enforce legacy signature coverage in CI and pass final unit run #30220601580 plus signed release run #30220604785
Fix the recurring memory-trim crash from the 0.1.0 phone reports and verify the exact lifecycle path on-device
Remove the duplicate Text Expander “Expand immediately” control and verify the corrected phone UI
Pass final unit CI run #30241802559 after both regression fixes
Confirm all four signed artifact fingerprints match the installed non-debug LeanTypeDual package
Upgrade the phone's non-debug package in place from 3.9.1/3910 to signed 0.1.0/4100; install final debug 0.1.0; launch both settings apps; preserve the active debug IME
Complete behavioral smoke on phone and install/smoke-test the signed APK on tablet
Promote dev to main, tag v0.1.0, and publish signed release artifacts
Hard release gates
The release workflow has the established signing identity in GitHub Actions secrets; all four APKs verify and match the installed production signer. Local placeholder credentials intentionally fail closed.
Phone signing/upgrade/app-launch gates pass. Behavioral smoke remains on the phone, and signed install plus full smoke remain on the tablet.
Translation refresh is unchanged because Weblate returned a bot-challenge HTML payload rather than a ZIP.
Khipro mapping is unchanged because the configured upstream touchscreen.json source is retired (404).
Required device smoke
On both phone and tablet with a correctly signed Standard Full APK:
Confirm upgrade install and retention of settings/dictionaries.
Enable/select LeanTypeDual and type in a real editor.
Verify direct IME switching for an IME-only target and a target subtype.
Verify custom-layout restoration across symbols mode, rotation, and keyboard reload.
Verify to, no, and meet remain lowercase for taps and swipes without Shift, with shifted/locked controls.
Goal
Release LeanTypeDual 0.1.0 from
devafter the LeanBitLab/LeanType v3.9.5 sync in #118.Release metadata
0.1.041000.1.0; versionCode 4100 remains monotonic above the prior 3.10.0/4000 releaseProgress
devdevdevand pass CI run #30170663607c032eafcd7ce9197fd9e636f2c86b1590f0a84f8f73016c66d63c1382af81554)3.9.1/3910 to signed0.1.0/4100; install final debug0.1.0; launch both settings apps; preserve the active debug IMEdevdevtomain, tagv0.1.0, and publish signed release artifactsHard release gates
touchscreen.jsonsource is retired (404).Required device smoke
On both phone and tablet with a correctly signed Standard Full APK:
to,no, andmeetremain lowercase for taps and swipes without Shift, with shifted/locked controls.