Skip to content

Releases: LeanBitLab/LeanType

v4.0.3

Choose a tag to compare

@github-actions github-actions released this 22 Jul 16:48

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🚀 What's New in v4.0.3

🛠️ Bug Fixes & Features

  • Custom Emoji Font in Emoji Search: Applied custom emoji font typeface (customEmojiTypeface) to horizontal emoji search results in emoji picker palette.
  • Auto-Span Toolbar Keys: Added "Auto-span toolbar keys" toggle in Settings → Toolbar for both main and clipboard toolbars with right-alignment fallback when disabled.
  • Toolbar & Clipboard Transition: Eliminated layout jerkiness and optimized single-pass layout measurements when switching between keyboard and clipboard in Split Toolbar mode.
  • Settings Exception Logging: Fixed SettingsContainer error reporting to output exact duplicate setting key string names instead of raw object memory references (Setting@<hashcode>).
  • Personal Dictionary Deduplication: Fixed UI word list duplication in Personal Dictionary settings view.
  • Search Screen Stability: Removed duplicate key definitions in SearchScreen LazyColumn items to prevent UI crashes.
  • CI & Build Pipeline: Added beta-* tag pattern triggers and optimized automated build workflows.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_4.0.3-standardfull-release.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_4.0.3-standard-release.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_4.0.3-offline-release.apk Privacy Focused. Offline AI No Internet
3-LeanType_4.0.3-offlinelite-release.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v4.0.2

Choose a tag to compare

@github-actions github-actions released this 21 Jul 01:18

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🙏 Special Thanks

  • Special thanks to @AZADAYAZ for thorough testing, bug reports, and detailed UX feedback for this release!

🚀 What's New in v4.0.2

👆 Native Gesture Engine Cleanup & Safety

  • Removed Experimental Java Gesture Engine: Completely stripped the unstable Java gesture engine. Gesture typing now relies exclusively on the native C++ library (libjni_latinimegoogle.so).
  • SIGSEGV Crash Protection: Added strict validation during JNI library loading so incompatible libraries fail gracefully instead of crashing.

🌐 Translation Toolbar & Custom Languages

  • Universal Long-Press Delete: Enabled long-press removal for all target languages (default & custom) directly in the translation selector strip.
  • Persistent Custom Language History: Created TranslationUtils.kt to accumulate custom target languages in history without replacing older entries.
  • Clean UI & Deduplication: Removed redundant "Custom..." button from the translation selector strip and added case-insensitive language deduplication.
  • IME Window Token Crash Fix: Fixed BadTokenException on translation dialogs by attaching windowToken via showDialogForIme.

🛠️ Bug Fixes & Stability Improvements

  • Always-On Suggestions: Fixed suggestions on special / non-standard fields (like Google Translate and search inputs).
  • Emoji & Typeface: Honored system emoji settings and applied custom emoji typefaces to suggestion strip emoji results.
  • Emoji Dict Detection: Added support for detecting emoji.dict (without underscore suffix).
  • PointerTracker Stability: Added defensive null checks for sDrawingProxy to prevent crashes.
  • IME Lifecycle & System Compatibility: Cancelled gesture indexing tasks and non-blocking dictionary cleanup on onDestroy; exported ringer mode receiver for Android 14+.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_4.0.2-standardfull-release.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_4.0.2-standard-release.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_4.0.2-offline-release.apk Privacy Focused. Offline AI No Internet
3-LeanType_4.0.2-offlinelite-release.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v4.0.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 10:34

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🚀 What's New in v4.0.1

🛠️ Bug Fixes & Stability Improvements

  • PointerTracker TimerProxy Safety: Fixed NullPointerException on TimerProxy.startTypingStateTimer by defensively defaulting static sTimerProxy to TimerProxy.NULL and guarding accesses when proxy map references are cleared during view teardowns or transitions.
  • Dynamic InputConnection & Long Press Fix: Fixed issue where re-opening the keyboard in Launcher or search fields dropped character input and long-press popup key selections by dynamically fetching the live system InputConnection.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_4.0.1-standardfull-debug.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_4.0.1-standard-debug.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_4.0.1-offline-debug.apk Privacy Focused. Offline AI No Internet
3-LeanType_4.0.1-offlinelite-debug.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 22:05

There will be a HotFix build today

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🚀 What's New in v4.0.0

🛠️ Bug Fixes & Major Stability Hardening

  • Native JNI Protection: Added isValidDictionary() guards and exception handling around BinaryDictionary JNI calls to prevent C++ native crashes from killing the keyboard process.
  • ANR & Thread Freeze Prevention: Added non-blocking timeouts to CountDownLatch.await() in backup/restore, file copy, and secondary dictionary lookup paths.
  • Gesture Index Thread Storm Fix: Switched gesture index building to managed KEYBOARD executor pool with atomic state tracking, eliminating CPU spikes and thread proliferation.
  • Memory & View Leak Fixes: Cleared static proxy references in PointerTracker.clearOldViewData(), enabled largeHeap, and trimmed memory when UI is hidden to fix OOMs on high-DPI devices.
  • PointerTracker & Settings Safety: Fixed NPEs during rapid view switches and made Settings.getValues() null-safe during layout inflation.
  • Screenshot Scanner Optimization: Replaced active background ContentObserver with an on-demand check to eliminate background CPU wakeups while typing.
  • Regional Dictionary Fallback & Aggregation: Aggregated main and emoji dictionaries across variant and language fallback directories (en-IN -> en) and fixed regional main dictionary variant detection.
  • Emoji Dictionary Persistence: Fixed issue where emoji_*.dict files failed to be recognized after downloading, and added preference tracking to prevent dictionary deletion on upgrade.

🤖 AI Enhancements

  • Proofread Anti-Answering Guard: Prevented models (Qwen, Llama) from expanding prompts into multi-paragraph answers during proofreading.
  • Clean Translation Output: Automatically strips section headers (Translated text:) and trailing reasoning/thinking blocks from translation outputs.

🌟 UI & Keyboard Improvements

  • First-Word Prediction Toggle: Added user setting to enable or disable suggestions for the first word in a text field.
  • Hardware Keyboard Mode: Added option to show only the toolbar when a physical keyboard is connected.
  • Toolbar Key Spacing: Added equal key distribution for unscrollable expanded and dual toolbars.
  • Thai Word Segmentation: Preserved Thai word boundaries and segmentation behavior when using text expansion.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_4.0.0-standardfull-debug.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_4.0.0-standard-debug.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_4.0.0-offline-debug.apk Privacy Focused. Offline AI No Internet
3-LeanType_4.0.0-offlinelite-debug.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v4.0.0-beta3

v4.0.0-beta3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jul 20:31

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

Note

  • Its beta3 even though it says beta2 ,
  • Also the version code accidently changed to 4001 on beta2, the stable version would be 4000 so if you can't downgrade you might need to backup and restore
  • If there is no crash reported, ill release the v4.0.0 stable today itself, since other users still downloading buggy v3.9.9

🚀 What's New

🛠️ Bug Fixes & Stability

  • PointerTracker Crash Fix: Fixed NullPointerException during rapid view switches and keyboard mode changes.
  • Settings Initialization Safety: Made Settings.getValues() null-safe to auto-load settings during layout inflation, preventing InflateException crashes.
  • Emoji Dictionary Detection & Persistence: Fixed issue where emoji_*.dict files failed to be recognized after downloading. Added preference tracking to prevent emoji and custom dictionaries from being wiped on app upgrade or cache cleanup.
  • Regional Locale Dictionary Aggregation: Resolved issue where regional locales (e.g. English (India) / en-IN) only displayed the emoji dictionary tab by aggregating main and emoji dictionaries across variant and language fallback directories (en-US, en).

⚡ Performance & Battery Optimization

  • On-Demand Screenshot Scanning: Replaced continuous background MediaStore ContentObserver callbacks with an on-demand background query when input starts, eliminating unnecessary CPU wakeups while typing.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_4.0.0-beta3-standardfull-debug.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_4.0.0-beta3-standard-debug.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_4.0.0-beta3-offline-debug.apk Privacy Focused. Offline AI No Internet
3-LeanType_4.0.0-beta3-offlinelite-debug.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v4.0.0-beta2

v4.0.0-beta2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jul 19:22

Wait for beta3

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🚀 What's New

🛠️ Bug Fixes & Stability

  • Memory & Crash Fix: Fixed OutOfMemoryError crashes on high-DPI Android 16 devices by enabling largeHeap and trimming memory when UI is hidden.
  • Multilingual ANR Fix: Prevented deadlock hangs during secondary dictionary lookups.
  • Clipboard & Threading: Optimized thread pooling and scoped MediaStore observers to keyboard visibility.

🤖 AI Enhancements

  • Proofread Anti-Answering Guard: Prevented models (Qwen, Llama) from turning questions into multi-paragraph essays during proofreading.
  • Clean Translation Parser: Automatically strips section headers (Translated text:) and trailing reasoning blocks from translation outputs.

🌟 UI & Keyboard Improvements

  • Hardware Keyboard Mode: Added setting to show only the toolbar when a physical keyboard is connected.
  • Toolbar Key Spacing: Added equal key distribution for unscrollable expanded and dual toolbars.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_4.0.0-beta2-standardfull-debug.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_4.0.0-beta2-standard-debug.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_4.0.0-beta2-offline-debug.apk Privacy Focused. Offline AI No Internet
3-LeanType_4.0.0-beta2-offlinelite-debug.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v4.0.0-beta1

v4.0.0-beta1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 20:13

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🚀 What's New

🛠️ Bug Fixes & Stability

  • Battery & Threading Fix: Resolved a critical battery drain issue during fallback gesture typing by preventing redundant background threads from building the gesture index simultaneously.
  • Regional Dictionary Fallback: Fixed an issue where regional/variant main dictionaries (like Persian fa_IR) were downloaded but not detected by language-only keyboard layouts (like fa).
  • Floating Mode Selection Fix: Fixed text selection and deletion issues (including selection retrieval via getSelectedText) when the IME window is hidden in floating mode.
  • Backspace Selection Priority: Corrected the deletion priority of selected text when pressing backspace.

🌟 Features & Improvements

  • First-Word Suggestion Toggle: Added a user setting toggle to enable or disable suggestions for the first word in a text field.
  • Thai Word Segmentation: Preserved Thai word boundaries and segmentation behavior when using text expansion.
  • Toolbar Pref Update: Quick pin toolbar is now disabled by default to keep the interface clean out-of-the-box.
  • Documentation & Flavor Clarifications: Added explicit handwriting support notes for the standardfull flavor.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_4.0.0-beta1-standardfull-debug.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_4.0.0-beta1-standard-debug.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_4.0.0-beta1-offline-debug.apk Privacy Focused. Offline AI No Internet
3-LeanType_4.0.0-beta1-offlinelite-debug.apk Minimalist. Pure FOSS. No AI Integration. No Internet

New Contributors

Full Changelog: v3.9.9...v4.0.0-beta1

v3.9.9

Choose a tag to compare

@github-actions github-actions released this 16 Jul 17:13

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🚀 What's New

🛠️ Crashes & ANR Fixes

  • Native JNI SIGABRT Fix: Fixed a native crash in the LatinIME keyboard library (libjni_latinime.so) caused by thread-unsafe memory access during dictionary word iteration.
  • Gesture Indexer ANR Fix: Prevented keyboard freezes and Application Not Responding (ANR) errors by running the fallback Java gesture indexer asynchronously on a background thread instead of blocking the main thread.
  • Asynchronous Dictionary Cleanup: Moved dictionary closing and cleanup to a background coroutine to prevent the main thread from blocking on JNI write locks when switching languages.

📖 Dictionary Preservation on Upgrade

  • Manual Import Preservation: Stopped the app from deleting manually imported or replaced custom dictionaries during version upgrades.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_3.9.9-standardfull-release.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_3.9.9-standard-release.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_3.9.9-offline-release.apk Privacy Focused. Offline AI No Internet
3-LeanType_3.9.9-offlinelite-release.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v3.9.8

Choose a tag to compare

@github-actions github-actions released this 16 Jul 08:06

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

🚀 What's New

🛠️ Kotlin Gesture Engine Clean Up

  • Removed Experimental Kotlin Engine: Fully removed the experimental Kotlin gesture typing engine (SwipeGestureEngineKotlin.kt), its settings (advanced toggle), its keycode (GESTURE_DEEP_SEARCH), and associated icons/resource strings.

🎨 User Interface & Split Toolbar

  • Translation Selector Fix: Fixed the target language list collapsing or showing only the close button in split/dual toolbar mode.
  • Top Toolbar Visibility: Kept the top toolbar row fully visible when expanding the translation target language selector in split toolbar mode.

⚙️ Database & Reliability

  • Restore SQLite DB Fix: Fixed database restore lockup and write crash (SQLITE_READONLY_DBMOVED) by closing helpers and active Room connections before deleting the database.
  • Native Dictionary SIGSEGV Fix: Prevented a native SIGSEGV crash during dictionary traversal by holding the read lock for the entire traversal duration.

⚡ Welcome Wizard & Setup

  • Wizard Crash Fix: Fixed a ConcurrentModificationException crash during step 3 of the Welcome Wizard when disabling/mutating enabled subtypes.
  • Default Gesture Engine: Changed the default gesture typing engine to "fallback" (pure Java engine) consistently so that it works out of the box, rather than attempting to load "native" when not configured.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_3.9.8-standardfull-release.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_3.9.8-standard-release.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_3.9.8-offline-release.apk Privacy Focused. Offline AI No Internet
3-LeanType_3.9.8-offlinelite-release.apk Minimalist. Pure FOSS. No AI Integration. No Internet

v3.9.7

Choose a tag to compare

@github-actions github-actions released this 15 Jul 18:52

💖 Support Our Work

  • We are committed to making our apps as powerful and polished as possible. As an entirely community-funded project, we rely on your support to keep going, please consider becoming a sponsor. A huge thank you to all our current supporters!

Notes : you can expect another build today itself

🚀 What's New

🛠️ Compatibility & Reproducible Builds

  • F-Droid Reproducible Build Fix: Forced android.enableR8.fullMode to false in settings.gradle to resolve compiler output differences between build environments, ensuring consistent build hashes.

⚡ Performance & Focus Latency

  • Android 17 Startup Optimization: Resolved IME startup and focus latency on Android 17 by caching layouts and state settings, bypassing redundant settings reloads.

🎨 User Interface & Styling

  • Themed Translation Bar Layout: Styled button layouts for the horizontal language selector bar and aligned text colors with standard key themes for higher contrast. Fixed horizontal width constraint that pushed the close button off-screen.
  • Toolbar Swipe-to-Dismiss: Added support for swiping to close/dismiss the toolbar.
  • Sorted Translation Target Languages: Sorted the translation language selector dynamically to show last used target languages first.

📖 Language & Corrective Dictionaries

  • Turkish Case-Folding Blacklist Fix: Fixed Turkish word blacklist filtering by processing case-folding logic using the Turkish locale directly, correctly treating dotless ı and dotted i as independent characters.
  • Dictionary Upgrade & Protection: Added support for in-app dictionary upgrades and protected user-downloaded dictionaries from accidental deletion.
  • Multilingual Settings Visibility: Fixed the multilingual settings option to show when at least one secondary language/layout is enabled.
  • Immediate Download Status Refresh: Ensured the dictionary installation status refreshes immediately after downloading from the missing dictionary dialog.

📦 Downloads (Choose Your Flavor)

File Description Permissions
1-LeanType_3.9.7-standardfull-release.apk Recommended. Cloud AI + Handwrite Internet
1-LeanType_3.9.7-standard-release.apk Fdroid Build. Standard - Foss only Internet
2-LeanType_3.9.7-offline-release.apk Privacy Focused. Offline AI No Internet
3-LeanType_3.9.7-offlinelite-release.apk Minimalist. Pure FOSS. No AI Integration. No Internet