Skip to content

chore(release): prepare LeanTypeDual 0.3.0 - #142

Open
AsafMah wants to merge 1 commit into
devfrom
chore/release-0.3.0
Open

chore(release): prepare LeanTypeDual 0.3.0#142
AsafMah wants to merge 1 commit into
devfrom
chore/release-0.3.0

Conversation

@AsafMah

@AsafMah AsafMah commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Version bump and release paperwork for 0.3.0. Everything mechanical is done; the tag and publish are deliberately left for after real use.

Version

0.3.0 / versionCode 4300, per the fork's offset formula 4000 + major*1000 + minor*100 + patch*10. Monotonic above 0.2.0's 4200, so upgrades keep working.

Minor rather than patch: a 200-commit upstream merge with real new features, not a bugfix roll-up.

Contents

Adds fastlane/metadata/android/en-US/changelogs/4300.txt and docs/releasenote/release_notes_v0.3.0.md, and renames [Unreleased][0.3.0].

Signed artifacts built and verified

The release workflow was run against this branch (run 32348509205). Because the publish step is gated on startsWith(github.ref, 'refs/tags/'), this produced signed APKs and no GitHub Releasev0.2.0 is still latest.

All four verified after download:

Flavor applicationId version minSdk INTERNET signer
standard com.asafmah.leantypedual 0.3.0/4300 23 yes c032eafc…
standardfull com.asafmah.leantypedual 0.3.0/4300 23 yes
offline …leantypedual.offline 0.3.0/4300 26 no
offlinelite …leantypedual.offlinelite 0.3.0/4300 21 no

The signed standardfull build is installed on the maintainer's device as com.asafmah.leantypedual, alongside the debug and experimental builds. That closes the gap a debug-only smoke test leaves open: release adds R8 minification and resource shrinking, the classic source of "worked in debug, broke in release".

Note: a fresh install of the release package starts with no user-supplied gesture library in its private files/, so glide typing needs the library loaded before it can be judged.

Other verification

  • fork invariants: applicationId, INTERNET only in standard/standardfull
  • compileOfflineRunTestsKotlin passes
  • :app:testOfflineRunTestsUnitTest: 328 tests, 4 failed — the documented Windows-only ParserTest baseline, confirmed by tools/check_test_results.py
  • dev CI green after every merge that feeds this

⚠️ Still not done, on purpose

No tag, no publish. The artifacts exist and are verified; what's missing is somebody actually typing on it. Device smoke is a gate HANDOFF.md lists and that has never been executed for a release, and this session demonstrated the cost of skipping it — a backspace fix shipped on plausible code analysis turned out to address a bug that does not reproduce on the device at all.

Once the build has had real use:

# merge this PR, promote dev -> main via HANDOFF section 9 (read-tree recipe)
git tag v0.3.0 && git push origin v0.3.0
gh workflow run release.yml --repo AsafMah/LeanType --ref v0.3.0   # now creates the draft
gh release edit v0.3.0 --repo AsafMah/LeanType --draft=false --latest \
  --title "LeanTypeDual 0.3.0" --notes-file docs/releasenote/release_notes_v0.3.0.md

Not included

#141 (experimental two-thumb) is intentionally out. It's opt-in and defaults to current behaviour, but it exists to be A/B'd against a working daily driver, not folded in beforehand.

Version 0.3.0, versionCode 4300 per the fork's offset formula
(4000 + major*1000 + minor*100 + patch*10), keeping versionCode monotonic
above 0.2.0's 4200 so Android upgrades continue to work.

Contents are the LeanBitLab v4.1.2 merge (200 upstream commits from
v4.0.9 onwards: clipboard edit mode, voice recognition language selector,
personal-dictionary learning threshold, physical-keyboard suggestion
shortcuts, localized settings), the two fork regressions that merge would
otherwise have introduced, the accelerated-backspace emoji fix, and the
test-result gate.

Adds fastlane/metadata/android/en-US/changelogs/4300.txt and
docs/releasenote/release_notes_v0.3.0.md, renames [Unreleased] to
[0.3.0], and records the test-result gate which had not been added to the
changelog when it merged.

NOT tagged or published: the build has not had real use on a device yet,
and device smoke is a release gate this project has never actually
executed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a88bd77f-d993-44c5-9efc-c7124f0d825e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant