* 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


