Releases: sspanak/tt9
v34.0
Downloadable Dictionaries
Starting from this release, TT9 is going to be available in two versions: "full" and "lite". The latter will be available only on GitHub. See the documentation for more information.
Besides the above, v34.0 brings the long-awaited Vietnamese language, optimizations for specific devices, and several bug fixes.
What's Changed
- New Stuff
- "lite" APK variant (less than 2 Mb of download size). It contains no language dictionaries but instead downloads them from GitHub only when you need them.
- enabled OK when the command palette is open (#542)
- the Command Palette key both opens and closes the Command Palette; Backspace also closes the Command Palette (#542)
- key repeat protection is now enabled by default on Cat S22 Flip and Qin F21 Pro
- Languages
- Added Vietnamese (#372)
- fixed the text case of the Bulgarian word "караш".
- Bugs
- fixed dictionary loading time wrongly displayed as -0.0s, when loading more than one language at a time
- improved dialer detection on Cat S22 to fix the beeps problem, and on Android 14 to fix the UI not appearing on touchscreen phones. (#538)
- Technical
- upgraded android.application 8.4.1 -> 8.4.2
- added a Play Store download badge and updated the badge layout
- added Demo Mode for enabling all preferences when TT9 is disabled
- removed an unnecessary separator from the Arabic definition
- documentation update
Full Changelog: v33.0...v34.0
v33.0
Voice Input
This release introduces two long-awaited features: Voice Input and Command Palette. Additionally, it adds support for more remote control keys and fixes several bugs.
What's Changed
- New stuff
- Bugs
- The button separators were missing or had incorrect width when the Main View was "Functional Keys".
- The Main View incorrectly stayed hidden in the Contacts app on touchscreen phones.
- Fixed the disappearing first letter problem (again) (#468, #533).
- In Viber, sending a message using its send button, and before accepting a suggestion, caused that suggestion to reappear when attempting to write a new message.
- Technical
- Code cleanup
- Upgraded android.application 8.4.0 -> 8.4.1
Full Changelog: v32.0...v33.0
v32.0
Language Updates
This release introduces two new languages, Turkish and Hungarian, as well as improvements for English, Greek, Swedish, and Bulgarian. Besides that, it fixes a couple of minor bugs. There are no new features this time.
What's Changed
- Languages
- Added Turkish language and menu translations (thanks to @fazilaltinel and @alicanpamay)
- Added Hungarian (thanks to @gyadam)
- Fixed several incorrectly capitalized words in English
- Added missing Greek punctuation marks
- Bulgarian: updated the word frequencies and added some more words
- Swedish: added new words and removed some nonsense words
- Slightly optimized the special character positions
- Bugs
- Fixed the suggestions scrolling in the wrong direction in ABC mode, when the system language is right-to-left.
- Fixed the language not switching automatically, when the current app requests it.
- Fixed the composing text not appearing when pressing 1-key to type punctuation in 123 mode in non-numeric fields (it only appeared after scrolling)
- Fixed virtual Backspace not working in limited text fields
- Improved LG X100S dialer detection to finally fix the double numbers when dialing a number (#300)
- Fixed typing decimal numbers is not possible in Revolut, because of incorrectly detected field subtype
- Technical
- Added a dictionary-testing tool
- A simpler word frequency normalization algorithm to normalize only the sequence that went over the limit. It is also much faster now because it only needs to process a small number of words instead of the entire language.
- fixed incorrect validation of words with capital letters upon build time
- upgraded gradle 8.4 -> 8.6 and android.application 8.3.2 -> 8.4.0
Full Changelog: v31.0...v32.0
v31.0
More Device Hacks
Continuing from v30.0, this version improves the compatibility on Sonim and LG phones, with more bug fixes, automatic detection of problematic devices, and applying the necessary settings after initial installation.
On the language side, there are two new ones: Czech and Kiswahili, the latter being the first African language, not only in Traditional T9 but among all modern Android 12-key keyboards.
Finally, as usual, you can expect a lot of small optimizations and bug fixes.
What's Changed
- Languages
- Added a couple of new Bulgarian, English, and French words
- Added Czech language (thanks to @lukascalda and @peebee-eu for providing word lists)
- Added Kiswahili language (thanks to @marvoh for providing a word list)
- Added some missing translations
- Bugs
- Renamed "Stealth" mode to "Invisible" as the former was a bit unclear.
- Hopefully, fixed the double numbers when dialing on LG X100S (#300)
- Fixed backspace not working in the numeric fields in some banking applications
- Fixed a v30.0 regression: ABC mode allowing selection of only the first letter per key when Next Suggestion hotkey is unset
- Fixed many problems with the OK key on Sonim phones (#393)
- Fixed the Main View not appearing on Sonim XP3900. Many, many thanks to @wazroth, @asherGe, @neutralinsomniac for testing and helping with ideas on how to fix this dreaded problem. (#393, #495)
- Fixed an overly complex text capitalization function, which caused the Languages screen to load very slowly. Now it is more than 100 times faster.
- Features
- Android 14 is now officially supported. Previously, the highest tested and supported version was 11.
- It is now possible to adjust the font size on the Settings screen.
- It is now possible to navigate the Settings using the numeric keypad. For example, clicking the 1-key selects the first option and double-clicking opens it.
- Added toast notifications when changing the typing mode while the Main View is invisible
- On initial startup, TT9 will try to apply the most appropriate compatibility settings and select the most convenient screen layout, depending on the device.
- Reorganized the Settings. Now the compatibility settings are located on the screen where they logically belong to, instead of being all on the Initial Setup screen.
- Technical
- Added a Logcat Exporter debugging tool
- Added documentation notes on how to fix permission issues on Xiaomi phones, which could prevent the virtual on-screen keypad from working. Many thanks to @maverick74 for testing and suggesting a fix. (#490)
- Code optimizations and cleanup
Full Changelog: v30.0...v31.0
v30.0
Device Hacks
This release focuses on fixing long-standing bugs and issues on specific phones, such as Qin F21 Pro and Sonim XP3800/XP5800. Big thanks to all who supported the project and made it possible to buy a Sonim phone!
The new features include "Stealth" mode for hiding the interface, configurable ABC auto-accept time-out, Croatian language support, and more.
What's Changed
- Languages
- New Features
- Added "Stealth" mode. It is now possible to hide the interface completely (#354)
- Added a status icon to indicate when TT9 is active. Enabling the icon also fixes the Volume key problem on the Qin F21 Pro. (#369)
- Added support for Channel Up and Channel Down keys on TV remote controls.
- ABC auto-accept time-out is now adjustable (#474)
- Added a setting for automatic capitalization after a newline (#477)
- Replaced the 'dictionary update available' popup with a notification
- Bugs
- Fixed incorrect input mode state when trying to type while the dictionary is loading
- Improved error handling here and there
- Improved OK/Enter key handling. Special improvements for Sonim XP3800 and XP5800. (#365, #393)
- Fixed the 'wait for the dictionary to load' message toast being displayed for too long when attempting to press many keys in a short period of time
- Fixed combined Back/Backspace key not navigating back when the cursor is at the beginning of the field. Also, fixed general Amazon Kindle app issues with navigating back.
- Fixed the suggestions not being displayed, when attempting to type while the MainView is still hidden (#468)
- Fixed unexpected text reset when starting to type in a new input field, caused by multiple IME restarts in the same field, causing InputMode re-creation; also reduced the InputMode recreations in general (#468)
- Fixed Backspace not working properly in Termux, when delayed accept is enabled in ABC mode
- Fixed status and suggestions disappearing when changing the orientation
- Fixed special character suggestions not appearing in bank apps (#446)
- Fixed Backspace not being correctly mirrored for RTL languages, in the small Main View
- Fixed crashing when the MainView setting is corrupted
- Technical
- Major code refactoring, including code style improvements, cleanup, and optimizations
- Upgraded Gradle 8.2 -> 8.4
- Upgraded android.application 8.3.0 -> 8.3.2
- Added new debugging tools for diagnosing device-specific issues easier.
- Dictionary validation improvements during build time.
- Documentation
- Added an installation guide.
- Fixed grammar, spelling, and punctuation mistakes in all documents.
Full Changelog: v29.0...v30.0
v29.0
Long-awaited Popular Requests, Part 2
As a continuation from the previous release, this one introduces more long-awaited features: added word management (deleting and exporting to a CSV), changing the language while typing, Lithuanian language support, and more. As usual, there are some bug fixes and many small improvements.
What's Changed
- Languages
- Added Lithuanian language
- Added a couple of new English words
- New Stuff
- It is now possible to change the language while typing a word. The digit combination will be preserved and the suggestions will be "converted" to the next language, whenever possible. Thanks to @flaviozavan for the idea and the initial work on this.
- It is now possible to add new emoji using the Add Word function.
- Added word management options: the words can now be deleted and exported to a CSV.
- Documentation update (including a link to F-droid, thanks to @offa)
- Bugs
- fixed the navigation from dictionary loading notification to the Dictionaries screen
- fixed the Next Suggestion and Previous Suggestion keys scrolling the wrong way for RTL languages
- fixed OK and Next Language buttons being incorrectly swapped when the system language is RTL
- fixed #444: adding words not working in Ukrainian, Hebrew and Yiddish
- fixed #418: the Clear Filter key not breaking typing when no filter is active
- Technical
- Cleaned up the Settings code
- The commit hash in the version string is now fixed to 8 characters to avoid discrepancies with the F-droid build.
Full Changelog: v28.0...v29.0
v28.0
Long-awaited Popular Requests
Introducing a feature-rich update! The highlights are: possibility to type currency symbols, automatic language selection, OK can be used to send messages in Google Chat, and a compatibility option for keyboards that register multiple clicks per a single press (Qin F21 Pro, Cat S22 Flip). The long-awaited Arabic and Portuguese have finally arrived. And as usual, various small improvements and bugfixes.
Also, big thanks to @offa for helping with releasing Traditional T9 on F-droid for the first time! From now on, installing and updating will be much easier, especially for technically inexperienced users.
(The text above was generated with chargpt. I was too lazy this time, sorry)
What's Changed
- Languages:
- Arabic by @Arabi12321 in #431
- Portuguese (thanks to @maverick74 for suggesting the dictionary)
- Fixed the text case of several English words (thanks to @alexknop for pointing them out)
- Added a couple of new Bulgarian words
- Updated Ukrainian translations by @WallK in #440
- Typing some words was broken in French and German due to "O'Brien" word. It is fixed now.
- New Stuff:
- It is now possible to type currency symbols (#370)
- Added a compatibility option for devices with faulty keyboards which register multiple clicks per a single key press (CAT S22, Qin F21 Pro and possibly others) (#399)
- Added a compatibility option to send messages with OK in Google Chat (#415)
- On initial start up, after installing, the device language is used as default, instead of English.
- Cosmetic improvements for RTL languages.
- Enabled the filtering hotkeys and the suggestion hotkeys by default when the virtual keyboard is on
- Typing and adding words are now forbidden during dictionary loading.
- Bugs:
- Fixed English "I" cannot become the default suggestion in Predictive mode (#397, #435)
- After holding a button to type a number in Predictive or ABC mode, it was not possible to press the same button to type a letter. This is fixed now.
- In some cases, the app was not waking up, especially after coming back from a popup window. (#429, #435)
- Fixed holding the virtual keyboard keys in 123 mode typing the wrong number, when the 'upside down' settings is on
- Language list is now properly sorted on Android < 7.0
- Technical:
- It is now possible to change the logging level from the app.
- Added database migration support, making it possible to add new languages again. It was impossible since the database restructuring in v27.0
- Fixed some issues with version code generation, which were preventing publishing on F-Droid
- Upgraded gradle 8.0.2 -> 8.2.2 and finally modernized the build script. Also removed the YAML validator, which was preventing the upgrade and was useless anyway.
- Automatic APK name
- Dictionary properties are now calculated in parallel for faster build
- Removed 2 status icons which were not in use since long ago
- Documentation update
Full Changelog: v27.0...v28.0
v27.0
Supercharged Typing Experience
This release brings significant performance improvements. Dictionary loading is now 2x faster on older devices with 16 Gb or less storage; suggestion loading is 10x faster on any device. This means, the typing lag is virtually eliminated (except maybe in very rare cases), so there will be no more situations such as: "I pressed 3 keys, but only 2 letters appeared on the screen".
Another improvement is that from this version the custom added words will be preserved when deleting a dictionary. You can safely use "Delete All", then reload a language and your words will be restored. Unfortunately, this comes at the cost of removing all words added in v26.0 or earlier.
On the bright side, Bulgarian, English, Romanian, Russian and Ukrainian have received a major update. So if you use one of them, it will now feel that you can type (almost) anything. All other languages have received small tweaks, making typing compound and contracted words even easier.
What's Changed
Language Updates
- Added ~43000 new English words, including landmark objects, popular company names, websites and more. English now contains 173k words. Big thanks to @alexknop for correcting several misspelled words.
- Upgraded Romanian from 800k words to 1.16 million words.
- Upgraded Bulgarian from 256k words to 1.13 million.
- Upgraded Ukrainian from 290k words to 1.3 million.
- Upgraded Russian from 100k words to 1.42 million.
- Added top-level domains (".com", ".net", ".co.uk", etc...) to all Latin-based languages.
- Overall small improvements for typing contracted and compound words easier.
Bugs
- Fixed issues when deleting words with apostrophes and filtering in general (#352)
- Fixed the suggestions sometimes appearing in the wrong order
- Fixed lowercase being incorrectly forced sometimes
- Fixed attempting to add a word while still typing it, and the suggestions are visible, causing the word to be erased
- Fixed the MainView not hiding sometimes, when it should hide (#367 and #364)
- Fixed logging settings not being applied at startup sometimes
- Fixed startup crashing (#385) causing multiple strange bugs, such as: the current language not being displayed sometimes (#389). Potentially, the crashing could have caused the double numbers issue on LG X100S (#300). It may be resolved, too now.
- Fixed dictionary loading progress not including all performed operations, causing it to be stuck at 0% a moment, before starting to increase.
Technical
- Completely rebuilt the database structure for 2x faster insert operations on slow devices; and more than 10x faster searching. This means typing lag is virtually eliminated.
- Added slow query cache. In case a query still takes a significant amount of time, it will be slow only the first time.
- Created a dictionary sorting script and sorted all dictionaries for optimum search speed.
- Update actions and fastlane structure by @offa in #387, #388
- Improved Backspace handling by @alexknop in #426
- Remove redundant calls to isNumber by @alexknop in #410
- Added a donation button within the app.
Full Changelog: v26.0...v27.0
v26.0
More Bugfixes and Optimizations
This release fixes almost all reported bugs and introduces several easy to do improvements.
What's Changed
- Bugs
- Fixed a potential crash when loading invalid assets
- Fixed dictionary loading progress starting at 100% then jumping to 0% when manually loading two dictionaries one after another
- Fixed the cursor moving using touch events not working properly, while typing a word with the physical keys (#320)
- Predictive mode is now allowed in all text fields, but password fields. No more unnecessary constraints (#319)
- Fixed repeated words popping over and over again, when scrolling the suggestions in Amazon Kindle app, on the Share Document screen (AppHacks established) (#286)
- Fixed the debug log setting not being applied on startup
- Fixed unexpected switch to UPPERCASE on start up.
- Prevented unnecessary double ENTER event for sending messages, when there is no message to send
- Improvements
- A small dictionary loading speed optimization
- OK no longer shows the main view when it is hidden by @alexknop in #359
- Added support for Termux (#353)
- It is now possible to send messages with OK in Facebook Messenger (#244)
- Added Change Keyboard hotkey (#301)
- It is now possible to type special characters in 123 mode. Also support for phone, decimal and signed integer numeric fields is now much better. (#345)
- It is now possible to copy the debug logs by clicking them
- Translations update
- Technical
Full Changelog: v25.0...v26.0
v25.0
Annoying Bugs Terminated
This release fixes some critical and some less severe bugs.
What's Changed
- Fixed the UI not showing up sometimes, when typing special characters and it has been initially hidden
- Added an alternative suggestion scrolling method to fix invisible suggestions on some older devices (Android <= 9). It can be enabled from Initial Settings -> Compatibility -> Alternative Scrolling... (#315). Thanks to @alexknop for pointing this out and testing it.
- Restored the Clear filter key on the on-screen keyboard
- Fixed the on-screen Filter key not acting properly when being pressed repeatedly
- Fixed incorrect hotkey handling that caused the arrow keys not work sometimes. (#341, #328)
- Simpler word adding. Now only a confirmation popup appears, instead of window with a text field. This also prevents #202 from happening.
- New Bulgarian words and fixed invalid frequencies of 3 words
- Upgraded packages: androidx.room 2.5.1 -> 2.5.2 and androidx.preference 1.2.0 -> 1.2.1
Full Changelog: v24.0...v25.0