* Author: Mike FABIAN <mfabian@redhat.com>
* 15 Feb 2026 Release 2.30.4
* emoji-picker: key handling improvments: Show selected emoji clearly, Fix Control+f and Escape issue, Navigation with arrow keys in the flowboxes (See: See: https://github.com/mike-fabian/ibus-typing-booster/issues/883#issuecomment-3901653686)
* emoji-picker: Don’t show popover when autoselecting first search result (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/883)
* Translation update from Weblate (kab 73.8%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 04 Feb 2026 Release 2.30.3
* Add `Mod1+Left` to the default for `commit_and_forward_key` for the `tb:*` engines (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/879#issuecomment-3844807216)
* Translation update from Weblate (kab 71.4%, ro 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Jan 2026 Release 2.30.2
* Add `Control+Left` to the default for `commit_and_forward_key` for the `tb:*` engines (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/879)

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Jan 2026 Release 2.30.0
* Make autosetting `ibuseventsleepseconds` possible (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/878)
* Use a better estimate of how many `Left` keys are needed to step back over the committed string to the caret position (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/874)
* Finalize commit string also when the preedit cursor is not at the right end of the preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/871)
* Change the look of the selected Gtk.Notebook tab (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/872)
* Commit key should commit the final form always (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/870)
* Make the “Options” and “Appearance” tabs in the setup tool scrollable to save vertical space (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/865)
* Add an option to show in the preedit what would be committed on pressing space (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/854)
* Add commands to commit the raw input, with and without forwarding the key (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/855)
* Add an option to show the raw input in the auxiliary text (Resolves:  https://github.com/mike-fabian/ibus-typing-booster/issues/853)
* When a candidate is autoselected, the `cancel` command should deselect (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/851)
* Use self._ollama_aux_wrapper when showing the prompt in the auxiliary text (Without that, long prompts may be shown as a very long single line auxiliary text partly off-screen.)
* Translation update from Weblate (ca 100%, de 100%, fi 100%, it 100%, ja 100%, ka 100%, ko 100%, sv 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Dec 2025 Release 2.29.0
* find_hunspell_dictionary(language: str): Never fall back to en if language is not English
* emoji_picker.py: improve selecting a label while search is still running
* Fix minus sign on buttons in adding autosettings and keybindings
* Fixes for the Gtk3/Gtk4 port needed for RHEL9 and Ubuntu ≤ 22.04: Fall back to Gtk3 on these old systems
* setup/dictionary_download.py: Fix dictionary download for Ubuntu 24.04.3 LTS
* Port setup tool, emoji_picker, and everything else exept test_0_gtk.py to Gtk4. Gtk4 is used by default if available on the system, if not Gtk3 is used as a fallback. (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/848)
* Translation update from Weblate (cz 100%, hu 40.4%, it 99.5%, ka 100%, ko 100%, sv 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Nov 2025 Release 2.28.6
* Improve workaround for LibreOffice autocorrection (Related:  https://github.com/mike-fabian/ibus-typing-booster/issues/834)
* Refactor: Add a ClientInfo class to store the client id (improve readability and speed)
* Code cleanup in setup/main.py
* Translation update from Weblate (de 100%, es 100%, ja 100%, pl 100%, ru 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Nov 2025 Release 2.28.5
* Set short process names on Linux (prctl PR_SET_NAME) or BSD (setproctitle) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/833)
* Show the direct input mode menu always
* Workaround for LibreOffice autocorrection (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/834)
* Show in a tooltip from which path an m17n input method has been loaded
* Translation update from Weblate (fr 95%, it 100%, pl 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 12 Nov 2025 Release 2.28.4
* Make it possible to download missing dictionaries and update existing ones from upstream (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/822)
* Show in a tooltip from which path a hunspell dictionary and a cldr annotation have been loaded
* Translation update from Weblate (de 100%, es 100%, fi 100%, ja 100%, ka 100%, ko 100%, sv 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Nov 2025 Release 2.28.3
* Fix [Install missing dictionaries] feature in the setup tool (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/821)
* Prefer hunspell over aspell

* Author: Mike FABIAN <mfabian@redhat.com>
* 30 Okt 2025 Release 2.28.2
* Translation update from Weblate (fi 100%, it 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Okt 2025 Release 2.28.1
* Ignore “Enable suggestions by key” and “Minimum number of chars for completion“ options when OSK is used (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/813 Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/814)
* Translation update from Weblate (es 100%, tr 100%, zh_CN 73.1%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 30 Sep 2025 Release 2.28.0
* Add setup UI for the chat with ollama or ramalama
* Add a ibus-setup-tb.desktop file (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/807)
* Suggest suffixed word forms as well (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/799)
* Update emoji annotations from CLDR
* itb_ollama.py: better error handling when getting model list
* itb_ollama.py: Add support for ramalama
* Support OLLAMA_HOST environment variable
* Translation update from Weblate (de 100%, fr 95.4%, ja 100%, ka 100%, kab 74.8%, ko 100%, pl 100%, ru 100%, sv 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 15 Sep 2025 Release 2.27.75
* do_reset() needs to cancel an ollama chat, just like do_focus_out_id() does
* Use ollama_pull.py in hunspell_table.py
* Add simple Gtk program “ollama_pull.py” to pull an ollama model
* Rewrite the ollama client interface to use the REST API instead of the ollama python module
* emoji-picker could not be stopped with Control+C, fix that
* Translation update from Weblate (ru 100%)

* 09 Sep 2025 Release 2.27.74
* Experimental support for ollama chat
* Call `ibus write-cache` when the inputmodetruesymbol is changed or cache is out of date (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/788)
* Remove <path>~/.config/dconf/</path> from <observed-paths> in the component file again (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/792)
* Make setup tool more compact to fit on a 1024x768 pixel Gnome session again
* Entries for input mode true/false symbols in the setup tool should not expand
* Put tabs in the setup tool on the left side
* Make the popovers smaller in the setup tool
* Update emoji annotations from CLDR
* Translation update from Weblate (fi 100%, ru 63.8%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Sep 2025 Release 2.27.73
* Add `~/.config/dconf/` to `observed-paths` in the component file (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/788)
* Use GLib.timeout_add() instead of GLib.idle_add() to force a short delay after wl-paste (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/787#issuecomment-3236363564)
* Update emoji annotations from CLDR
* Improve fallback mechanism in self._show_selection_info_get_selection() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/787)
* Update emoji-data.txt, emoji-sequences.txt, emoji-test.txt, emoji-variation-sequences.txt, emoji-zwj-sequences.txt to the Unicode 17.0.0 draft as of 2025-08-17
* Update UnicodeData.txt, DerivedAge.txt, Blocks.txt to the Unicode 17.0.0 draft as of 2025-08-17
* Translation update from Weblate (es 100%, it 100%, kab 73.7%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Jul 2025 Release 2.27.72
* Toogle the emoji style only between 'emoji' and 'text' in the toogle_emoji_style() function
* Better parsing of gnome-shell versions (handle also `alpha`, `beta`, and `rc`)
* Make input mode symbols black and white already for gnome-shell >= 48.3 instead of for gnome-shell >= 49.0
* Update emoji annotations from CLDR
* Translation update from Weblate (ka 100%, ko 100%, pl 100%, sv 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Jul 2025 Release 2.27.71
* Add a new gsettings option `emojistyle` and make it changeable with a `toggle_emoji_style` command (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/774)
* Fix list of sentence ending characters to avoid incorrect auto-capitalization (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/773)
* Update emoji annotations from CLDR
* Translation update from Weblate (de 100%, es 99.2 %, it 98.5%, ja 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Jul 2025 Release 2.27.70
* Add selection-to-preedit command (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/769)
* Translation update from Weblate (fi 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Jul 2025 Release 2.27.69
* In the show-selection-info command: if using surrounding text fails, fall back to the primary selection. Makes it work in google-chrome, terminals, ... (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/768)

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Jul 2025 Release 2.27.68
* Do not try to point the popovers on search results directly to the emoji (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/766)
* Translation update from Weblate (el 31.3%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Jun 2025 Release 2.27.67
* Add time.sleep(self._ibus_event_sleep_seconds) after early commits of an m17n candidates (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/764)
* Translation update from Weblate (es 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Jun 2025 Release 2.27.66
* Improve show_selection_info command behaviour when getting the surrounding text fails (Return True, not False in that case)
* Use `SurroundingText` dataclass to track surrounding text state; use `get_surrounding_text()` only to trigger an update
* Use @dataclass always, also for Python 3.6
* Don’t use transliterated keys for compose sequences if the first input method is Japanese or Chinese (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/760)
* Translation update from Weblate (ko 100%, sv 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Jun 2025 Release 2.27.65
* Make the command `show-selection-info` work always, not only when “Minimum number of chars for completion” is 0 (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/757)
* Make default symbols black and white when running on Gnome and gnome-shell ≥ 49.0 (See: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3753)
* Enable translations for 5 more tooltips, use same texts as in the gsettings schema file
* Make the symbols for active input mode and direct input mode configurable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/749)
* Make compose preedit representations configurable by changing the Compose file(s) (See: https://github.com/ibus/ibus/issues/2748#issuecomment-2944388273)
* Translation update from Weblate (de 100%, ja 99.6%, ka 100%, pl 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Jun 2025 Release 2.27.64
* Do not start each transliteration with `minput_reset_ic()` to keep the m17n-lib state between commits (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/746)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Jun 2025 Release 2.27.63
* Make non-ASCII input work in m17n_translit.py also for the more exotic prefixes (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/745)
* Make database code more robust (Should fix some problems on FreeBSD)
* Fix quoting for sqlite3 (Should fix some problems on FreeBSD)
* Improve _xorg_locale_path() to find the path as well on FreeBSD
* Add `Categories=Settings;` to the ibus-setup-typing-booster.desktop file (from the FreeBSD port)
* Fix HunspellSuggestTestCase.test_sv_SE to work with sv_SE.dic as on Fedora 42 **and** on FreeBSD
* Add preedit representations for the special dead keys used in the "French (BEPO, AFNOR) layout (Related: https://github.com/ibus/ibus/pull/2763)
* Improve regexp for msymbol patterns triggering commits (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/712)
* Update emoji annotations from CLDR
* Translation update from Weblate (es 100%, it 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 May 2025 Release 2.27.59
* Make Super prefix ('s-') work when using an m17n input method using that prefix (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/712)
* Update emoji-data.txt, emoji-sequences.txt, emoji-test.txt, emoji-variation-sequences.txt, emoji-zwj-sequences.txt to the Unicode 17.0.0 draft as of 2025-05-14
* Update UnicodeData.txt, DerivedAge.txt, NameAliases.txt to the Unicode 17.0.0 draft as of 2025-05-14
* Update emoji annotations from CLDR
* When _command_show_selection_info() can not get a selection, use the grapheme cluster directly left of the cursor as a fallback (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/733)

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 May 2025 Release 2.27.56
* Use the order of spellchecking suggestions coming from enchant for the score of the spellchecking candidates (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/739)
* Use @dataclass for PredictionCandidate instead of NamedTuple for Python 3.7+, fall back to the NamedTuple for Python < 3.7.
* command `show_selection_info`: Instead of cancelling the selection, add the selection to the candidates (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/733)
* Parse NamesList.txt if available in the system (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/698)
* Translation update from Weblate (pl 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 May 2025 Release 2.27.54
* Migrate emoji_picker.py from Gtk.main() to GLib.MainLoop() (Makes Control-C work even while flowboxes are filled)
* emoji-picker: use a progress bar instead of a spinner (Spinner is currently broken in Gtk3 but the progress bar is nicer anyway)
* Use GLib.timeout_add() in emoji-picker when typing into the search entry (That avoids starting a new search after every keypress when typing very fast, instead wait for a short pause in typing before starting a search.)
* Add a new command `show_selection_info` to analyze a selection and show the Unicode code points, grapheme clusters, emoji sequences, … (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/733)
* When committing with space while the preedit is empty, something might be selected in the lookup table which needs to be committed then (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/707)
* If a new label is selected in emoji-picker, stop filling the flowbox with contents for the old label (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/734)
* Add IBus.KEY_Escape to self._commit_trigger_keys (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/731)
* Translation update from Weblate (kab 77.4%, ko 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 12 May 2025 Release 2.27.53
* Get transliterated parts for preedit text using the raw input `self._typed_string` instead of the existing preedit text (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/726)
* Fix modifier keybindings for Gtk4 (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/725)
* Add option to colour the “inner” m17n preedit not only when there are candidates but always (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/719)
* Translation update from Weblate (de 100%, fr 100%, ja 99.6%, ka 100%, sv 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 May 2025 Release 2.27.52
* Don’t trigger a new search in emoji-picker when the search entry changes just by trailing or leading whitespace
* Improve emoji matching (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/705)
* Apply the current case mode and normalization only to the parts of the preedit which do not belong to an “inner” preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/717)
* Show the code point and a comment in the lookup table for control characters or other invisible characters (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/715)
* Do not ignore the composition exclusions for Hebrew when normalizing to NFC (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/716)

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 May 2025 Release 2.27.48
* Don’t use spellchecking by default when searching for emoji and Unicode characters (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/710)
* Support a few more unusual keys for transliteration (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/709)
* If a key which triggers a commit makes input_phrase empty, clear the input and update to UI to remove preedit and lookup table (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/707)
* Make self.msymbol == Tab when Tab is typed to enable m17n transliterations for Tab (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/708)
* Update emoji annotations from CLDR
* Allow Escape as input and make self.msymbol == 'Escape' when Escape is typed to enable m17n transliterations for Escape (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/704)

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 May 2025 Release 2.27.46
* Add support for .bz2 and .xz to opening files for emoji data
* Do not add useless dictionary match labels (or flags) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/702)
* Load also the Unikemet.txt file from UCD (if available)
* emoji_picker.py: Improve argument parsing, add --spellcheck option
* Also match against the Unicode block names from Block.txt
* Migrate test_0_gtk.py from Gtk.main() to GLib.MainLoop()
* The search entries for adding dictionaries, inputmethods, and autosettings should grab focus immediately when the popover is shown
* Reduce match_limit in emoji-picker by default to 1_000 again but add a --match-limit command line option
* Load also the NameAliases.txt file from UCD
* Load also the old Unicode 1.0 name from UnicodeData.txt (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/698)
* Migrate from Gtk.main() to GLib.MainLoop() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/699)
* Translation update from Weblate (kab 75.5%, zh_TW 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Apr 2025 Release 2.27.42
* Ignore self._candidates_delay_milliseconds when OSK is in use (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/695)
* Do not show frequency debugging information in the looup table when OSK is active
* Improve instantiation time of EmojiMatcher: Use @functools.lru_cache(maxsize=500_000) to cache the variation_selector_normalize() method

* Author: Mike FABIAN <mfabian@redhat.com>
* 26 Apr 2025 Release 2.27.41
* Improve KeyvalsToKeycodes to work correctly also on Wayland (The old code worked correctly only on X11) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/691)
* Improve starting of the setup tool, make it work correctly when starting from a git clone (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/692)
* Translation update from Weblate (ar 99.6%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 23 Apr 2025 Release 2.27.38
* Use a NamedTuple for candidate lists instead of a simple tuple to improve code readability
* Increase the maximum number of emoji displayed in the lookup table from 20 to 10_000 (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/686)
* Improve detection whether a fallback for an emoji is needed (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/690)
* Show number of matched emoji always in the subtitle in emoji-picker and increase matchlimit to 100_000 for searches (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/689)
* Increase pygame.mixer's buffer size (Thanks to David Mandelberg) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/681)
* Translation update from Weblate (es 99.6%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Apr 2025 Release 2.27.36
* Skip the itb_emoji.py doctests if rapidfuzz or enchant could not be imported (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/664)
* Use rapidfuzz to improve emoji and Unicode character search performance (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/679)
* Do not try to complete on empty input when word predictions are disabled (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/684)
* Translation update from Weblate (it 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Apr 2025 Release 2.27.34
* Add trigger hotkeys for temporary word/emoji prediction, by David Mandelberg (Resolves: https://github.com/mike-fabian/ibus-typing-booster/pull/658)
* Translation update from Weblate (kab 75.1%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 15 Apr 2025 Release 2.27.33
* Add /usr/local/share/m17n/, /usr/share/m17n/, ~/.m17n.d/ to <observed-paths> in /usr/share/ibus/component/typing-booster.xml (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/661)
* Some optimization and code cleanup of the emoji search code (about 30% faster)
* Translation update from Weblate (es 94.9%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Apr 2025 Release 2.27.31
* Add a new boolean gsettings option to allow loading **all** Unicode characters from UnicodeData.txt for the Unicode symbols and emoji predictions (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/667)
* Scale image correctly when adding an input method in the setup tool (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/675)
* Display a middle dot in the preedit for keys in a compose sequence which use unassigned Unicode code points (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/674)
* Translation update from Weblate (fi 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Apr 2025 Release 2.27.30
* Commit finished compose sequences immediately if no completions are possible (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/662)
* Fix summary for asciidigits in the gschema file
* Fix typo in English message “more then one” -> “more than one”
* Translation update from Weblate (new: fi 73.6%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Feb 2025 Release 2.27.29
* If an input method transliterates a single character into another single character use the transliterated result for Compose (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/654)
* Ignore dictionary matches in the lookup table for candidates which have comments (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/655)

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Feb 2025 Release 2.27.28
* Translation update from Weblate (ko 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Feb 2025 Release 2.27.27
* IBus.Keymap("in") does not work on Alpine Linux but the deprectated IBus.Keymap.new("in") works
* Allow changing case mode even when no lookup table is shown and it effects only the preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/640)
* Use itb_util.normalize_nfc_and_composition_exclusions(x) *everywhere* instead of unicodedata.normalize('NFC', x) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/633)
* Add a new gsettings option 'wordpredictions' to simplify and improve the behaviour of engines emulating ibus-m17n (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/629)
* Add candidate_index, candidate_from, and candidate_to to the API of the m17n Transliterator class
* Translation update from Weblate (de 100%, fr 100%, ja 99.6%, ka 100%, kab 74.2 %, ko 32.9%, pl 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Feb 2025 Release 2.27.24
* Fix inline completion when option “Yes, without fallback to popup” is chosen (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/626)
* Don’t spellcheck the preedit if the top priority input method is Japanese or Chinese (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/624)
* Update UnicodeData.txt, DerivedAge.txt to the Unicode 17.0.0 draft as of 2025-02-10
* Translation update from Weblate (ko, new 17.1%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Feb 2025 Release 2.27.23
* Key combinations like A-C-l should also commit and pass the key to the application (unless they have a transliteration) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/622)
* Support m17n input methods which produce multiple candidates (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/523)
* Enable vi-tcvn, vi-telex, vi-viqr, vi-vni, zh-pinyin-vi, zh-pinyin as restricted tb engines

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 Feb 2025 Release 2.27.16
* Improve status info in auxiliary text for compose completions and related candidates: When compose completions or related candidates are shown, use different auxiliary text to make it more obvious that a “special” lookup table is shown.
* Make compose completions work when the option “☑️ Enable suggestions by key (Default is the Tab key)” is used (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/619)
* Speedup for itb_pango: Create a Gtk.label and Pango.Layout only once and reuse it, Seems to make get_fonts_used_for_text() about 33% faster.

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Jan 2025 Release 2.27.15
* Workaround for reopening preedits in WhatsApp at the beginning of a line (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/617)
* Update UnicodeData.txt, Blocks.txt, DerivedAge.txt to the Unicode 17.0.0 draft as of 2025-01-28

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Jan 2025 Release 2.27.13
* If an early commit is possible in a restriced engine, use `return False` if self._prefer_commit is False, only a single key is in the input and that key was not transliterated (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/616)
* Improve committing strings with multiple lines (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/615)

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 Jan 2025 Release 2.27.10
* Generate translations into metainfo.xml files with autotools (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/597)
* Generate translations into desktop files (Related: https://github.com/mike-fabian/ibus-typing-booster/pull/604)
* Make desktop files translatable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/pull/604)
* Translation update from Weblate (cz 100%, ja 99.6%, ka 100%, pl 100%, sv 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Jan 2025 Release 2.27.9
* Avoid producing duplicates in itb_util.expand_languages() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/600)
* Rename typing-booster.appdata.xml and emoji-picker.appdata.xml files (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/598)
* Make emoji picker appdata file translatable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/pull/596)
* Translation update from Weblate (cz 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Jan 2025 Release 2.27.8
* Make code to support multiple m17n candidates better readable using a NamedTuple (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/523)
* Translation update from Weblate (it 100%, pt 94.4%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Jan 2025 Release 2.27.7
* Fix typo in setup tool in the function called when changing an existing autosetting (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/591)

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Jan 2025 Release 2.27.6
* “return False” in “emoji_font_fallback_needed()” if “get_fonts_used_for_text()” returns and empty result (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/589)
* Add a gsettings option “prefercommit” (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/580)
* Some preparation for future support of m17n input methods offering multiple candidates (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/523)
* Use XML-tag “layout_option” for “lv3:ralt_switch”
* Use higher ranks for the “tb” engines than for the respective “m17n” engines
* Translation update from Weblate (sv 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 01 Jan 2025 Release 2.27.3
* Shorten the longname of engines mimicking ibus-m17n by appending only “(tb)” instead of “(Typing Booster)”
* Add option to force the use of an IBus keymap (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/581)
* Use forward_key_event() in _return_false() only when fixing up wrong key codes (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/582)
* Prefer `return False` over `forward_key_event()` if the client is SDL2_Appliaction (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/580)
* Translation update from Weblate (de 100%, fr 100%, jp 99.6%, ka 100%, pl 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Dez 2024 Release 2.27.2
* Translation update from Weblate (it 99.5%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 Dez 2024 Release 2.27.1
* Use (almost) the same symbols in the panel as ibus-m17n for the engines emulating ibus-m17n
* Set layout to “default[lv3:ralt_switch]” for the same m17n engines where ibus-m17n sets this
* Add rank to xml output: use the same values as ibus-m17n

* Author: Mike FABIAN <mfabian@redhat.com>
* 16 Dez 2024 Release 2.27.0
* Commit early like ibus-m17n does if the engine is restricted to emulate ibus-m17n
* Hide “emoji prediction mode” and “off the record mode” property menus by default for the restricted engines emulating ibus-m17n
* Offer additional engines which do simple ibus-m17n emulation by default (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/570)
* Fix crash when changing the sound file with the setup tool (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/569)
* Update emoji annotations from CLDR
* Translation update from Weblate (de 100%, es 83.9%, fr 100%, ja 99.5%, ka 100%, kab 75.9%, nl 95.1%, pl 99.5%, pt 89.1%, pt_BR 81.5%, sv 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Dez 2024 Release 2.26.12
* Support autosettings for values of type uint32, int64, uint64, and double (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/566)
* Improve emoji_font_fallback_needed() **always** ignore variation selectors when checking whether fallback is needed (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/565)
* Translation update from Weblate (he 88.7%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Nov 2024 Release 2.26.11
* Improve detection of Wayland session (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/561)
* Support non-ASCII input for m17n-db input methods (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/537)
* Improve “class KeyEvent”: Prepend 'S-' to msymbol when Shift is pressed and is is a space or not printable
* Show also the languages supported by a font in emoji-picker (only when -d or --debug is used)

* Author: Mike FABIAN <mfabian@redhat.com>
* 04 Nov 2024 Release 2.26.8
* When adding an msymbol to input_phrase and checking whether it changes the transliteration, don’t apply a case mode change to that msymbol (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/558)
* Fix get_font_file() for family names which contain “-”
* Translation update from Weblate (kab 75.9%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Oct 2024 Release 2.26.6
* Simplify itb_pango.py: don’t use ctypes, use `from gi.repository import Pango` instead
* Get more information about the Pango rendering support for an emoji and use fallback in emoji-picker only when necessary (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/508)
* Also make it possible to show font file names, font versions, and emoji related OpenType tables of the fonts used (shown only in debug mode, i.e. when "emoji-picker --debug" is used, when not in debug mode show only the font family name)
* In do_reset() skip clearing input only when the surrounding text **up to the cursor** ends with the current preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/529)
* Translation update from Weblate (kab 75.9%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 23 Oct 2024 Release 2.26.0
* Introduce a delay time before candidates are updated and displayed (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/530)
* emoji-picker: Show Emoji properties, Unicode category, and Unicode block always, not only when --debug is used. As they are now shown always, make their labels translatable.
* Translation update from Weblate (de 100%, fr 100%, ja 99.5%, ka 100%, sv 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Oct 2024 Release 2.25.19
* Translation update from Weblate (el 5.3%, kab 34.8%, sv 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Oct 2024 Release 2.25.18
* Make sure all emoji, even those which are sequences, get a Unicode version and not only an Emoji version (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/542)
* Translation update from Weblate (ka 100%, pl 99.5%, tr 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Oct 2024 Release 2.25.17
* Get correct Unicode version from DerivedAge.txt and also display both Unicode version and Emoji version in emoji-picker (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/538)
* Translation update from Weblate (de 100%, fr 100%, ja 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Sep 2024 Release 2.25.16
* When committing, normalize to NFC **and** recompose the composition exclusions (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/531)
* Update the emoji data files to the to version from the final Unicode 16.0.0 release 2024-09-10
* Update UnicodeData.txt to the Unicode 16.0.0 release 2024-09-10
* Update emoji annotations from CLDR
* Translation update from Weblate (New: el 4.9%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Aug 2024 Release 2.25.15
* Also catch ValueError exception when trying to import nltk (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/527)
* Translation update from Weblate (ru 25.1%)
* Update emoji annotations from CLDR

* 22 Jul 2024 Release 2.25.14
* 'S- ' (Shift-space) should not trigger a commit if it has a transliteration (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/524)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Jul 2024 Release 2.25.13
* Name of Sinhala input method changed: si-wijesekera ➡️ si-wijesekara
* Translation update from Weblate (new: ru 12.3%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Jul 2024 Release 2.25.12
* Correct calculation of caret when a key which triggered a commit *increases* the length of the transliteration (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/519)
* Do the retransliteration of the input_phrase currently only when the cursor is at the end of the typed string

* Author: Mike FABIAN <mfabian@redhat.com>
* 26 Jun 2024 Release 2.25.11
* Yet another fix to make it possible again to use keys with Unicode keysyms in keybindings and make it work with all known versions of ibus (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/497)

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Jun 2024 Release 2.25.10
* Use NFC when doing the cursor correction after committing a preedit using space (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/515)
* Fix for ibus-1.5.30: Make it possible again to use keys with Unicode keysyms in keybindings (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/497)

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Jun 2024 Release 2.25.9
* Translation update from Weblate (cs 100%)
* Update emoji annotations from CLDR
* Drop Python < 3.6 support
* Fix test_0_gtk.py: typing booster now avoids clearing the input in do_reset() when the preedit is empty

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 May 2024 Release 2.25.8
* Support compose sequences containing ASCII keys written as <U00XX> code points (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/510)
* Update emoji annotations from CLDR
* Translation update from Weblate (pt 91.3%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 15 Apr 2024 Release 2.25.7
* Don’t use forward_key_event() on Gnome Wayland if the key might be a keyboard shortcut using a modifier (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/507)

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Apr 2024 Release 2.25.6
* If Shift+something is pressed and then released, do not swallow the release of the Shift key (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/504)
* Decrease grid_row_spacing from 5 to 1 pixels to make the setup tool still fit on a 1024x768 pixel screen

* Author: Mike FABIAN <mfabian@redhat.com>
* 04 Apr 2024 Release 2.25.4
* Pass key which triggered cancel command to application if self._min_char_complete == 0 and there are no candidates (Resolves:  https://github.com/mike-fabian/ibus-typing-booster/issues/505)
* Update emoji annotations from CLDR
* Translation update from Weblate (ka 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Feb 2024 Release 2.25.3
* Add a feature to insert or remove RLM or LRM markers to change the direction of a line of bidi text (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/500)

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Feb 2024 Release 2.25.1
* Make it possible to use keys with Unicode keysyms in keybindings (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/497)
* Add hack to make space handling for punctuation work for kate and kwrite (https://github.com/mike-fabian/ibus-typing-booster/issues/496)
* Translation update from Weblate (pl 99.5%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 05 Feb 2024 Release 2.25.0
* Add new combobox option “Record mode” (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/470)
* Improve handling of “:” for fr_CA and add fr_CH to use the same rules as fr_FR (Related: https://github.com/mike-fabian/ibus-typing-booster/issues/480)
* Translation update from Weblate (bn 100%, de 100%, fr 100%, ja 99%, ka 100%, sv 100%, tr 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Jan 2024 Release 2.24.12
* Improve handling of punctuation marks when writing (French) French (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/480)

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Jan 2024 Release 2.24.11
* Really clear the preedit when it is empty, don’t just hide it (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/476)

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Dec 2023 Release 2.24.10
* Update the preedit to empty right after deleting surrounding text when reopening a preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/474)
* Add debug output to show surrounding text after updating candidates, lookup_table, and aux
* Improve do_reset() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/473) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/474)
* Fix _record_in_database_and_push_context()
* Avoid updating the preedit to empty or  hiding it if the preedit is already hidden or empty
* Do not pass through a key release event if the corresponding key press event was handled
* Remove two probably redundant calls to get_surrounding_text()
* Hide and clear lookup table and aux in _update_ui_empty_input_try_completion() if no candidates are found
* Make self._ibus_event_sleep_seconds settable via gsettings
* Avoid more duplicate calls of _update_preedit() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/473) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/474)
* Fix disappearing first characters or words in the web clients of WhatsApp and Telegram used in Firefox (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/473)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 05 Dec 2023 Release 2.24.5
* Fix first character disappearing when compose was involved in WhatsApp and Telegram (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/471)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Oct 2023 Release 2.24.4
* Fix typos which prevented autosettings from working when the attempting to autoset “avoidforwardkeyevent” or “addspaceoncommit” (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/469)

* Author: Mike FABIAN <mfabian@redhat.com>
* 16 Oct 2023 Release 2.24.3
* Adapt compose test cases to newest compose table
* Parse compose sequence “<Multi_key> <slash> <slash> : "\\" backslash # REVERSE SOLIDUS” correctly (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/467)
* Avoid really *all* use of self.foreward_key_event() if the option self._avoid_forward_key_event is True
* Avoid verbatim bidi formatting characters in the source code

* Author: Mike FABIAN <mfabian@redhat.com>
* 01 Oct 2023 Release 2.24.2
* improve _return_false() and remove _commit_or_forward_key_event_or_return_false() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/463)
* Make characters for Biángbiángmiàn easily searchable
* emoji-picker: Update default for current Unicode release 15.1

* Author: Mike FABIAN <mfabian@redhat.com>
* 12 Sep 2023 Release 2.24.1
* Support several backends for playing sounds (Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2237675)
* Update UnicodeData.txt to current Unicode 15.1.0 and emoji data files to current Unicode 15.1
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 01 Sep 2023 Release 2.24.0
* Implement “commit_and_forward_key” command (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/461)
* m17n-lib interface: transliterate “produced” part and “preedit” separately (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/460)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Aug 2023 Release 2.23.4
* Support msymbol 'S-C-Return' as a commit to preedit key (Resolves https://github.com/mike-fabian/ibus-typing-booster/issues/457). Needed by hi-itrans.mim, hi-optitransv2.mim, kn-optitransv2.mim, mr-gamabhana.mim, sa-itrans.mim, sa-vedic-itrans.mim
* Remove useless m4/{Makefile.am,as-version.m4}
* Update emoji annotations from CLDR
* Update UnicodeData.txt to current Unicode 15.1.0 draft (https://www.unicode.org/Public/draft/UCD/ucd/UnicodeData.txt)
* Update emoji data files for current Unicode 15.1 DRAFT (https://www.unicode.org/Public/draft/UCD/ucd/emoji/emoji-data.txt https://www.unicode.org/Public/draft/UCD/ucd/emoji/emoji-variation-sequences.txt)

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 Aug 2023 Release 2.23.3
* Translation update from Weblate (tr 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 30 Jul 2023 Release 2.23.2
* Move self._gsettings.connect('changed', self.on_gsettings_value_changed) in __init__() *after* defining self._set_get_functions (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/454) (Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2171140)
* Translation update from Weblate (ar 100%)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 Jul 2023 Release 2.23.1
* Translation update from Weblate (pl 100%)
* Adapt some test cases to changes in enchant

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Jun 2023 Release 2.23.0
* Translation update from Weblate (de 100%, ka 100%, nl 100%, sv 100%, uk 100%)
* configure.ac: add a warning about not using /usr/local as the prefix (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/444)
* Add an option to convert language specific digits to ASCII (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/445)
* Strip entered autosettings value for boolean values
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 May 2023 Release 2.22.5
* Remove `xml:lang="en"` from the screenshots in appdata.xml (See: https://github.com/ximion/appstream/issues/494)
* Improve regexp for parsing description out of of .mim files (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/440)
* Setup tool: scale input method icons correctly (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/441)
* Update emoji annotations from CLDR
* Get version information of m17n-db (Needed for test cases depending on the version of m17n-db)
* Skip m17n_translit test cases when m17n-db is too old

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Apr 2023 Release 2.22.4
* Return empty program_name and window_title in get_active_window_xprop() when xprop results are unexpected (Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2175009)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Apr 2023 Release 2.22.3
* Apply workaround for committing multiline strings only for '^gtk3-im:(firefox|thunderbird)', i.e. not on Wayland (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/438)

* 03 Apr 2023 Release 2.22.2
* Translation update from Weblate (ka 100%, sw 99.5%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Feb 2023 Release 2.22.1
* Translation update from Weblate (sv 100%)
* Fix input of '_' and emoji lookup using '_' for the French BÉPO layout and the German neo2 layout (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/432)

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Feb 2023 Release 2.22.0
* Translation update from Weblate (de 100%, ja 37.8%, nl 100%, pl 100%, tr 100%, uk 100%)
* Changing the order of dictionaries and input methods by keybinding should not be permanent when autosettings for dictionaries or keybindings are applied
* Add a GUI in the setup tool for the autosettings (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/423) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/328)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 Feb 2023 Release 2.21.4
* Memoize instances of the Dictionary class (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/425)

* Author: Mike FABIAN <mfabian@redhat.com>
* 12 Feb 2023 Release 2.21.3
* Update emoji annotations from CLDR
* Translation update from Weblate (ka 100%)

* 12 Feb 2023 Release 2.21.2
* Autoselect extremely likely candidates: Allow only adding of accents, never removing accents (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/420)

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Feb 2023 Release 2.21.1
* Small performance tweak in detecting terminals
* Translation update from Weblate (nl 100%, pl 100%, sv 100%, tr 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Feb 2023 Release 2.21.0
* Add an option to disable Typing Booster in terminals (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/414)
* Update emoji annotations from CLDR
* Add autosettings option (command line only at the moment, useful for https://github.com/mike-fabian/ibus-typing-booster/issues/328)
* Translation update from Weblate (de 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Jan 2023 Release 2.20.0
* Allow predictions when 0 characters have been typed (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/268)

* Author: Mike FABIAN <mfabian@redhat.com>
* 30 Dec 2022 Release 2.19.13
* Catch exception when user database is locked during shutdown (Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=215144)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Dec 2022 Release 2.19.12
* Try not to fail if the database contains invalid UTF-8 or is otherwise malformed (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/409)
* Stop calling self.set_wmclass('ibus-setup-typing-booster', 'Typing Booster Preferences') (avoid deprecation warning)

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Nov 2022 Release 2.19.10
* Save space when displaying compose completion in horizontal lookup tables (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/407)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Nov 2022 Release 2.19.9
* Emoji search: If search strings contain whitespace count as an exact match if all words match in any order (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/405)
* emoji-picker: If a search string contains non-whitespace characters, strip whitespace (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/404)
* emoji-picker: Put the first match in a search always into the clipboards automatically (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/402)

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Nov 2022 Release 2.19.8
* Do not show automatic emoji predictions when OSK (on-screen-keyboard) is visible (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/398)
* Update emoji annotations from CLDR
* If a commit is triggered by a simple space, commit the space instead of forwarding it (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/397)

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Oct 2022 Release 2.19.7
* Avoid inline completion when OSK (on-screen-keyboard) is shown (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/395)
* Do not reset input purpose on focus out (See: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5966#note_1576732)

* Author: Mike FABIAN <mfabian@redhat.com>
* 15 Oct 2022 Release 2.19.6
* Update emoji annotations from CLDR
* Avoid showing passwords in OSK buttons by disabling typing-booster in terminals when the on-screen-keyboard (OSK) is shown (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/393)
* Translation update from Weblate (bn 100% complete)

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Oct 2022 Release 2.19.2
* Do not commit by index when OSK is visible (Resolves: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5865)
* Translation update from Weblate (sw 100% complete)

* Author: Mike FABIAN <mfabian@redhat.com>
* 05 Oct 2022 Release 2.19.1
* Update emoji annotations from CLDR
* Make search for input methods which contain uppercase in their names work (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/387)
* Translation update from Weblate (bn 73.8% complete)

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Sep 2022 Release 2.19.0
* Save horizontal space to make the new Georgian translations fit better on small screens (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/383)
* Make compose support work for sequences starting with keys other than Multi_key and dead keys (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/379)
* Update emoji annotations from CLDR
* Stop using deprecated keyword arguments “flags” and “message_format” when creating Gtk.MessageDialog() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/377)
* Use ['ar-kbd', 'NoIME'] by default for all Arabic locales instead of just ['NoIME']
* Make it possible to set options for m17n input methods in the typing booster setup tool (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/360)
* Translation update from Weblate (ar 100%, bn 67% (new!), de 100%, ka 100% (new!), nl 100%, pl 100%, sv 100%, tr 100%, uk 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 23 Aug 2022 Release 2.18.10
* Add functions to get and set variables for m17n input methods
* Update emoji annotations from CLDR
* Translation update from Weblate (bn added 42% complete)
* Test cases for bn-national-jatiya.mim
* Add more icons in different sizes to the appdata.xml files
* Stop calling self.set_wmclass('emoji-picker', 'Emoji Picker') (avoid deprecation warning)

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Aug 2022 Release 2.18.9
* Make it possible to use custom labels for different dictionary matches
* Distinguish dictionary matches shown by flags in the candidate list if some flags are identical (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/358)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 31 Jul 2022 Release 2.18.7
* Use the environment variable DICPATH as well when searching for dicitonaries (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/357)
* Translation update from Weblate (sw updated to 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 30 Jul 2022 Release 2.18.6
* Avoid selection changed events when clearing the shortcut treeview (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/355)
* Correctly remember how often user shortcuts were used (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/353)
* Update emoji data files for current Unicode 15.0 DRAFT
* Update UnicodeData.txt to https://www.unicode.org/Public/15.0.0/ucd/UnicodeData-15.0.0d6.txt
* Update emoji annotations from CLDR
* Use AT-SPI first to get the active window only on wayland, on X11 use xprop immediately
* Translation update from Weblate (sv updated to 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 26 Jul 2022 Release 2.18.4
* Get program name of focused window if do_focus_id doesn’t provide that already
* Show lookup table *always* when display of related emoji or words is requested (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/350)
* Translation update from Weblate (nl updated to 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Jul 2022 Release 2.18.0
* Optionally show flags in the candidate list for dictionary matches (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/343)
* Update emoji annotations from CLDR
*  Translation update from Weblate (de (100%), es (93.7%), pl (100%), tr (100%), uk (100%))

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Jul 2022 Release 2.17.1
* Translation update from Weblate (pt updated to 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Jul 2022 Release 2.17.0
* Improve “Automatically select the best candidate” (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/285)
* Translation update from Weblate (de (100%), pl (100%), pt (30.3%), tr (100%), uk (100%))

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Jun 2022 Release 2.16.7
* When the lookup table is hidden because of inline completion, ignore commands to commit candidates by their index (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/325)
* Add a command 'commit' with configurable key bindings (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/320)
* Translation update from Weblate (sw updated to 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 23 Jun 2022 Release 2.16.5
* Fix typo in LOCALE_DEFAULTS for Korean (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/321)
* Improve and simplify setting input methods and dictionaries using new helper functions (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/318)
* self._is_candidate_auto_selected should only be true if no manual keys to select were pressed (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/319)
* Translation update from Weblate (it updated 93.6% (205 of 219 strings))

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 Jun 2022 Release 2.16.3
* Add search entry for already defined custom shortcuts (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/312)

* Author: Mike FABIAN <mfabian@redhat.com>
* 16 Jun 2022 Release 2.16.1
* Avoid using forward_key_event() in Gtk4 immodule automatically by checking for IBUS_CAP_SYNC_PROCESS_KEY (new, will start working for ibus >= 1.5.27)
* Udate the “Use inline completion” combobox in the setup tool when the gsettings value changes (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/313)
* Add client detection code by Takao Fujiwara (will start working for ibus >= 1.5.27)
* If libvoikko.Voikko('fi') fails when initializing a Finnish dictionary, continue without voikko
* Always show standard lookup table for compose completions, never try inline completions (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/307)
* Update configure.ac for latest autoconf 2.71 (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/309)
* Update emoji annotations from CLDR (small fix for en.xml)
* Translation update from Weblate (fr updated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Jun 2022 Release 2.16.0
* Make it possible to use inline completion without automatic fallback to a candidate list (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/266)
* Update emoji annotations from CLDR (oc.xml is new)
* Translation update from Weblate (de (100%), jp (36.9%), nl (100%), pl (100%), tr (100%), uk (100%) updated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 May 2022 Release 2.15.27
* If an emoji is duplicated as a text candidate, use only the emoji candidate and increase its score (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/289)
* Update emoji annotations from CLDR
* Translation update from Weblate (sv updated to 100%, sw updated to 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 Mar 2022 Released 2.15.25
* Translation update from Weblate (de, fa, nl, pl, tr, uk updated)
* Make emoji and unicode symbol trigger key configurable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/279)
* Do not commit if a key triggering a commit is swallowed by transliteration (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/281)
* Elide extremly long comments in the lookup table (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/280)

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Feb 2022 Released 2.15.22
* Translation update from Weblate (ca, de, es, fr, nl, pl, pt, pt_BR, sv, tr, uk, zh_CN, zh_TW updated)
* Add a “Restore all defaults” button to the setup tool (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/272)
* Allow capital letters and accents in user shortcuts
* Make user shortcuts containing punctuation possible (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/271)
* Do not record stuff to user database when itb_util.InputHints.PRIVATE is set
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Jan 2022 Released 2.15.16
* Ignore MOD3_MASK (“Usually” Scroll Lock) when matching key bindings (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/270)
* When a Modifier key release matches a hotkey command, return False not True. (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/269)
* Update emoji annotations from CLDR
* Update UnicodeData.txt UnicodeData-15.0.0d3.txt

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Jan 2022 Released 2.15.15
* Translation update from Weblate (fr updated to 100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 Jan 2022 Released 2.15.14
* Update emojione.json file to new version emoji.json (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/262)
* Spellchecking during emoji search only for words with more than 5 letters
* Update emoji annotations from CLDR
* When emoji search via codepoint matches, increase the score of the code point match (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/263)
* Translation update from Weblate (cs updated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 23 Nov 2021 Released 2.15.11
* Use @functools.lru_cache(maxsize=None) decorator for remove_accents (Makes everything 30%-40% faster)
* Add sorting option to tabstatistics

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Nov 2021 Released 2.15.7
* Convert user database context to lower case and accents removed while reading training data
* Make the context in the database case insensitive and accent insensitive (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/256)
* Test cases for the sqlite database
* Allow cleanup_database() to cleanup an in memory database when doing unit tests
* Allow only lower case user shortcuts (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/255)
* Add function to return number of rows in the database for debugging and testing
* Allow to read training data from file when database is empty, allow reading from .gz files

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Nov 2021 Released 2.15.3
* Title case all candidates if input_phrase is in title case (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/253)

* Author: Mike FABIAN <mfabian@redhat.com>
* 16 Nov 2021 Released 2.15.0
* Make matching in the database case insensitive (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/251)
* Remove accents for “input_phrase” when learning from a text file (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/252)
* Make matching in dictionaries case insensitive (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/251)
* When learning data from a text file, don’t put timestamp to “now” for changed and new rows: For new entries use a timestamp in the time range of the existing database. Don’t change the timestamp of existing entries at all
* Cleanup user database when Typing Booster starts (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/239)
* Also use the sqlite3 “VACUUM” command to rebuild the database file, repacking it into a minimal amount of disk space
* Add tabstatistics.py, command line tool to display some information about the database contents
* Use python3-pycountry as a fallback to langtable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/250)

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Sep 2021 Released 2.14.13
* Skip emoji tests which rely on the enchant results if enchants results change (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/244)
* Make it possible to remove unwanted compose sequences by using an empty replacement text (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/245)
* The 🏴‍☠️ “pirate flag” needs a U+FE0F after the final character to be fully qualified
* Update data files for Unicode 14.0.0

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Sep 2021 Released 2.14.12
* Update emoji annotations from CLDR
* Add 'G-_' to 'G- ' as exceptions which must not trigger commits but insert into the preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/243)

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Sep 2021 Released 2.14.10
* Fix “Inconsistency when typing digits in Compose” (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/238)
* Fix “Toggling input mode on/off does not work when a compose sequence is in progress” (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/237)
* Toggling input mode off should not throw away the current input (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/236)

* Author: Mike FABIAN <mfabian@redhat.com>
* 30 Aug 2021 Released 2.14.8
* Translation update from Weblate (ca, es, it updated)
* Update emoji annotations from CLDR
* Add IBus.KEY_KP_Decimal and IBus.KEY_period as a normal/keypad equivalence pair
* get_string_from_lookup_table_cursor_pos() should return the string in NFC (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/234)
* If an exception happens when trying to play a sound, catch it.
* Change default input method for pa from “pa-inscript2” to “pa-inscript2-guru”
* Make appearance tab narrower if possible (helps especially for the French translations) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/230)
* Spellchecking the preëdit should only spellcheck the part of the preedit which is a word (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/229)

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Aug 2021 Released 2.14.4
* Translation update from Weblate (de, nl, pl, sv, tr, uk updated to 100%, si new)
* Update emoji annotations from CLDR
* Treat typing space within a preedit similar to typing Return within a preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/223)
* When a key triggers a commit while no candidate is selected, the cursor should **always** be corrected leftwards (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/227)
* When committing with Return inside a preedit, database recording and pushed context is wrong (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/226)
* Fix a typo which caused “\n” to be committed where “\t” should have been committed.
* Remove spaces in lookup representation of compose completions
* If a keypad key makes compose sequence invalid, try sequence with regular keys instead (And the other way round) (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/224)
* Make typing Return or KP_Enter inside a preedit more reliable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/222)
* Show input method icons in the setup tool if an icon is available (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/213)
* Rename option “Arrow keys can reopen a preedit” to “Enable reopening preedits (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/212)

* Author: Mike FABIAN <mfabian@redhat.com>
* 12 Aug 2021 Released 2.14.0
* Translation update from Weblate (de, nl, pl, sv, tr, uk updated to 100%)
* Update emoji annotations from CLDR
* Improve code to determine the default dictionaries and input methods for the current local
e (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/209)
* Improve behaviour of key combinations which normally select text when a preëdit is open (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/210)
* Show possible compose completions on request (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/208)
* When setting self._input_mode to False (direct input), set self._hide_input to False as well
* Never mix context from surrounding text with remembered context (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/204)
* Rename the option “Use a workaround for a bug in Qt im module” to “Avoid using the forward_key_event() function” (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/200)
* Handle End, Home, KP_End, KP_Home also as commit trigger keys. For normal preedits *and* for compose preedits. (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/199)
* Improve typing space or Tab when the cursor is not at the end of the preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/198)
* Completly new implementation of reopening the preedit on arrow-keys, BackSpace and Delete. Should be much more reliable. (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/196)
* Special handling of Left and BackSpace when a candidate is manually selected (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/178)

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Aug 2021 Released 2.13.1
* Translation update from Weblate (de, nl, pl, tr, uk updated to 100%)
* Don’t skip reopening a preëdit when NumLock is on (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/178)
* Make searching for the “Others” input methods possible in the language of the current locale (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/190)
* Don’t loop over the missing dictionaries when installing, install all in one go (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/189)
* When adding an input method, searching for localized language names, endonyms, and English language should work (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/188)
* When adding a dictionary, searching for the language endonym should always work (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/187)

* Author: Mike FABIAN <mfabian@redhat.com>
* 31 Jul 2021 Released 2.13.0
* Translation update from Weblate (de, tr, uk updated to 100%)
* Use colour for the compose part of preedit (Resolves: Use colour for the compose part of preedit)
* When a compose sequence becomes invalid, don’t throw it away (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/180)
* Cancelling a compose sequence should not beep (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/179)
* Don’t spell check the preedit while a compose sequence is in progress (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/181)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Jul 2021 Released 2.12.1
* Starting a compose sequence while a candidate is selected should append to the selection (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/175)
* Translation update from Weblate (de, nl, pl, tr, uk all updated to 100%)
* Fix typo in translatable message (Thanks to Yuri Chornoivan)
* Add a few more combining chars for dead keys to the list (Thanks to Matthias Clasen)
* Reduce grid row spacing from 10 to 5 in the setup tool

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Jul 2021 Released 2.12.0
* Translation update from Weblate (de, nl, pl, tr, uk all updated to 100%)
* Use the dead keys added recently to ibus as soon as they become available by an ibus update (see: https://github.com/ibus/ibus/commit/3e2609e68c9107ce7c65e2d5876bfdc9f0f8c854)
* Make Compose preedit less intrusive, show compose key only in the middle of the sequence or when it is the only key so far
* Use · U+00B7 MIDDLE DOT instead of ⎄ U+2384 COMPOSITION SYMBOL to display Multi_key in pre-edit.
* Add an option to play a sound on error (for example invalid compose sequence)
* Don’t include the system compose files unconditionally if a user compose file exists (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/170)
* Add option to choose whether to start up in direct input mode (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/169)
* Change default input methods for Indian locales to inscript2

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Jun 2021 Released 2.11.5
* Ensure enum.Flag's obj._value_ is an integer (Makes it work for Python 3.10) (Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1970626)
* Use version.parse from packaging instead of LooseVersion from distutils.version (To fix a deprecation warning, see: https://www.python.org/dev/peps/pep-0632/)
* Update py-compile to the version from automake-1.16 (To fix DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12;)

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Apr 2021 Released 2.11.4
* In main.py “import factory” only when the --xml option is not used (Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1711646)
* Limit the “capitalize” case mode used in auto-capitalization to the first index in a strin
g (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/167)

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Mar 2021 Released 2.11.2
* Improve the handling of typing digits into the preedit (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/164)
* Make the keybindings treeview also sortable by clicking the column headers
* Make custom shortcut treeview sortable by clicking on the column headers (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/163)
* Don’t use surrounding text if InputPurpose.TERMINAL is set

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Mar 2021 Released 2.11.0
* Use sensitivity feature of buttons in the setup tool tab where shortcuts are defined
* Don’t let dialog action area of setup tool expand.
* Improve the setup tool to make it possible to enter multi-line expansions of shortcuts (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/158)
* Elide extremely long candidates in the lookup table in the middle. See: https://github.com/mike-fabian/ibus-typing-booster/issues/158
* If a candidate contains newlines, replace the newlines with arrows in the lookup table. See: https://github.com/mike-fabian/ibus-typing-booster/issues/158
* If a commit string contains new-lines, commit it in several chunks and forward Return between the chunks. See: https://github.com/mike-fabian/ibus-typing-booster/issues/158#issuecomment-794233274
* Remove deprecated bind_textdomain_codeset(DOMAINNAME, "UTF-8")
* Update emoji annotations from CLDR
* Put the remote icon back in emoji-picker.appdata.xml, it was a false positive by appstreamcli
* Translation update from Weblate (pt_PT updated, 100% complete now)
* Skip the inscript2 test cases if these transliterations are not available.

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Feb 2021 Released 2.10.5
* Run the voikko tests only for libvoikko version >= 4.3
* Adapt voikko test cases to the newest voikko version libvoikko-4.3-3, python3-libvoikko-4.3-3, voikko-fi-2.4-3
* Log a warning when language is “fi” and “import libvoikko” failed
* Return an empty list [] in spellcheck_suggest_voikko() when libvoikko was not imported
* Update emoji annotations from CLDR, switching “no” and “nb”, see: https://unicode-org.atlassian.net/browse/CLDR-2698
* Remove icon in emoji-picker.appdata.xml

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Feb 2021 Released 2.10.4
* Use “from unittest import mock” instead of just “import mock”.
* Update emoji annotations from CLDR
* Translation update from Weblate for zh_CN (still 100% complete)

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Jan 2021 Released 2.10.3
* Update emoji annotations from CLDR
* Translation update from Weblate for zh_CN (100% complete now)

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Dec 2020 Released 2.10.2
* Add vi-telex to the default input methods for vi_VN locale
* Enable Unicode 13.1 Emoji in emoji-picker by default
* Update emoji data to Unicode 13.1
* Translation update from Weblate for zh_CN

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Nov 2020 Released 2.10.1
* Use IBus.InputHints.{UPPERCASE_CHARS,UPPERCASE_WORDS,LOWERCASE}
* Add utility to manually test input purpose and input
* Improve handling of input purpose and input hints
* Add compatibility enum classes InputPurpose and InputHints
* Add type hints
* Change default for emoji_unicode_min to 0.0 (fixes emoji omitted from browsing in emoji-picker)

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Oct 2020 Released 2.10.0
* Add option to automatically capitalize after punctuation (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/96)
* Don't record in user database when stripped_input_phrase or stripped_commit_phrase are emty
* When interactively deleting a candidate from the user database, remove all case modes
* Add 4 more characters ÞĦŊŦ to get special treatment in remove_accents()
* Translation updates from Weblate for ca, es, fr, it, ja, nl, sv

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Oct 2020 Released 2.9.9
* Fix typo in variable name in do_reset()
* KP_Delete should be handled the same way as Delete
* Translation update from Weblate for de, he, pl, tr, uk

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Oct 2020 Released 2.9.8
* Prevent also Delete from reopening a preedit when the option “Arrow keys can reopen a preedit” is off
* When the input is empty, Escape should be passed through, not inserted into the preedit
* Fix itb_util.tokenize(): if the input is only whitespace, the return should be an empty list
* Don’t clear context after typing Return, KP_Enter, ISO_Enter
* Improve behaviour of case modes
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 04 Sep 2020 Released 2.9.7
* Add commands “next_case_mode” and “previous_case_mode” with configurable key bindings
* Better hot key handling for modifier keys like Shift_L, …
* Use labels 1, 2, 3, … for the lookup table instead of 1., 2., 3., …
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Aug 2020 Released 2.9.6
* Make translations of 'Edit key bindings for command “%s”' work
* Don't hide emoji-picker.desktop from AppStream (by Gunnar Hjalmarsson)
* Translation update from Weblate for pt_BR, sv (100%)

* Author: Mike FABIAN <mfabian@redhat.com>
* 05 Aug 2020 Released 2.9.5
* Treat characters 'ÅåÄäÖö' as special when matching in the Swedish dictionary (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/126)
* Update emoji annotations from CLDR
* AppStream tweaks by Gunnar Hjalmarsson
* Translation update from Weblate for ca, de, es, sv

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Jul 2020 Released 2.9.4
* Add emoji-picker.appdata.xml
* Fix warnings and errors in typing-booster.appdata.xml
* Update emoji annotations from CLDR
* Support %S expansion in include statements in compose files
* Translation update from Weblate for fr, he, hu, zh_CN

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Jun 2020 Released 2.9.3
* Translation updates from Weblate for he
* Fix wrong indentation of push_context() in _commit_string()

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Jun 2020 Released 2.9.2
* Translation updates from Weblate for es
* Ignore invalid compose sequences when reading compose files
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 May 2020 Released 2.9.1
* Translation updates from Weblate for fr, nl, zh_TW
* Make keyboard shortcuts like Control+a work on non-ASCII keyboard layouts (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/107)
* Fix broken adding of key bindings (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/109)

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 May 2020 Released 2.9.0
* Translation updates from Weblate for de, ja, pl, tr, uk, zh_CN
* Update ibus-typing-booster.pot (Some new translatable strings, tooltips for 2 new buttons)
* Improve matching of keybindings, consider IBus.ModifierType.MODIFIER_MASK (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/94)
* Show the list of dictionaries in the setup tool only if it is more than just ['None']
* If a real dictionary is added in the setup tool, remove dummy dictionary 'None'.
* Add black flag for the special dummy dictionary 'None'
* Add doctests to check that the special dictionary 'None' is handled correctly
* When the list of imes or dictionaries is emptied by the user, set it to 'NoIME' or 'None' (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/98)
* Add "Set to default" buttons for the list of input methods and dictionaries
* Remove the special candidate which is shown when a dictionary is missing

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 May 2020 Released 2.8.3
* Save default dictionaries and input methods when making the lists empty in the setup tool
* Fix reading “include” instructions in Compose files and observe XCOMPOSEFILE (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/93)
* Fix right-to-left detection for LC_MESSAGES=C (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/97)
* GUI tests added thanks to Takao Fujiwara
* Update UnicodeData.txt to Unicode 13.0.0
* Translation updates from Weblate for it, hu, tr, pt_BR

* Author: Mike FABIAN <mfabian@redhat.com>
* 31 Mar 2020 Released 2.8.2
* Translation updates from Weblate for ar, tr
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Feb 2020 Released 2.8.1
* Prevent also BackSpace from reopening a preedit when the option “Arrow keys can reopen a p
reedit” is off (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/87 https://bugzilla.redhat.com/show_bug.cgi?id=1637647)
* Translation updates from Weblate for es, tr, he
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 04 Feb 2020 Released 2.8.0
* Translation updates from Weblate for ca, de, es, fr, nl, pl, uk
* Update emoji annotations from CLDR
* Update emoji data to Unicode 13.0 final
* New option to choose whether spellchecking is done on the preedit and which colour to use
* Spellcheck typed string in preedit and colour it if it is likely to be misspelled
* More test cases for spellchecking and spellchecking suggestions
* Restructure code for spellchecking and spellchecking suggestions

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Jan 2020 Released 2.7.7
* Translation updates from Weblate for es, de, pl, he, fr, uk, tr, nl
* Generate README.html and README from README.md
* A thorough upgrade to README.md (Resolves: https://github.com/mike-fabian/ibus-typing-booster/pull/74)
* Set button label of google application credentials button correctly (Resolves: rhbz#1793460)
* Make si-wijesekera the default input method for si_LK.UTF-8 locale
* Add another test case for libvoikko spellchecking together with en_GB spellchecking

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Jan 2020 Released 2.7.6
* Use included fi_FI.dic for Finnish word suggestions
* Add Finnish ispell dictionary fi_FI.dic
* Minor translation updates from Weblate for pl, tr, zh_CN

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Dec 2019 Released 2.7.5
* Add libvoikko support for Finnish
* Add support for (almost) arbitrary dead key sequences (suggested by Marko Myllynen)

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Dec 2019 Released 2.7.4
* Updated Portuguese (Brazil) translations from Weblate (100.0% translated)
* Updated Turkish translations from Weblate (100.0% translated)
* Remove weird spelling “preëdit” from messageid (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/62)
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Nov 2019 Released 2.7.3
* Correct release dates of Unicode 12.0.0 and 12.1.0 in emoji_picker.py
* Add workaround if key codes cannot be found for key values (workaround for big endian platforms)
* Fix race condition in itb_util.xdg_save_data_path() (Resolves: rhbz#1770072, rhbz#1713963, rhbz#1764520, rhbz#1768016)
* Another fix for right-to-left languages: fix wrong order of globe emoji
* Small fix in parsing emoji-test.txt which slightly changes the emoji sorting order
* Adapt parsing of the emoji data files to the changes in Unicode 13.0
* Fix emoji test cases for new emoji data files for Unicode 13.0
* Update emoji data to current Unicode 13.0 draft
* Add fa, it, tr to LINGUAS
* Updated Odia translations from Weblate (53.4% translated)
* Updated Czech translations from Weblate (100.0% translated)
* Updated Catalan translations from Weblate (17.1% translated)
* Added Turkish translations from Weblate (100.0% translated)
* Added Italian translations from  Weblate (5.2% translated)
* Portuguese (Portugal) translations moved from pt_PT to pt (23.8% translated)
* Update French translations from Weblate (100.0% translated)
* Added Persian translations from Weblate (0% translated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Nov 2019 Released 2.7.2
* Fix display for right-to-left languages in the dictionaries and input methods tab in the setup tool
* Added Swahili translations from Weblate (30.1% translated)
* Added Traditional Chinese translations from Weblate (0.5% translated)
* Added Portuguese (Portugal) translations from Weblate (23.8% translated)
* Update Hebrew translations from Weblate (100% translated)
* Update Arabic translations from Weblate (100% translated)
* Update Odia translations from Weblate (44.0% translated)
* Update Spanisch translations from Weblate (93.3% translated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 31 Oct 2019 Released 2.7.1
* Update Chinese (Simplified) translations from Weblate (13.5% translated)
* Update Spanish translations from Weblate (92.2% translated)
* Update Catalan translations from Weblate (12.4% translated)
* Add Hebrew translation from Weblate (67.4% translated)
* Add Arabic translation from Weblate (28.0% translated)
* Update Ukrainian translations from Weblate (100.0% translated)
* Update German translations from Weblate (100.0% translated)
* Update Japanese translations from Weblate (35.2% translated)
* Update French translations from Weblate (93.8% translated)
* Add Hungarian translation from Weblate (58.0% translated)
* Add Odia translations from Weblate (2.6% translated)
* Improve compose file parsing to get results containing \" correct
* More test cases for compose sequences
* Change README.md to refer to Weblate for translations instead of Zanata
* Fix display of code points in emoji-picker when running in or_IN.UTF-8 locale

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Oct 2019 Released 2.7.0 version
* Add support for compose sequences (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/47, Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/36)
* Test cases for compose support
* When using doctest: log to stderr and set logging level to DEBUG
* Properly close file handles when loading hunspell dictionaries

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Oct 2019 Released 2.6.8 version
* Quote the tables for the key and mouse bindings in the README.md as code
* Do not hardcode the list of useful m17n input methods
* Use LOGGER.exeption() in exception handlers
* Use python logging module with log file rotation instead of writing to stdout/stderr
* Fix set_preedit_underline() with parameter update_gsettings=True

* Author: Mike FABIAN <mfabian@redhat.com>
* 30 Sep 2019 Released 2.6.7 version
* If the first candidate is exactly the same as the typed string prefer longer candidates (Extends inline completions automatically)
* Move README to README.md and use some markdown to make it look better on github
* When showing similar emoji in the lookup table, show the list of keywords which matched only when debugging is on
* Update emoji annotations from CLDR
* More unittests, restructure test files, move some doctests to unittests
* Add a utility class KeyvalsToKeycodes to find ibus key codes instead of hardcoding them
* Add ceb to CLDR_ANNOTATION_FILES

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Sep 2019 Released 2.6.6 version
* When checking whether to show inline completion, normalize the first candidate as well
* Two more test cases in hunspell_suggest.py
* Make it work correctly with newer French hunspell dictionaries
* Skip some unittests when dictionaries or python modules needed are not installed
* Update emoji annotations from CLDR
* Add more test cases to m17n_translit_test.py for si-sayura.mim

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Aug 2019 Released 2.6.5 version
* Added Dutch translation (Thanks to Heimen Stoffels)
* Add si-sayura to the list of M17N input methods
* Add more test cases for m17n_translit.py, especially for si-sayura.mim

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Jul 2019 Released 2.6.4 version
* Update translations from zanata (cs updated, now 100% complete)
* Do not crash if initializing enchant or pyhunspell fails, continue without spellchecking
* Try to install myspell-xx_YY packages instead of hunspell-xx package on SUSE
* Fix loading of cldr annotations when the .xml files are zipped
* Add JoyPixels to good_emoji_fonts list

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Jun 2019 Released 2.6.3 version
* Performance improvement of around 30% in EmojiMatcher._match()
* Tiny performance improvement in itb_emoji.py _set_seq1()

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Jun 2019 Released 2.6.2 version
* Emoji ZWJSequence “people holding hands” is 12.0, not 10.0
* Update emoji annotations from CLDR
* icons: Regenerate with proper transparency (Thanks to FeRD (Frank Dana))
* Remove enable-background from icon SVG (Thanks to FeRD (Frank Dana))
* Update UnicodeData.txt to current Unicode 12.1.0

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 May 2019 Released 2.6.1 version
* Support emoji presentation and text presentation in emoji-picker
* Improve itb_emoji.py to also support text presentation of emoji
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 01 Mar 2019 Released 2.6.0 version
* Update translations from zanata (de, es, fr, pl, uk updated)
* Update emoji annotations from CLDR
* When Left or BackSpace trigger a commit, forward Left events only when no candidate was selected (i.e. the preëdit was committed)
* If a candidate is shown inline and *manually* selected, show the caret at the end of the candidate
* Right, Left, BackSpace, and Delete edit the preëdit only if no candidate is *manually* selected
* If an input char is typed while a candidate is *manually* selected, add that input to the candidate
* Change option name 'Add a space when committing by label or mouse' in setup tool
* Remove option “Use digits as select keys”
* Make key bindings to commit or remove candidates via label configurable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/48)
* Multi word suggestions: Commit the current commit phrase and the previous phrase as a single unit as well (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/49)
* Fix wrong tooltip for “Automatically select the best candidate” option

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Feb 2019 Released 2.5.3 version
* Update translations from zanata (ja, pl updated)
* Update emoji annotations from CLDR
* Use “NoIME” instead of “NoIme” as the internal name of the dummy input method

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Feb 2019 Released 2.5.2 version
* Fix test case for selecting non existing candidates for Fedora rawhide
* Update UnicodeData.txt to current Unicode 12.0 draft
* Update emoji data to Unicode 12.0 final for 2019
* Update emoji annotations from CLDR
* Initialize self.dictionary_sub_properties_prop_list = [] in self._init_properties() (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/46)
* Fix test case for case mode change
* Improve filter for dictionary selection if langtable available

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Jan 2019 Released 2.5.1 version
* Update translations from zanata (de, ja, fr, pl updated)
* Show also dictionary when “Show status in auxiliary text” is on
* Set notebook in setup tool to scrollable
* Make filter for dictionary selection work for language descriptions if langtable available
* Show names of languages and territories in setup tool if langtable is available
* Add missing flag for csb_PL
* Add option to automatically select the best candidate
* Pressing Shift should not immediately change the case mode of the candidates

* Author: Mike FABIAN <mfabian@redhat.com>
* 16 Jan 2019 Released 2.5.0 version
* Update translations from zanata (de, ja, uk updated)
* Add a property menu for the highest priority dictonary
* Add a missing _update_preedit()
* When lookup is enabled by tab but the lookup table is empty, the first cancel should clear the input
* Reset self.is_lookup_table_enabled_by_tab and self.is_lookup_table_enabled_by_min_char_complete when input is cleared
* Get suggestions from hunspell dictionaries only for input which does not contain spaces
* Don’t reinitialize the dictionaries if only the order of the dictionaries has changed
* Add key bindings to change the priority of dictionaries
* Speech recognition input using Google speech-to-text
* Change the default input methods for as_IN, kn_IN, and ta_IN
* Make ur-phonetic the default input method for ur_IN and add en_GB dictionary to default
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Dec 2018 Released 2.4.1 version
* Update translations from zanata (pl updated)
* Add direct input mode (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/25)
* Fix start of setup tool when libexedir is not /usr/libexec/ (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/42)

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Dec 2018 Released 2.4.0 version
* Update translations from zanata (de, es, fr, ja, pl, uk updated)
* Add new command 'toggle_hide_input' to hide the preëdit, lookup table, and auxiliary text
* Add an option to use preedit style only if lookup is enabled
* Add an option to choose the style of underlining the preedit
* Don’t try to record the first candidate when there is none after an automatic commit on focus out or reset (Resolves: rhbz#1659128)
* Add an option in the setup tool to set the debug level
* Move appearance related options to the new “Appearance” tab
* Add settings for colour and other appearance stuff
* Move “Dictionaries and input methods” Tab in the setup tool to the first position
* Update the shortcut hints in the tooltips when keybindings change
* Only show the label in the panel menus for emoji-mode and off-the-record-mode
* Don’t show the shortcut hints in the menu labels, takes too much space there.
* Update README because of the recent change to make keybindings configurable.

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Dec 2018 Released 2.3.3 version
* Toggle candidates between 'title', 'upper', and 'lower' case when Shift is typed.
* Improve Spanish translation (Thanks to Ismael Venegas Castelló)

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Dec 2018 Released 2.3.2 version
* Key bindings should match independent of whether Num Lock or Caps Lock are on or off.

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Dec 2018 Released 2.3.1 version
* Update translations from zanata (cs, de, es, fr, ja, pl, pt_BR, uk, zh_CN updated)
* Avoid some PyGTKDeprecationWarnings
* Don’t show Unicode 12.0 draft emoji by default in emoji-picker
* Update emoji data to Unicode 12.0 draft
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 05 Dec 2018 Released 2.3.0 version
* Update translations from zanata (de, ja, uk updated)
* Commit the current preëdit when the focus changes
* When preëdit empty or lookup table not enabled by key: clear the lookup table
* Make key bindings configurable (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/15)
* Correct tooltips for the “up” and “down” buttons for input methods dictionaries

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Nov 2018 Released 2.2.1 version
* Update translations from zanata (pl, uk updated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Nov 2018 Released 2.2.0 version
* Update translations from zanata (de updated)
* Save some screen space in the setup tool
* Add inline completion feature
* Tab should force a lookup when the minimum number of characters is not yet reached

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Oct 2018 Released 2.1.3 version
* Update translations from zanata (uk updated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Sep 2018 Released 2.1.2 version
* Update translations from zanata (de, pl updated)
* Add typing-booster.its and typing-booster.loc to avoid making the release descriptions and developer name in typing-booster.appdata.xml translatable.
* Remove code to check whether another instance of the setup tool is running.
* Add new option to avoid adding a space when committing by label or mouse (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/39)
* Update emoji annotations from CLDR
* Do not try to commit if index is >= the current number of candidates (Resolves: rhbz#1630349)
* Add test case for https://bugzilla.redhat.com/show_bug.cgi?id=1630349

* Author: Mike FABIAN <mfabian@redhat.com>
* 04 Sep 2018 Released 2.1.1 version
* Update translations from zanata (es updated, 100% complete now)

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Jul 2018 Released 2.1.0 version
* emoji-picker: Show a concise description of a selected emoji in the header bar
* Update the setup UI when settings are changed outside of the setup UI
* Migrate IBusConfig to GSettings
* Read emoji data files always in UTF-8

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Jun 2018 Released 2.0.2 version
* Better Tab handling, use Tab to switch to the next candidate, not to commit

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Jun 2018 Released 2.0.1 version
* Update translations from zanata (ja updated)
* Update emoji annotations from CLDR
* Fix some bugs in the usage of “prefix” for prefixes other than “/usr” (For FreeBSD)
* Make itb_util.get_ime_help() work on FreeBSD
* Update UnicodeData.txt to Unicode 11.0.0
* Remove useless 't-nil vi-base': 'vi-base.mim', from M17N_INPUT_METHODS
* Remove extra space in entry for sa-IAST input method to make it work
* Show in the setup  tool in the input listbox whether minput_open_im() succeeded.
* Use the rocket icon emoji_u1f680.svg from the “Noto Color Emoji” font

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 May 2018 Released 2.0.0 version
* Update translations because of the merge of the engines (de, pl, uk updated)
* Update emoji annotations from CLDR
* Do not hardcode icon names in desktop files (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/17)
* Change the default for “Unicode symbols and emoji predictions” to “False”
* Merge all typing-booster engines into one
* Change the UI of the setup tool to make it possible to select multiple input methods and dictionaries
* Move the buttons to learn from a file and to delete learned data to the options tab
* Use the same “About” dialog in the setup tool as in emoji-picker

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 May 2018 Released 1.5.38 version
* Refresh french translation (thanks to Thierry Thomas)
* Mark comments in the emoji-picker about dialog as translatable

* 14 May 2018 Released 1.5.37 version
* Update translations from Zanata (pl and uk updated)
* Make “Add direct input” option work correctly when “Remember last preedit input method” option is off
* Fix test case for Korean
* Rewrite setup UI completely in Python, without using Glade
* Fix format string in debug message when a dictionary .aff file has no encoding (Resolves: rhbz#1575659)
* Return False in read_training_data_from_file() if file cannot be opened

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Apr 2018 Released 1.5.36 version
* Make the default for self.show_status_info_in_auxiliary_text False (Resolves: rhbz#1564354)
* Adapt hunspell_suggest.py to work with pyhunspell 0.5.4

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Mar 2018 Released 1.5.35 version
* Update translations from zanata (es, pl and uk updated)
* Update UnicodeData.txt to UnicodeData-11.0.0d13.txt
* Read also the emoji names from the emoji-test.txt file
* Update Unicode emoji data to a prerelease of Unicode Emoji Data 11.0
* Fix PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated.
* Add “Twemoji” as a good colour emoji font to the emoji-picker font list
* Don’t show the languages en_001 and  es_419 in the browsing treeview
* Use romaji=True by default in EmojiMatcher
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 04 Oct 2017 Released 1.5.34 version
* Update translations from zanata (cs new, de updated)
* Add some tooltips
* Add an option whether to use pango font fallback to emoji-picker
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Sep 2017 Released 1.5.33 version
* Update translations from zanata (es new)
* Install appstream metadata to /usr/share/metainfo/
* Update UnicodeData.txt to Unicode 10.0.0
* Update emoji annotations from CLDR
* Skip the emoji which already have skin tone modifiers in itb_emoji.emoji_by_label()
* Never load characters of Unicode categories “Cc”, “Co”, and “Cs” into the emoji dictionary
* Update emoji-data.txt to 5.0

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Apr 2017 Released 1.5.32 version
* Fix error when starting emoji-picker when the “recently-used” does not yet exist
* Update emojione.json to version 3.0
* Add the data from CLDR common/annotationsDerived
* Load also the CLDR annotations from “annotationsDerived”

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Apr 2017 Released 1.5.31 version
* Rename option --use_vs16 to --non_fully_qualified (effectivly reversing the default)
* Make description labels in info popover selectable to be able to copy and paste their contents
* Sort similar emoji with the same number of matching labels by cldr_order distance
* Map cldr subgroup 'person-sport' to emojione category 'activity'
* Make the categorie listings and the search work right when using --use_vs16
* Always store only non-fully-qualified emoji or emoji-sequences in the internal dictionary
* Update emoji annotations from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Mar 2017 Released 1.5.30 version
* Update translations from zanata (de, pl, uk updated)
* Use string order as a fallback to cldr_order in category listings
* The rainbow flag should be a zwj sequence
* Also display the Unicode version in the emoji info popover
* When looking up emoji or other characters via Unicode codepoint, ignore surrogates and private use characters
* Show the fonts really used to render an emoji in the info popover for the emoji
* Fix typo in translatable string
* itb_emoji.py: Use CLDR order to sort the candidates and the similar emoji if score is the same

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Mar 2017 Released 1.5.29 version
* Update translations from zanata (de, pl updated)
* Add a “--version” command line option to emoji-picker
* itb_emoji.py: Also read emoji-test.txt (from unicode.org)
* emoji-picker: Set default font to first available in ['Noto Color Emoji', 'Emoji One', 'Symbola']
* Small parsing improvement of emoji-sequences.txt
* Add support to either use U+FE0F VARIATION SELECTOR-16 in emoji sequences or not
* emoji-picker: Show “∅ Search produced empty result.” when nothing matches in a search

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Mar 2017 Released 1.5.28 version
* Allow query by code point even if Python’s unicodedata.name() does not know the character
* Also read names from emoji-sequences.txt and emoji-zwj-sequences.txt
* itb_emoji.py: Also read emoji-sequences.txt (from unicode.org)
* Fix positioning of info popover (fix a typo in an “if” statement)
* Show emoji properties from unicode.org when debugging is on
* itb_emoji.py: Also read emoji-zwj-sequences.txt (from unicode.org)
* Also use the emoji properties from unicode.org to decide whether to offer a lookup on emojipedia
* Use property “Emoji_Modifier_Base” from emoji-data.txt to check whether an emoji supports skin tones
* itb_emoji.py: Also read emoji-data.txt (from unicode.org)
* Tentative skin tone support for families
* Improve skin tone support: make it work for professions (roles) as well
* Make skin tone popover scrollable and limit its maximum size

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Mar 2017 Released 1.5.27 version
* Update translations from zanata (pl, uk updated)
* emoji-picker: make skin tone selection work for gendered emoji

* Author: Mike FABIAN <mfabian@redhat.com>
* 16 Mar 2017 Released 1.5.26 version
* Update translations from zanata (de updated)
* Fix display of warning message when a dictionary is not installed.
* Emulate xdg.BaseDirectory.save_data_path() on systems which lack pyxdg
* Show the skin tone popover also on a long press gesture
* Fix pyhunspell support Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/5#issuecomment-286251818

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Mar 2017 Released 1.5.25 version
* Update translations from zanata (de, pl, uk updated, zh_CN new)
* Show the categories as well on right mouse click in emoji-picker
* Improve information displayed on right mouse click in emoji-picker
* html.unescape() the strings parsed from the cldr annotations
* Fix fontsize change for invisible emoji in browse flowbox
* Add an option whether the arrow keys are allowed to reopen a preëdit
* Add an option to work around the broken forward_key_event() in the Qt 4/5 im module
* Use xdg.BaseDirectory to add a USER_DATADIR to the search path for data for itb_emoji.py
* emoji_picker.py: Speedup: Fix wrong indentation of block in _fill_flowbox_browse()
* emoji_picker.py: Print some profiling information when debugging is enabled
* Store the clipboard with gtk_clipboard_store() to keep it around after emoji-picker quits
* emoji-picker: Do not override the decoration layout of the header bar
* When an emoji with a different skin tone is selected, replace the original emoji immediately
* Make emoji-picker work on dark themes like Adwaita-dark as well

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Mar 2017 Released 1.5.24 version
* Update translations from zanata (de updated)
* The spin button to change the fontsize should grab focus without selecting
* emoji-picker: Don’t check if ibus is running, ibus does not need to run for emoji-picker
* Load .desktop files for emoji-picker and ibus-setup-typing-booster correctly under Gnome Wayland
* Show the most recently used skin tone by default
* Use Popovers for skin tones
* Don’t use HeaderBar with the default widget titlebar
* Display the detailed information of an emoji as a popover, not as a tooltip
* Use CSS to show light gray borders around flowbox and listbox children

* 27 Feb 2017 Released 1.5.23 version
* Update translations from zanata (de, ja, pl, uk updated)
* emoji_picker.py: Add a menu button to change the font for the emoji
* emoji-picker: Make background colour of the flowbox listing the emoji white
* emoji-picker: Use “Symbola” as the default font
* Remember the font and the fontsize in a config file
* emoji_picker.py: Add a spin button to change the font size of the emoji
* Add option to the emoji-picker to load *all* Unicode characters
* UI redesign of the emoji-picker
* Return an empty list immediately if candidates() is called with an empty search string
* Make the fontsize for the names of the emoji in the search results smaller
* Make the search in emoji-picker a bit more responsive by using GLib.idle_add()
* Save the recently used emoji immediately, not only when the program quits
* Set default font size of emoji-picker to 24 instead of 16
* Set the emoji font only for the emoji, not for its name in the search results
* Set WM_CLASS of emoji-picker and ibus-setup-typing-booster correctly
* Add “Icon” and “Categories” to emoji-picker.desktop

* Author: Mike FABIAN <mfabian@redhat.com>
* 21 Feb 2017 Released 1.5.22 version
* Update translations from zanata (de, fr, pl, uk updated)
* Add an emoji-picker
* Update of en.xml from CLDR’s emoji annotations
* Fix skipping of the Korean test case when no Korean dictionary can be found
* Fix invalid xml in typing-booster.appdata.xml

* Author: Mike FABIAN <mfabian@redhat.com>
* 07 Feb 2017 Released 1.5.21 version
* Handle Return and Enter correctly when the cursor is not at the end of the preëdit (Resolves: rhbz#1418313)
* Values of spin buttons should not be translatable
* Make the categories from emojione translatable
* Make emoji matching accent insensitive
* If available use pykakasi to convert Japanese emoji category names to hiragana
* Add some Japanese translations as a test case for pykakasi
* If available use the “pinyin” Python module to add pinyin to the Chinese names and keywords
* Don’t fallback to “zh” from “zh_TW”, “zh_HK”, “zh_MO” and “zh_Hant”
* Don’t sort the labels when listing similar emoji
* Don’t change Unicode categories to lowercase when loading, use the original case
* Also treat categories 'Zl' and 'Zp' as invisible and add Unicode code point
* When searching for similar emoji, the original emoji should be most similar to itself
* Fix duplicate listing of labels when looking up similar emoji
* Make it optionally possible to match emoji in Japanese using romaji
* itb_emoji.py: Add the code point to the name of invisible characters also when looking up similar characters
* Better matching of the Unicode categories
* Small performance optimization in EmojiMatcher.similar()
* Remove any U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR characters from the lookup table
* Nicer display of the matching labels when looking up similar emoji
* Don’t strip mathematical symbols (category 'Sm') from tokens
* Update of en.xml from CLDR’s emoji annotations
* Update translations from zanata (de, pl updated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Jan 2017 Released 1.5.20 version
* Calculate the maximum word length for each dictionary individually
* Use .startswith instead of regexp matching when matching in hunspell dictionaries (speed optimization)
* Improve accent insensitive matching (“filosofičtějš” should also match “filosofičtější”)
* Some updates for the emoji annotations in en.xml from CLDR

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Jan 2017 Released 1.5.19 version
* Improve setup layout (thanks to Trinh Anh Ngoc <atw1990@gmail.com>)
* Add some more directories to search for dictionaries (for FreeBSD)
* Wrong variable “page_size” was used in set_lookup_table_orientation()
* Do not try to reopen the preëdit when any modifier except CapsLock is on (Resolves: rhbz#1414642)

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Jan 2017 Released 1.5.18 version
* Fix typo in the “Unbreak sqlite on Python 3.6” patch
* Fix the fallback to use pyhunspell-python3 when python3-enchant is not available
* Remove useless ibus-typing-booster.pc

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Jan 2017 Released 1.5.17 version
* Update py-compile to current upstream version
* Also use ＿ U+FF3F FULLWIDTH LOW LINE as a separator for emoji keywords
* Unbreak sqlite on Python 3.6 (thanks to Jan Alexander Steffens)
* Return immediately if _update_candidates() is called with empty input (Resolves: rhbz#1413082)

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Jan 2017 Released 1.5.16 version
* Skip Korean test case also on Arch
* Remove everything following a tab (including the tab) from hunspell dictionary lines (Resolves: rhbz#1411659)
* Delete a candidate correctly from the user database even if it starts with a prefix to be stripped from tokens (Resolves: rhbz#1411676)
* Trigger emoji lookup when the input starts or ends with '_' or ' '
* Better handling of BackSpace and Delete when reaching the ends of the preëdit (Resolves: rhbz#1411688)
* Search for hunspell dictionaries in a list of directories (Resolves: https://github.com/mike-fabian/ibus-typing-booster/issues/6)

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Dec 2016 Released 1.5.15 version
* Default value for self._show_status_info_in_auxiliary_text should be True
* Don’t use keyword arguments when instantiating IBus.LookupTable()
* Add an option to choose the orientation of the lookup table
* Update translations from zanata (de, pl, and uk updated)
* Update emojione.json

* Author: Mike FABIAN <mfabian@redhat.com>
* 25 Nov 2016 Released 1.5.14 version
* Reopen preëdit not only on Backspace but also on Delete and arrow keys
* Fix "delete whitespace when committing punctuation" problem in firefox (Resolves rhbz#1399192)
* Add pt_BR translations from zanata. Update uk, pl, and de translations from zanata.
* Add an option to show/hide the status information in the auxiliary text
* Use ballot box characters in front of the mode indicators in the auxiliary text

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 Nov 2016 Released 1.5.13 version
* Update French translations from zanata

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Nov 2016 Released 1.5.12 version
* Display existing shortcuts and make it possible to delete them
* Update translations from zanata (de, pl, uk)

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Nov 2016 Released 1.5.11 version
* Add feature to define custom shortcuts
* Merge editor and tabengine classes

* Author: Mike FABIAN <mfabian@redhat.com>
* 09 Nov 2016 Released 1.5.10 version
* Make accent insensitive matching also work in the user database
* Add test cases for accent insensitive matching
* Add 'No' (Number, Other) to VALID_CATEGORIES to be able to match ¹ U+00B9 SUPERSCRIPT ONE

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Oct 2016 Released 1.5.9 version
* Make it possible to use a database in different locations than the default
* Clear candidate list as well when clearing the lookup table
* Add missing CLDR xml files to tar ball
* Add unit tests

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Oct 2016 Released 1.5.8 version
* Pull translations from Zanata (uk and fr updated)
* Match many more Unicode characters in the emoji matcher
* Make it possible to match Unicode characters by typing the hexadecimal code point
* If one tries to set a non-existing input method, don’t crash, only print an error in the debug log
* Add key and mouse bindings for “Off the record” mode to README

* Author: Mike FABIAN <mfabian@redhat.com>
* 19 Sep 2016 Released 1.5.7 version
* Pull translations from Zanata (de, pl, uk updated)
* Make the list of characters to auto commit configurable (Empty list by default)
* Fix duplicates in the candidate list caused by overwriting input_phrase with NFC version
* Don’t show the special candidates for missing dictionaries for Japanese and Chinese
* Update emoji annotations from CLDR
* Implement do_cursor_up() and do_cursor_down() to make scrolling the lookup table with the mouse wheel work (Needs also a patch in ibus)
* Add an “Off the record mode” (also gets a property menu)
* Tooltips don’t seem to work on sub-properties, remove the tooltips there
* Add a property menu for the emoji prediction mode
* Make triggering a commit with “Left” or “Control+Left” work correctly in “Tab enable mode ” again
* Down, Up, Page_Down, and Page_Up should trigger a commit and be passed to the application if possible
* If “☑ Enable suggestions by Tab key” is on make it possible to close the lookup table with Escape but keep the preëdit
* If “☑ Enable suggestions by Tab key” is on, don’t autocommit digits
* Make autocommitting much more rare (for characters which are not the first typed character)
* Don’t autocommit the first typed character unless absolutely necessary
* Even when “☑ Enable suggestions by Tab key” is used, don’t complete empty strings

* Author: Mike FABIAN <mfabian@redhat.com>
* 12 Sep 2016 Released 1.5.6 version
* Reduce the number of characters which cause immediate commits a lot (Make typing “Je t'aime” easier)
* Load CLDR data for *all* languages in the _expand_languages() list
* Currency symbols should neither be stripped from tokens nor trigger an immediate commit
* Fix bidi reordering problem in the candidate list for right-to-left candidates followed by comments
* Update emoji annotations from CLDR (de_CH and sr_Latn new, the others updated)
* Remove category 'Pc' from categories to commit immediately (allow _ to be typed into the preëdit always)
* Remove button to install pyhunspell from the setup tool (python3-enchant is preferred and even required by the Fedora rpm)
* Include more currency symbols and fullwidth symbols
* Add category from UnicodeData.txt to emoji dictionary (For better results when looking up related characters)
* Add 'Sc', # Symbol, Currency to VALID_CATEGORIES (to make the currency symbols work)
* Add list of valid characters (to include special characters manually)
* Add mouse binding Alt+Mouse3 anywhere in the candidate list to start the setup tool

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Sep 2016 Released 1.5.5 version
* Pull translations form Zanata (de, pl, and uk updated because of the new “About” tab)
* If “☑ Enable suggestions by Tab key” option is on, any preëdit change should hide the lookup table
* Make showing of similar emoji work even if emoji preditions are off
* Display whether emoji predictions are turned on in the auxiliary string
* Add key and mouse bindings to toggle the emoji predictions (AltGr+F6 and Control+Mouse3 anywhere in the candidate list)
* Add AltGr+F10 key binding to open the setup tool
* Allow any amount of white space and '_' characters to seperate words in an emoji query string
* Add an “About” tab to the setup tool and put links to home page and online documentation there.
* Update README with latest key binding and mouse binding documentation

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Sep 2016 Released 1.5.4 version
* Accent insensitive matching
* Update pl.po from zanata
* Add cache for the suggestions from the hunspell dictionaries
* Make Control+MouseButton1 remove the clicked candidate from the user database (was MouseButton2)
* Change key binding for looking up related candidates from Alt+F12 to AltGr+F12
* Change label of the emoji option to “☑ Unicode symbols and emoji predictions”

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 Sep 2016 Released 1.5.3 version
* Pull translations from Zanata: updates for pl and uk.
* Fix behaviour of the option “Minimum number of chars for completion”

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Sep 2016 Released 1.5.2 version
* get_supported_imes(self) and def get_current_imes(self) should return copies not the lists directly (Resolves: rhbz#1372660)
* Update emojione.json, version from 2016-07-16
* Change tooltip of the “Enable suggestions by Tab key” option
* Pull translations from Zanata: Fixes for fr and pl. New: uk
* Changes in itb_emoji.py necessary because of the update of the CLDR emoji annotations
* Update emoji annotations from CLDR (be, bs, cy, eu, gl, zu are new, the others updated)
* Shortcut keys which look up related candidates should enable the candidate list
* Show ⏳ HOURGLASS WITH FLOWING SAND in the auxiliary text when the lookup table is being updated
* Fix bug when committing the preëdit with Space when no candidates are available
* Improve the behaviour of the “Tab” key
* Improve the behaviour of the “Escape” key.
* Make mouse clicks in the candidate list behave differently depending on the mouse button
* Add hu-rovas-post.mim to hu_HU.conf

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 Aug 2016 Released 1.5.1 version
* If the query string in EmojiMatcher.candidates() is an emoji itself, match similar ones
* Data files should not be stored gzipped in the repository
* Change displayed input method name from “Hunspell” to “Typing Booster”
* Use Zanata to get more translations
* French translations added (100% translated)
* Polish translations added (100% translated)

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 Aug 2016 Released 1.5.0 version
* If the lookup table shows related words, “Escape” shows the original lookup table
* Use itb_nltk.py to find related words (synonyms, hypernyms, and hyponyms)
* Add a module to find related words using NLTK
* Add a feature to find similar emoji
* Add predictions for emoji (optional, on by default)
* Add a module to match emoji using Unicode, CLDR, and emojione data
* Make typing-booster.appdata.xml translatable
* When ignoring key release events, “False” should be returned, not “True” (Resolves: rhbz#1365497)
* Make typing smoother by updating the candidates using GLib.idle_add()
* Make it possible to enter a space into the preëdit by typing “G- ” (AltGr+Space)

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Jul 2016 Released 1.4.8 version
* Make m17n_translit handle “NoIme” as a dummy input method
* Simplify some code in hunspell_table.py which did treat “NoIme” as a special case
* Commit preëdit if modifier keys without transliteration are typed and pass the key through (Resolves: rhbz#1351748)

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Jul 2016 Released 1.4.7 version
* Check if the commit key would change the transliteration if used as regular input (Resolves: rhbz#1353672)

* Author: Mike FABIAN <mfabian@redhat.com>
* 01 Jul 2016 Released 1.4.6 version
* Pass modifier key combinations through if there is no possible transliteration for that key combination (Resolves: rhbz#1351748)

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 May 2016 Released 1.4.5 version
* Do not colourize the preëdit dark blue, that is unreadable on dark backgrounds (Resolves: rhbz#1335201)
* Set the size of the libm17n mconv conversion buffer correctly (Resolves: rhbz#1335021)

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 May 2016 Released 1.4.4 version
* self._current_imes needs to be updated before self.init_transliterators() (Resolves: rhbz#1334579)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Apr 2016 Released 1.4.3 version
* Fix AttributeError: 'editor' object has no attribute 'trans (Resolves: rhbz#1331338)

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Apr 2016 Released 1.4.2 version
* Fix mistyped variable name (Resolves: rhbz#1330461)
* Add option to remember the preëdit input method used last
* Update German translations
* The combobox in the setup tool should show the first supported ime from dconf

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 Apr 2016 Released 1.4.1 version
* Avoid unnessary initialization of transliterators when the set of input methods has not changed
* Add  property menu to choose the current preedit input method
* Display preëdit input method in aux_string also when number of candidates is not shown
* Add some tooltips to the setup tool
* Update German translations

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Apr 2016 Released 1.4.0 version
* Call IBus.Bus() in __main__, not in __init__ of class SetupUI (Resolves: rhbz#1325338)
* Multilingual support, more than one language in an engine
* Simple option in the setup tool to enable bilingual support (one language + Enlish)
* The default of the option “Add direct input” in the setup tool should be false (bug found by Pravin Satpute)
* Changing the main input method with the setup tool should not remove the direct input (bug found by Pravin Satpute)
* Add 0 as a digit to commit directly when using digits as select keys
* Clear dictionaries in Hunspell class before reloading

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Feb 2016 Released 1.3.1 version
* Use new transliterator  from m17n_translit.py also when switching input methods in the setup tool (Resolves: rhbz#1304677)

* Author: Mike FABIAN <mfabian@redhat.com>
* 15 Dez 2015 Released 1.3.0 version
* Use libm17n directly instead of going through libtranslit
* Forward key events triggering a commit using “forward_key_event()” instead of relying on “return False” (Resolves: rhbz#1291238)
* Add code to use F1-F9 as well as keys to select candidates for commit or remove
* Don’t commit invisible candidates with select keys with numbers greater than the length of a page of the candidate list
* Control-arrow-left and Control-arrow-right now commit when the edges of the preëdit string are reached
* Alt-<number> does not delete a prediction anymore, now only Control-<number> does this
* Add an option to disable the use of the digits 1-9 as selection keys (useful if one wants easier number input, selection then works only with the F1-F9 keys)
* Support input methods using AltGr (e.g. mr-inscript2) and Alt keys (e.g. ta-lk-renganathan) (Resolves: rhbz#1051405, rhbz#772665)

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Nov 2015 Released 1.2.15 version
* Use open() instead of codecs.open() to make the input method help button work again (Resolves: rhbz#1276992)
* Fix some pylint warnings

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Oct 2015 Released 1.2.14 version
* Add Catalan translations, thanks to Robert Antoni Buj Gelonch <rbuj@fedoraproject.org> (Resolves: rhbz#1268153)
* Add Catalan engine
* Add optional debug code
* Update German translations
* Fix some pylint warnings

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Sep 2015 Released 1.2.13 version
* Add a property to start the setup tool (Resolves: rhbz#1260088)

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Aug 2015 Released 1.2.12 version
* Use open() instead of codecs.open() to fix dictionary loading problem on F23 (Resolves: rhbz#1257465)

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Sep 2014 Released 1.2.11 version
* Require Python >= 3.3
* Always write xml output in UTF-8 encoding, not in the encoding of the current locale
* Change class “KeyEvent” to store the keycode as well
* Commit when hitting the borders of the preëdit with the arrow keys (Resolves: rhbz#1140502)

* Author: Mike FABIAN <mfabian@redhat.com>
* 27 Feb 2014 Released 1.2.10 version
* make profiling work again and make it easier to use
* tiny performance improvement
* some code simplification
* port from Python2 to Python3
* minor improvements in user_transliteration.py
* add python-enchant support

* Author: Mike FABIAN <mfabian@redhat.com>
* 17 Jan 2014 Released 1.2.9 version
* Fix behaviour of arrow right keys in preëdit (Resolves: rhbz#1049324)
* Add timestamps to entries in the user database
* Add timestamp support to user_transliteration.py
* Use a single user database for all engines
* Add *-inscript2 transliteration options to the Indian languages where these were still missing (Resolves: rhbz#1051405)
* Make it possible to use multiple hunspell dictionaries at the same time
* Make it possible to specify a list of dictionaries in the config files
* Make it possible to get a word back into preëdit by using backspace (Resolves: rhbz#1032442)

* Author: Anish Patil <apatil@redhat.com>
* 20 Dec 2013 Released 1.2.8 version
* change of IME name for oriya language(#1045299)
* Fixed issue multiple instance of set up menu(#1045294)

* Author: Mike FABIAN <mfabian@redhat.com>
* 20 Nov 2013 Released 1.2.7 version
* Don’t strip characters with Unicode category “Cf” (Other, format) from tokens (Resolves: rhbz#1032504)

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Nov 2013 Released 1.2.6 version
* Change wording of the option to show the total number of candidates (Resolves: rhbz#1029748)
* Commit candidate clicked on with the mouse (Resolves: rhbz#1029822)
* Use direct input also for IBus.InputPurpose.PIN
* remove unused und superfluous arguments of constructor of Hunspell class
* Add some transliteration options to .conf files which had only native keyboard enabled

* Author: Mike FABIAN <mfabian@redhat.com>
* 11 Oct 2013 Released 1.2.5 version
* Add feature to display input method description to setup tool
* Remove the options “m17n_mim_name” and “other_ime” from the .conf files
* remove tab_enable option from config files

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Sep 2013 Released 1.2.4 version
* Use normalization form NFD internally for Korean as well
* Add check for input purpose for gnome-shell password dialog (Resolves: rhbz#1013008 - ibus-typing-booster shows entered text in password fields)

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Aug 2013 Released 1.2.3 version
* Fix exception handling when trying to install a rpm package (Resolves: rhbz#986178)

* Author: Mike FABIAN <mfabian@redhat.com>
* 15 Jul 2013 Released 1.2.2 version
* Commit immediately when certain punctuation characters are typed and transliteration is not used (Resolves: rhbz#981179)
* Add an option to try completion only when a minimum number of characters has been typed

* Author: Mike FABIAN <mfabian@redhat.com>
* 03 Jul 2013 Released 1.2.1 version
* Pop up a message box when a file has been read to train the database, indicating success or failure (Resolves: rhbz#979933)
* Ignore most punctuation characters and mathematical symbols when tokenizing (Resolves: rhbz#979939)

* Author: Mike FABIAN <mfabian@redhat.com>
* 28 Jun 2013 Released 1.2.0 version
* Make TAB when used to enable/disable the lookup table work as a toogle
* Create a VIEW for “LIKE input_phrase%” in select_words() and use that in the following SELECT statements (Makes candidate calculation more than 10 times faster)

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Jun 2013 Released 1.1.0 version
* Add a commit=True parameter to check_phrase_and_update_frequency()
* Fix that the page_size is shown as 0 in the setup tool if it has not been set before
* Do not use AUTOINCREMENT
* Make it possible to exit the setup tool by typing Control-C in the terminal
* Add feature to read a text file for training the user database
* Update German translations and .pot file
* Fix error when the hunspell dictionary for an engine is missing

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Jun 2013 Released 1.0.3 version
* Don’t output page_size in “/usr/libexec/ibus-engine-typing-booster --xml” (Resolves: rhbz#975449 - ibus-daemon prints warnings because “/usr/libexec/ibus-engine-typing-booster --xml” prints the invalid element “page_size”)
* Use ~/.local/share/ibus-typing-booster/ to store user data and log files (Resolves: rhbz#949035 - don't use a hidden directory under .local/share)

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Jun 2013 Released 1.0.2 version
* Push context *after* writing the trigram to the database

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Jun 2013 Released 1.0.1 version
* Fix problem when IBUS_TYPING_BOOSTER_DEBUG_LEVEL is not set

* Author: Mike FABIAN <mfabian@redhat.com>
* 13 Jun 2013 Released 1.0.0 version
* Remove mudb and use “Write-Ahead Logging”
* Introduce an environment variable IBUS_TYPING_BOOSTER_DEBUG_LEVEL for debugging
* Speed up converting an old database to the current format
* Make prediction more intelligent by using context of up to 2 previous words
* Automatically remove whitespace between the last word and a punctuation character ending a sentence

* Author: Mike FABIAN <mfabian@redhat.com>
* 02 Jun 2013 Released 0.0.32 version
* Fix behaviour of Control+Number
* When committing by typing TAB, update frequency data in user database
* When committing by tying RETURN or ENTER, update frequency data in user database
* Do not try to match very long words in the hunspell dictionaries
* Rewrite the code for moving and editing within the preëdit (Resolves: rhbz#969847 https://bugzilla.redhat.com/show_bug.cgi?id=969847)
* Fix encoding error when changing values with the setup tool
* Add ko_KR.conf and ko_KR.svg
* Use normalization forms NFD or NFKD internally and NFC externally
* Remove old way of using libtranslit via ctypes
* Get rid of “freq” column in databases
* Remove too simpleminded auto-capitalization

* Author: Mike FABIAN <mfabian@redhat.com>
* 29 May 2013 Released 0.0.31 version
* Remove lots of unused and/or useless code
* Simplify some code
* Fix the problem that after “page down” the first “arrow down” does not move down in the lookup table
* Never use “-” or “=” as page up and page down keys
* Print more useful debug output when an exception happens
* Replace unencodable characters when asking pyhunspell for suggestions
* Get dictionary encoding from .aff file
* Get rid of the the variable “valid_input_chars” (Resolves: rhbz#968209 https://bugzilla.redhat.com/show_bug.cgi?id=968209)
* Remove option “valid_input_chars” from .conf files and template.txt
* Replace keysym2unichr(key.code) with IBus.keyval_to_unicode(key.code)

* Author: Mike FABIAN <mfabian@redhat.com>
* 26 May 2013 Released 0.0.30 version
* simplify database structure and code
* The Swedish hunspell dictionary is in UTF-8, not ISO-8859-1
* SQL LIKE should behave case sensitively
* Do not throw away the input phrase in hunspell_suggest.suggest()
* Merge candidates which have the same resulting phrase in select_words()
* Remove phrases always from the user database when typing Alt+Number
* Sync memory user database “mudb” to disk user database “user_db” on focus out
* Delete all records from mudb after syncing to user_db
* Do not prevent phrases of length < 4 to be added to the frequency database
* Do not use lang_chars for matching in the hunspell dictionaries, return immediately if input contains a “/” (Resolves: #966947 https://bugzilla.redhat.com/show_bug.cgi?id=966947)
* Remove lang_chars variable
* Use re.escape() to escape the string typed by the user correctly for use in a regular expression
* When removing a phrase with Alt+Number, remove it independent of the input_phrase

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 May 2013 Released 0.0.29 version
* Fix setup tool to use the new class for parsing the config files (Resolves: #962609 https://bugzilla.redhat.com/show_bug.cgi?id=962609)
* Improve code in select_words() and check_phrase_internal()
* Avoid adding duplicates to the database by checking first whether phrase is already there in add_phrase()

* Author: Mike FABIAN <mfabian@redhat.com>
* 10 May 2013 Released 0.0.28 version
* Speed up generating the xml list of the engines (Resolves: #961923 - python /usr/share/ibus-typing-booster/engine/main.py --xml is extremely slow when many hunspell dictionaries are installed)
* Put the input phrase into a single column in the databases instead of using one column for each character
* Get rid of tab_dict

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 May 2013 Released 0.0.27 version
* simplify code in select_words()
* remove some unused functions
* fix some typos in comments
* fix spelling error in language name for Assamese (Resolves: #959860 - [as_IN] Wrong keymap name Assami )
* fix spelling error in language name for Gujarati (Resolves: #958770 - [ibus-typing-Booster][gu-IN]- Typo error)
* remove ✓ from symbol in the .conf files (Resolves: #875285 - IME names too long in gnome-shell Input Sources indicator)

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Feb 2013 Released 0.0.26 version
* Fix mouse clickable arrow icons in lookup table
* Use different .svg icons for all engines
* Increase number of suggestions from hunspell
* Use the auxiliary text to display the number of candidates
* Make the display of the number of candidates in the auxiliary text optional
* Display of the number of candidates needs to be updated on page-up and page-down

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Dec 2012 Released 0.0.25 version
* Port to use pygobject3
* Remove some code inherited from ibus-table which makes no sense for ibus-typing-booster

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Dec 2012 Released 0.0.24 version
* Use pyhunspell to add spell-checking suggestions (Resolves #884808)
* Use underline for preedit
* Colourize spellchecking suggestions and system phrases already used

* Author: Mike FABIAN <mfabian@redhat.com>
* 23 Nov 2012 Released 0.0.23 version
* Make the engine reload the dictionary when the dictionary is installed via the setup tool (Resolves: #879262)
* get rid of unused parameter “m17n” in “class Hunspell”
* Use “import curses.ascii” instead of “from ibus import ascii”

* Author: Mike FABIAN <mfabian@redhat.com>
* 14 Nov 2012 Released 0.0.22 version
* Add combobox to setup GUI to select input method
* Make the engine use the input method from the dconf setting (Resolves: #876666)

* Author: Mike FABIAN <mfabian@redhat.com>
* 12 Nov 2012 Released 0.0.21 version
* Shorten symbol displayed in gnome panel (Resolves: #875285)
* Add space before ( in long display name

* Author: Mike FABIAN <mfabian@redhat.com>
* 08 Nov 2012 Released 0.0.20 version
* Add the names of the dictionary packages to the .conf files
* Pass the name of the config file to the setup tool instead the name of the engine
* Improve setup GUI to make correct dictionary installable (Resolves #874421)
* Add page size spin button to setup tool
* Connect signals in __init__ of SetupUI after setting the initial values
* Make the setup tool find the right config file in gnome-shell on Fedora 18
* Update German translation

* Author: Mike FABIAN <mfabian@redhat.com>
* 06 Nov 2012 Released 0.0.19 version
* fix rpmlint warning “incorrect-fsf-address”

* Author: Mike FABIAN <mfabian@redhat.com>
* 31 Oct 2012 Released 0.0.18 version
* Add “import sys” back to keysym2ucs.py

* Author: Mike FABIAN <mfabian@redhat.com>
* 31 Oct 2012 Released 0.0.17 version
* Save setup option “Enable suggestions by Tab Key” correctly in dconf (Resolves: #871056)
* Make setup dialog translatable and add German translations

* Author: Mike FABIAN <mfabian@redhat.com>
* 24 Oct 2012 Released 0.0.16 version
* Make enabling the lookup table with the TAB key work correctly (Resolves: #869687)
* Simplify code in add_input()
* Make German input typed in NFD work

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Oct 2012 Released 0.0.15 version
* Make sure the lookup table is hidden if there are no candidates to suggest (Resolves: #869050)

* Author: Mike FABIAN <mfabian@redhat.com>
* 22 Oct 2012 Released 0.0.14 version
* Show an obvious warning when the hunspell dictionary needed is not found
* Show exact matches in the .dic files as suggestions as well
* Do not forget the input method used last when activating a previously used engine
* Add ru_RU.conf to Makefile.am and Makefile.in

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Oct 2012 Released 0.0.13 version
* add de_DE.conf to Makefile.am and Makefile.in it was missing from the release tarball

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Oct 2012 Released 0.0.12 version
* add missing file keysym2ucs.py to release tarball

* Author: Mike FABIAN <mfabian@redhat.com>
* 18 Oct 2012 Released 0.0.11 version
* Add .conf files for many languages and improve some existing .conf files
* Read other_ime option case insensitively
* Split only at the first = in a line in a .conf file
* Fix the problem that the user defined phrases are lost when switching engines
* use “layout = default” instead of “layout = us” in all .conf files
* Make sure the input of transliterate() is UTF-8 encoded
* Add a keysym2unichr() function and use it to support languages which have non Latin1 input
* Let first letter start with index 1 in autogenerated tabdict
* Use autogenerated tabdict always, not only in m17n mode
* Use special value 'NoIme' to indicate that no input method should be used
* Use contents of lang_chars for the regexp to match words in the dictionaries
* In process_key_event, do not return False when a non-ASCII character has been typed
* Read option valid_input_chars as UTF-8
* Use the encoding option from the .conf file always, not only in m17n mode
* Whether m17n mode is used should depend on the .conf file, not the language
* Use correct encoding to decode the dictionary file
* Some other minor fixes

* Author: Anish Patil <apatil@redhat.com>
* 27 Sep 2012 Released 0.0.10 version
* Added .desktop file to support g-c-c
* Added en_GB.conf file
* Fixed minor issues

* Author: Anish Patil <apatil@redhat.com>
* 13 Sep 2012 Released 0.0.9 version
* Added feature suggestions can be turned on/off dynamically
* Fixed issues #852994,#852993
	
* Author: Anish Patil <apatil@redhat.com>
* 14 Aug 2012 Released 0.0.8 version
* Fixed minor issues,new icon 

* Author: Anish Patil <apatil@redhat.com>
* 12 Jul 2012 Released 0.0.7 version


