[next]
======

CHANGES SINCE 0.99.0
* New plugin settings:
  - auto_repeat_behaviour: A tuple of integers, comma-separated, controlling
    delay and interval of pressed-down keys.

0.99.0
======

CHANGES SINCE 0.94.0
* Replaced the QGraphicsView renderer with a new renderer based on QtQuick2
  and QML, which is more appropriate and better supported for Qt5.
  - Word candidates are not supported by the QML renderer yet
  - (Sound) feedback does not work yet
* Adapt to maliit-framework changes
  - Switch to Qt 5
  - Replace AbstractSurfaces with QQuickView
* Due to QTBUG-18092, Maliit Keyboard will produce warnings when compiling
  against Qt4. A recent compiler (gcc-4.7) or Qt5 is required.
* Documented styling profiles in maliit-keyboard/STYLING.
* make check also verifies language layout files against DTD
* Improved documentation for AbstractFeedback, WordEngine, AbstractWordEngine,
  KeyAreaConverter and AbstractTextEditor.
* New LanguageFeatures class to deal with language-dependent features such as
  auto-caps.
* New plugin settings:
  - auto_caps_enabled: Looks for punctuation marks and auto-capitalizes the
    next letter.
  - hide_word_ribbon_in_portrait_mode: This can be used to save screen real 
    estate in portrait mode (but disables word prediction).
  - auto_correct_enabled: Use the primary word candidate instead of what the
    user typed, if the word is not in dictionary. This haappens on pressing
    space or return.
  - word_engine_enabled: This can be used to disable both word prediction and
    error correction. Notice that if Maliit Keyboard is compiled without preedit
    support then this setting has no effect.
  - feedback_enabled: This controls (audio) feedback when pressing keys. The
    current styling profile needs to provide audio files for this setting to take
    effect.
* Preedit activation allows the user to edit previously entered words and get
  full word engine support.
* Allow preedit styling.
* Added a HUNSPELL_DICT_PATH parameter to qmake:
  - Use this if your distro uses a different path for dictionaries (like
    Fedora which keeps them in /usr/share/myspell).
* Users can add words to custom dictionary by long-pressing the space key for
  unknown words. Users need to confirm before the new word is added to the|
  custom dictionary.
* Implemented action key overriding:
  - It is possible to control the label and icon of an action key from
    the application via Maliit attribute extensions.
* New nokia-n9 with Droid fonts style
  - Use qmake MALIIT_DEFAULT_PROFILE=nokia-n9-droid to activate this.
* Allow fonts to be styled:
  - The font name for each layout can be specified.
  - If the font is not available system-wide then it is possible
    to specify a font file.
  - See new nokia-n9-droid style for example use.
* Extended and broke XML language file format:
  - Instead of using the "extended_labels" attribute of <binding>,
    use an <extended> child of <key>. It allows us to specify extended keys
    with actions, with icons or extended keyboards with several rows.
  - Instead of using the "shift" and "alt" attributes of <binding>, use
    a <modifiers> child of <binding>. This clearly shows that the toplevel
    <binding> is a fallback, when shift is pressed, but no <binding>
    for this modifier was specified.
  - Allow specifing of a (custom) icon for each key. for instance:
    <binding icon="square-smiley" label=":-]" />
    This assumes square-smiley.png can be found in the images directory of the
    current styling profile. The label text is sent to the application as
    the preedit/commit string, but not the icon.
  - For a concrete example, please check
    maliit-keyboard/data/languages/debug/showcase.xml
    That is a special layout that is only installed in debug mode, to keep
    regular users safe from it.
  - All language layout files have been updated to the new format. The
    maliit-keyboard/tools/update-lang.pl script can be used to convert old
    language layout files to use the new format.
* Added coverage reports.
  - The build system now compiles the project for coverage in
    coverage-build and places coverage reports in coverage-reports.

    To get coverage reports, generate Makefiles with qmake and then run
    'make coverage' from the project's toplevel directory. Later, after some
    changes in source code, you can enter the coverage-build directory and
    run 'make coverage' to recompile the project, rerun the checks and
    regenerate the reports.

    Note that a recent lcov is needed because the older ones might
    have issues with finding the source files.
* More tests
  - Language and styling directory can be changed for tests.
  - maliit-keyboard/tests/language-layout-loading tests layouts (including
    parsing and modelling), basic styling support and pixel perfectness wrt.
    spacer elements.
  - maliit-keyboard/tests/editor tests word correction and auto capitalization.
  - maliit-keyboard/tests/preedit-string now tests the word engine, preedit
    activation and cursor position.
  - maliit-keyboard/tests/word-candidates/ now tests word ribbon visibility.
  - maliit-keyboard/tests/word-candidates/ tests word-engine, preedit, word
    candidates, auto-correct-on-commit, preedit-enabled.

0.94.0
======

CHANGES SINCE 0.93.1
* Fix build for Qt 5 qmake.
* Fix geometry of fullscreen item after rotation.

0.93.1
======

CHANGES SINCE 0.93.0
* More Nemo Keyboard improvements
  - Remove unused KeyStyle and KeyboardStyle.
  - Make close gesture less sensitive.
  - More robust key detection.
  - Code clean ups
  - Remove executable bit from nemo-keyboard files.
  - Use QtQuick2 (requires compilation against Qt5).

0.93.0
======

CHANGES SINCE 0.92.5
* Added 10 new language layouts
  - Armenian, Bengali, French-Swiss, Gujarati, Hindi, Kannada, Malayalam,
    Tamil, Telugu and Urdu. 
* Implemented key actions to switch between language layouts
  - Use <key action="[left|right]-layout">...</key> to define keys for
    switching to surrounding language layouts (also known as subviews, from the
    framework's perspective).
* Various improvements to Nemo Keyboard plugin.
* Allow to disable either Nemo or Maliit Keybord plugin
  - Use qmake CONFIG+=disable-[nemo|maliit]-keyboard to prevent building and
    installation of either the QML or the C++ reference plugin.

BUG FIXES
* Fixes: MALIIT#195 - Extended key feature does not work with any keys where a
  width is specified in the layout
* Fixes: NEMO#451 - Use a single MouseArea for the whole keyboard

0.92.5
======

CHANGES SINCE 0.92.4
* Make maliit-framework compile against Qt 5 beta release.
* Update OLPC styling profile

0.92.4
======

BUG FIXES
* Fixes: CONFIG+=disable-preedit

0.92.3
======

CHANGES SINCE 0.92.2
* Add configure option to disable preedit:
  - In this mode, all text is committed immediately. Works around
    https://bugzilla.gnome.org/show_bug.cgi?id=680097 and can be used as a
    "fix" for the corresponding MALIIT#173.
  - Use qmake CONFIG+=disable-preedit, which is automatically set if neither
    CONFIG+=enable-hunspell nor CONFIG+=enable-presage is used.

0.92.2
======

CHANGES SINCE 0.92.1
* Implemented spell checking with Hunspell:
  - Requires Hunspell's development files. Use qmake CONFIG+=enable-hunspell
    to enable this feature.
  - Used best together with presage.
* Expose keyboard style as a plugin setting:
  - Add MALIIT_DEFAULT_PROFILE option to specify default keyboard style.
* New Gnome3 style:
  - Use qmake MALIIT_DEFAULT_PROFILE=gnome3 to activate.
* New OLPC XO style:
  - Use qmake MALIIT_DEFAULT_PROFILE=olpc-xo to activate.
* Improved magnifier key styling:
  - Can specify separate background graphics: "background\magnifier-key",
    "background\magnifier-key-borders".
  - Can specify magnifier size:
    "${style}\[landscape|portrait]\magnifier-key-[width|height]".
  - Can move text inside magnifier key:
    "${style}\[landscape|portrait]\magnifier-key-label-offset".
  - Use "${style}\[landscape|portrait]\vertical-offset" to position both,
    magnifier key and extended keys. Also moved the style attribute from
    extended-keys.ini to main.ini.

0.92.1
======

CHANGES SINCE 0.92.0
* Added simple sound feedback
  - Requires QtMobility. Use qmake CONFIG+=enable-qt-mobility to enable sound
    feedback.
* Make style self-contained:
  - Each styling profile has its own directory structure,
    maliit-keyboard/data/styles/README for more.
* Better styling support
  - Magnifier, word candidates and extended keys gained more styling
    attributes. Please check
    maliit-keyboard/data/styles/nokia-n9/[main,extended_keys].ini for details.

BUG FIXES
* Fixes: MALIIT#115 - Can only dismiss extended panel by selecting one of the letters
* Fixes Glass keyExited/keyEntered signals emission
* Fixes: MALIIT#Bug 161 - Pre-edit text is not cleared when closing and re-opening VKB
* Fixes: MALIIT#114 - Extended panel not closed when closing and re-opening VKB

0.92.0
======

CHANGES SINCE 0.91.0
* Adapted to maliit-framework plugins API changes
* Use new surfaces API.
* Added word correction/prediction support
  - Enable correction support using hunspell with CONFIG+=enable-hunspell
  - Enable prediction support using presage with CONFIG+=enable-presage
* Simplified tests by using QTEST_MAIN
* Allow datadirectory for maliit-keyboard to be overriden at runtime

BUG FIXES
* MALIIT#38 - Maliit Keyboard has no word correction/prediction 
* Fix QSKIP for Qt 5
* Add QGraphicsView include
* Fix test dependencies
* Fix commit-string test
* Fixes: Non-regular keys are valid even with empty label
* Fix extended keys not visible when first shown
* Fix extended keys not shown on surface
* Fix potential crash when setting surface factory in MaliitKeyboard::Renderer
* Fix coding style in MaliitKeyboard::Renderer implementation
* Fix variable names in MaliitKeyboard::Renderer implementation
* Fix failing make check in out-of-tree build
* Remove unused orientation variable

0.91.0
======

CHANGES SINCE 0.90.0
* Improved build:
  - Uses qmake "features" instead of pkg-config to find framework
  - Utilities are installed with the same prefix as the framework
    unless overridden at configuration
* Added Estonian language layout.
* Added a "close" action to be used by keys in language layouts:
  - <key><binding action="close" [label="…"]/></key>
  - If tapped by user, this key will close virtual keyboard. Can be used in
    parallel to swipe-to-close gesture.

BUG FIXES
* Fix Windows-specific library prefixes and suffixes
* Fix include order of static libs for tests, maliit-keyboard-viewer and
  maliit-keyboard-plugin
* Fixed padding value handling for right margin.

0.90.0
======

CHANGES SINCE 0.81.3
* Add auto-repeat for backspace (maliit-keyboard only).
* Add rotation support to maliit-keyboard-viewer.
  - This makes it easier to test language layouts in landscape and portrait
    mode, without requiring a running maliit-server.
* Add support for close button in language layouts.
  - Layouts can now use a special key that will close the keyboard when
    pressed, if action="close" is used in the key binding.
* Add Macedonian language layout.

0.81.3
======

CHANGES SINCE 0.81.2
* Many improvements to Maliit Keyboard

BUG FIXES
* Fixes: Tests fail in legacy-mode
* Fixes: Tests fail if framework not installed to system dirs
* Fixes: MALIIT#39 - Maliit Keyboard doesn't allow input of accented characters
* Fixes: MALIIT#56 - libmaliitkeyboard must not use QPixmap

0.81.2
======

CHANGES SINCE 0.81.1
* New Maliit Keyboard
  - Can use all MeeGo Keyboard language layouts.
  - Written in C++, optimized for rendering performance and low latency.
  - Activate via 
    $ gconftool-2 -s --type list --list-type string /maliit/onscreen/enabled \
      "[libmaliit-keyboard-plugin.so,en_gb]"
    $ gconftool-2 -s --type list --list-type string /maliit/onscreen/active \
      "[libmaliit-keyboard-plugin.so,en_gb]"
  - Further language layouts can be enabled by using the language name as defined
    in /usr/share/maliit/plugins/languages/ and adding them to the "enabled"
    string list key.
  - Simple gesture support to close keyboard (swipe down) and to change
    language layouts (swipe left/right).

BUG FIXES
* Fixes: MALIIT#66 - Key Magnifier only works on right-hand side of the keyboard
* Fixes: qmake HELP=1 output is not legible.
* Fixes: MALIIT#54 – Don’t list symview or [phone]number layouts as language layouts.
* Fixes: Build also under Qt5
* Fixes: MALIIT#45 - Maliit Keyboard doesn't have language-specific layouts
* Fixes: MALIIT#36 - Improve Maliit Keyboard performance

0.81.1
======

CHANGES SINCE 0.81.0
* New Nemo Keyboard
  - Comes with adjusted UX for Nemo Mobile project.
  - Pure QML plugin, no C++ wrapper required.
* Plugins can install data and QML modules properly
  - Use MALIIT_PLUGINS_DATA_DIR for maliit-plugins
  - Nemo Keyboard for example installs everything apart from main QML file to
    /usr/share/maliit/plugins/org/nemomobile/

BUG FIXES
* Fixes: MALIIT#35 - The Maliit Keyboard's layout causes grid illusion

0.81.0
======

CHANGES SINCE 0.80.8
* Remove MeeGo Keyboard
  - Official reference plugin is the QML plugin, now named Maliit Keyboard.

0.80.8
======

CHANGES SINCE 0.80.7
* Merge latest Harmattan VKB plugin into Maliit upstream.
* QML plugin got a 2-page symview
* Use swipe gestures to close QML plugin and switch to other plugins.

BUG FIXES
* Fixes: BMC#23461 - [CE] No special character in VKB
* Fixes: Use rpath to dynamically link Ut_WidgetBar to meego-keyboard lib
* Fixes: Key label color in translucent mode
* Fixes: Crash after certain thai letters and space.
* Fixes: Vietnamese tone position in triphtongs with no diacritics
* Fixes: NB#278777 - Error correction not working correctly in Thai (adds unwanted space)
* Fixes: Add forgotten license header to Korean engine handler
* Fixes: NB#278777 - Error correction not working correctly in Thai (adds unwanted space)
* Fixes: Thai and Vietnamese tone input when preedit is off
* Fixes: NB#284151 - [TASK] ImhPreferNumbers does not open page 2 on virtual keyboard
* Fixes: NB#287913 - [TASK] VKB layouts are not shown as per spec.
* Fixes: NB#289053 - Thai VKB is missing "ฎ" and duplicates "ฏ"
* Fixes: NB#280695 - Thai above and below characters on numbers etc
* Fixes: NB#285309 - No way to input Western Arabic numerals
* Fixes: Update styling cache at label font change

0.80.7
======

CHANGES SINCE 0.80.6
* Merge latest Harmattan VKB plugin into Maliit upstream.
* Caps-lock functionlity and dynamic key overrides for QML plugin.

BUG FIXES
* Fixes: Long-press on shift key always activates caps-lock
* Fixes: BMC#23442 - [CE] Caps Lock is inaccessible in virtual keyboard
* Fixes: Align Arabic and Farsi symviews with main view
* Fixes: Align Hebrew symbol view with "qwerty" view
* Fixes: Use bigger font size for Hebrew layout in landscape mode
* Fixes: NB#286697 - In landscape mode, backspace key is missing in hebrew vkb layout
* Fixes: NB#277439 - Above and below Thai characters input consecutively go above each other
* Fixes: NB#281156 - [hwkb] N950 Hardware SYM key causes virtual keyboard to print button label
* Fixes: NB#285711 - Accent popup shows two active keys sometimes
* Fixes: NB#281474 - Word suggestion list is disappearing when the finger is lifted from the keyboard after long tapping on the space key.
* Fixes: sometimes during panning, the next incoming layout snapshot is empty.
* Fixes: NB#284540 - The Candidate words is showed next Plugin.
* Fixes: NB#280274 - permille symbol shown instead of section of a law in Kazakh
* Fixes: NB#282901 - Contact > while editing a contact, Arabic digits appears instead of Hindic on the keypad.
* Fixes: NB#272715 - Dead key VKB layout is retaining in a scenario.
* Fixes: NB#285297 - Define key widths for Hebrew layout
* Fixes: NB#284133, Autocaps doesn't work with English quotation rules
* Fixes: NB#285299, Change Farsi keyboard layout name ("Parsi" -> "Farsi")
* Fixes: NB#268106, Accents in Thai layouts are not aligned correctly inside a key/pop-up menu
* Fixes: NB#281752, Word tracker does not separate words from symbol when typing.
* Fixes: NB#284004, Vietnamese VKB is shown as truncated in landscape mode & some keys are missing in portrait mode.
* Fixes: NB#275694 - Chinese letters are allowed to enter in email address field.
* Fixes: NB#275190.
* Fixes: NB#279665 - Input Settings; §qtn_ckb_chinese_keyboards§ layout is wrong.
* Fixes: NB#283593 - VKB: Sym Key button is unlocalized and wrong layout for question mark displayed.
* Fixes: NB#280952.
* Fixes: NB#278294, With the swype keyboard enabled,if all the keyboards are deselected and selected again, unable to change the vkb layouts.
* Fixes: NB#281465, With the one installed keyboard and vkb in caps lock state,shift key is shown as inactive when the device is rotated.
* Fixes: Signal connection warnings due to flick gesture and key overrides
* Fixes: NB#278740 - meego-keyboard-dev package is incomplete
* Fixes: NB#271761 - Multi-label keys always have extended keys
* Fixes: Check whether BorderPanRecognizer exists
* Fixes: NB#255890, Autocaps logic screws up shift state when shift is held down
* Fixes: Empty TARGET rule in TouchForwardFilter UT prevents proper installation
* Fixes: NB#278596 - Opening new message window is jerky/stuttering
* Fixes: Blit children items correctly on widget surface
* Fixes: Avoid potential crashes in MImSnapshotItemPixmapItem::grabWidgets
* Fixes: For shapshot item, use single painter instance and blit directly onto target pixmap
* Fixes: Coding style in MImSnapshotPixmapItem
* Fixes: Bug 279089 - Number view in Chinese VKB should not display candidate bar.
* Fixes: NB#279536, VKB slide and popup feedbacks need to be updated along with new vibra daemon
* Fixes: NB#279903 - The assistant layout notification does not have proper position
* Fixes: NB#277776 - [TASK] [Fine Tuning] Panning gesture style
* Fixes: NB#279040 - HWR crashed after Zhuyin input in email field of Contacts application
* Fixes: NB#252531, Cursor is in the wrong end of textedit in arabic.
* Fixes: NB#278443 Input: ITU-T VKB (T9 keyboard) in Hindi number mode has Arabic letters. It should be always Latin letters
* Fixes: NB#275406.
* Fixes: NB#276954 Focus on textedit causes candidate list to popup unnecessarily

0.80.6
======

CHANGES SINCE 0.80.5
* Legacy mode config option changed to enable-legacy instead of
  enable-meegotouch. Enable with:
  $ qmake -r CONFIG+=enable-legacy
  The enable-meegotouch config option can be used to build
  the LMT based keyboard plugin.
* qmake HELP=1 will now output a list of build options

BUG FIXES
* QML keyboard plugin cannot enter alphanumerical characters (regression in 0.80.5)
* Remove unwanted debian/ directory (regression in 0.80.5)

0.80.5
======

CHANGES SINCE 0.80.1
* Added Vietnamese and Thai language layouts.
* Replace flick gesture for layout switching with panning gesture:
  - Allows to preview language layout before switching to it, making this
    gesture more discoverable than previous one.
* Change touchpoint handling to track touchpoint id's again:
  - Fixes stuck key issues that happened due to key gravity feature. Added a
    stuck key guard regardless.
* Style name overrides for layout sections:
  - Can override default style name for layout sections in XML files now,
    allowing for more flexible theming in CSS.

BUG FIXES
* Fixes: NB#242162, SYM view closes if arabic numbers are typed before 'Space' -key
* Fixes: Bug 277056 - Zhuyin; Enter key does not dismiss candidates.
* Fixes: NB#277034 Input Methods: The right and left brackets are improperly displayed in Arabic Virtual Keyboard
* Fixes: NB#276201, VKB lose latched state after device rotating
* Fixes: NB#275477, Backspace key is deleting the text even after rotating the device.
* Fixes: disable the panning during vkb is playing vertical animation
* Fixes: failed unit tests caused by new the pan gesture
* Fixes: NB#257418, space gets stuck in VKB
* Fixes: NB#275183.
* Fixes: NB#250640.
* Fixes: NB#264654, Dimmed custom enter key should disable haptic feedback
* Fixes: Bug 272907 - icon is not displayed in the center of the toolbar button
* Fixes: Long press test had 'click' incorrectly set up.
* Fixes: Bug 274111 - The press down state of Candidate button is not cleared after rotate.
* Fixes: Styling for Hebrew CSS
* Fixes: MImAbstractKeyArea UT
* Fixes: NB#271763 - [FEA] Allow language layout files to specify style class
* Fixes: NB#270051, Inputting extended key with dragging does not always work.
* Fixes: NB#256681, Unexpected shift and touchpoint behaviour when opening extended key area with shift pressed
* Fixes: Fix "MScalableImage: Received request to draw pixmap of invalid size 480x0".
* Fixes: Ut_MImAbstractKeyArea was not up-to-date with autocommit behaviour.
* Fixes: NB219163 - [TASK] Cyrillic languages phone number layout
* Fixes: resolve issue with mouse grabbing

0.80.1
======

CHANGES SINCE 0.80.0
* Add transition animation for magnifier and extended keys
* Improved language switch animation
* Added Hebrew language layouts
* Legacy mode can be enabled through:
  $ qmake -r CONFIG+=enable-meegotouch

BUG FIXES
* Fixes: Don't autocommit previous key if it's the same as the new one.
* Fixes: NB#268341, VKB related vibration feedbacks need to be updated
* Fixes: NB#265905 - Wrong styles used in Word list dialog
* Fixes: NB#261490 - [TASK] Implement transition between magnifier and extended keys
* Fixes: "Unconsumed meta data" during dpkg-buildpackage.
* Fixes: Syling for 33-keys layouts
* Fixes: NB#264297
* Fixes: NB#266879 - No email text input keyboard for Swedish
* Fixes: Use Hebrew phonenumber layout, too
* Fixes: BMC#17318 - Missing Hebrew virtual keyboard layout
* Fixes: NB#265892 - Messaging app hangs or working very slow while writing a message in certain way
* Fixes: failed Ut_MKeyboardHost
* Fixes: Cangjie toggle key need to be reset.
* Fixes: NB#266446
* Fixes: NB#254893 - Search suggestion is not updated for Google...
* Fixes: NB#262890 - In the custom toolbar field,buttons present in the vkb toolbar are getting highligtened while the vkb is closing.
* Fixes: NB#258652 - Keyboard language notification is not according to layout guide
* Fixes: NB#259910, CommonComboBoxIcons missing from Text input settings
* Fixes: NB#241979 - VKB; Press down state is not shown in candidate dialog of Chinese Zhuyin input.
* Fixes: NB#221453 - Dead key remains highlighted after Keys Pup up is present

0.80.0
======

CHANGES SINCE 0.6.13
* Now builds LMT-free version by default (a simple but functional QML keyboard)
  - Use qmake -r CONFIG+=enable-meegotouch to build LMT reference plugin.
* Use 0.80 plugins (quick) interface

BUG FIXES
* Fixes: Send correct input method area for MeeGo Keyboard Quick

0.6.5
=====

* New CSS attributes for MImAbstractkeyAreaStyle:
  - auto-padding: If true, center-aligns keys in keyboard area. Depends on
    width of key area's size.

* New features:
  - Extended keys can spread over multiple lines. In the layout files, for
    example:

      <key>
        <binding label="e" extended_labels="èé&#10;ëê€"/>
      </key>

    This will create a 3x2 box holding five labels. &#10; is the XML entity
    representing \n (newline).

0.6.2
=====

* New features:
  - A QML-based keyboard. Does not depend on libmeegotouch. Installs as a
    regular plugin by default, next to the MeeGo Keyboard. Activation like so:
    $ gconftool-2 -s /meegotouch/inputmethods/plugins/onscreen -t string "MeegoKeyboardQuick"

0.6.0
=====

* New features:
  - Virtual keyboard magnifier shows the currently touched letter.
  - Extended keys popup on long-press, for keys with the extended_labels
    attribute in the layout files.

0.5.38
======

* New CSS attributes for MImAbstractKeyAreaStyle:
  - enable-overlay-mode: In overlay mode, reactive area of first/last row
    spawns to top/bottom of display. Does not effect key geometry.

0.5.36
======

* Spacer elements are no longer inactive. Instead, they count as reactive area
  for neighbouring keys.

0.5.20
======

* Internal changes in meego-keyboard:
  - MImKey:
    - New geometry API (MImKey::Geometry) - a key's bounding rect is now
      defined by the key's margins. Geometry can be accessed or modifed through
      ::geometry(), ::setGeometry(.), although there some convenience functions
      for key position, key width and key height. Key position refers to the 
      top left corner of the bounding rect.

  - MImKeyArea:
    - Changed key layouting. Instead of spacing between keys, the layout is now
      fully determined by key size and key margins. That is, spacing between
      two keys only depends on their pairing margins.

  - MImAbstractKeyArea:
    - Changes between different style modes (key13 and key30-key45), depending
      on how many keys a layout has. This gives tighter control over layouts.
      The old behaviour can be activated through
      "sync-style-mode-with-key-count: false;"

  - MImAbstractKeyAreaStyle:
    - Renamed row-height* to key-height*, because that's closer to reality.
    - key-height (row-height) was removed, just use key-height-medium instead.
    - padding behaviour changed:
      - padding-left overrides key-margin-left of the left-most key in a row,
      - padding-top overrides key-margin-top of all keys in top row,
      - padding-right overrides key-margin-right of the right-most key in a
        row,
      - padding-bottom overrides key-margin-bottom of all keys in bottom row.
    - size allows to override height from key area height computation, if > -1.
      Overriding width is not supported yet.
       
0.5.15
========

* Changes in meego-keyboard:
    - changed signature of following signals in MImAbstractKeyArea:
        - keyPressed
        - keyReleased
        - keyClicked
        - longKeyPressed

0.5.11
========

* Changes in meego-keyboard:
    - changed signature of following signals in MImAbstractKeyArea:
        - keyPressed
        - keyReleased
        - keyClicked
        - longKeyPressed

0.5.10-1
========

* Internal changes in meego-keyboard:
  - MImAbstractKey:
    - renamed key() => model()
    - added resetActiveKeys(): will release all stuck keys
    - added visitActiveKeys(.): takes a functor, and applies it to all active
      keys. Aborts iteration if functor returns true.
    - added MImAbstractKeyVisitor interface
    - added lastActiveKey(): returns most recently pressed key that wasn't
      released yet.

  - MImAbstractKeyArea:
    - renamed updateButtonGeometriesForWith() => updateKeyGeometries()

0.5.9-1
=======

* Speed typing improvements

* Internal changes in meego-keyboard:
  - The following classes were renamed:
    - KeyButtonArea          => MImAbstractKeyArea
    - KeyButtonAreaStyle     => MImAbstractkeyAreaStyle
    - SingleWidgetButtonArea => MImKeyArea
    - IKeyButton             => MImAbstractKey
    - SingleWidgetButton     => MImKey
    - VKBDataKey             => MImKeyModel
    - KeyBinding             => MImKeyBinding
  - Cleaned up PopupBase API. It now takes a KeyButtonArea parameter, which
    enables easier communication between popup and the currently active
    KeyButtonArea; the interface consists of:
    - updatePos, cancel, handleKeyPressedOnMainArea,
      handleLongKeyPressedOnMainArea, isVisible, setEnabled
  - SingleWidgetButtonArea headers are now exported.

* New CSS attributes for KeyButtonAreaStyle:
  - debugging-related:
    - draw-button-bounding-rects: [false|true];
    - draw-button-rects: [false|true];
    - debug-touchpoints: [false|true];
    - draw-reactive-areas: [false|true];
  - others:
    - button-bounding-rect-top-adjustment: [int];
    - button-bounding-rect-bottom-adjustment: [int];
    - idle-vkb-timeout: [int in ms];

0.5.?-?
=======

* New CSS properties:
  - touchpoint-horizontal-gravity, touchpoint-vertical-gravity: Allows to
    control how far a finger can slip from the currently touched key button,
    without releasing it. Distance is measured from button border.


0.5.1-1
========

* meego-keyboard.schemas is Changed.
  - /schemas/meegotouch/inputmethods/languages is changed to
  /schemas/meegotouch/inputmethods/virtualkeyboard/layouts. It
  stores initial layout file lists for meego-keyboard.
  - /schemas/meegotouch/inputmethods/languages/default is changed to
  /schemas/meegotouch/inputmethods/virtualkeyboard/layouts/default.
  It stores default layout file name for meego-keyboard.

* Internal changes in meego-keyboard:
  - KeyboardData:
    - layoutFile returns layout file name.

  - LayoutsManager:
    - layoutCount returns the count of keyboard layouts.
    - languageList is removed. Use layoutFileList to instead.
    - layoutFileList returns the keyboard layout name list.
    - layout is changed to accepct layout name instead of language code
    as the input parameter.
    - defaultLanguage is replaced by defaultLayout.
    - languagesChanged signal is renamed to layoutsChanged.
    - loadLanguage is replaced by loadLayout.
    - keyboardByName is changed to accepct layout file name instead of
    language code as the input parameter.

  - MVirtualKeyboard:
    - selectedLanguage is replaced by selectedLayout.
    - switchLanguage is replaced by switchLayout.
    - setLanguage is replaced by setLayout.
    - languageReset is replaced by keyboardsReset.
    - languageChanged signal is renamed to layoutChanged.
    - createMainSectionView and createSectionView are changed to accept
    layout name instead of language code as the input parameter.

  - SymbolView:
    - SymbolView is changed to accept layout name instead of language code
    as the input parameter.
    - setLanguage is replaced by setLayout.


0.5.0-1
========

* New keyboard layouts:
  - Hungarian, Romanian, Slovak, Ukrainian, Turkish, Indonesian, Malay,
    Brazilan, Mexican

* API changes in meego-keyboard:
  - New typedef for QSharedPointer<LayoutSection> -
    LayoutData::SharedLayoutSection.
  - Switch to floating points for SWBA geometry computation.

  - KeyButtonArea:
    - updateButtonGeometries was replaced by updateButtonGeometriesForWidth,
    - buttonInformation, buttonSizeByColumn got removed.

  - LayoutSection:
    - maxNormalizedWidth returns the row width in logical units, using a key's
      width attribute.
    - rowHeight returns the row height, using a row's height attribute.
    - spacerIndices returns a list with the position of space elements for a
      given row.
    - Renamed getVKBKey to vkbKey.

  - LayoutData:
    - Changed return type of section (and its overload) to SharedLayoutSection,
      removing the constness from the contained LayoutSection.

  - LayoutsManager:
    - createInstance, ctor now take an (optional)
      MVirtualKeyboardStyleContainer parameter.
    - Layout returns an empty LayoutData instance in case the queried layout
      could not be found.

  - KeyboardData:
    - Ctor now takes an (optional) MVirtualKeyboardStyleContainer parameter.

  - VKBDataKey:
    - Ctor now takes a StyleType and a SizeType parameter, too.
    - New getters (style, size, isFixedSize) for current StyleType, SizeType
      and whether to use fixed key width or (relative) scaling.
    - normalizedSize returns the key's QSizeF (queried from style and dependend
      on the SizeType).

  - SingleWidgetButtonArea, KeyButtonArea:
    - Removed updateButtonGeometries and made updateButtonGeometriesForWidth a
      pure virtual instead.
    - Removed ButtonSizeScheme, ButtonSize takes over (difference: scheme
      was bound to a whole layout section, size type are flexible).
    - drawSymKeyBackground removed, drawNormalKeyBackground renamed to
      drawKeyBackground: styling (per button) can now be done via style.

  - SymbolView:
    - loadFunctionRow, setFunctionRowState, updateSymIndicator removed.

  - FlickupButton:
    - FlickupButton is removed.

  - FlickupButtonView:
    - FlickupButtonView is removed.

  - FlickUpButtonStyle:
    - FlickUpButtonStyle and FlickUpButtonStyleContainer are removed.

* Keyboard layout files became more expressive:
  - New style attribute for key elements: normal (default), deadkey, special.
    The new style types can be referenced from CSS files, allowing for more
    flexible button styling.
  - New height attribute for row elements: small, medium (default), large,
    x-large, xx-large. The height can be used to specify the relative row
    height in CSS files (no support for fixed height yet).
  - New fixed attribute for row elements: true, false (default). It defines
    whether the row height specified in height attributes should be a relative
    or fixed value.
  - New width attribute for key elements: small, medium (default), large,
    x-large, xx-large, stretched. The new width type can be used to specify
    relative button width in CSS files (no support for fixed width yet).
  - New fixed attribute for key elements: true, false (default). It defines
    whether the button width specified in size attributes should be a relative
    or fixed value.
  - New spacer element for row elements: Spacers distribute all remaining space
    of a row among them, after the possible stretcher button has been dealt
    with.
  - The section's alignment attributes have been superseded by spacer elements,
    and therefore, been removed.
  - New action switch for binding: switch action indicates to switch active symbol
    page to the next avaliable page.

* New CSS properties:
  - MVirtualKeyboardStyle:
    - key-width-small, key-width-small-fixed
    - key-width-medium, key-width-medium-fixed
    - key-width-large, key-width-large-fixed
    - key-width-x-large, key-width-x-large-fixed
    - key-width-xx-large, key-width-xx-large-fixed
    - key-width-stretched, key-width-stretched-fixed
    - row-height-small,
    - row-height-medium,
    - row-height-large,
    - row-height-x-large,
    - row-height-xx-large,
    - key-background, key-background-pressed,
      key-background-selected, key-background-pressed-selected
    - key-background-special, key-background-special-pressed,
      key-background-special-selected, key-background-special-pressed-selected
    - key-background-deadkey, key-background-deadkey-pressed,
      key-background-deadkey-selected, key-background-deadkey-pressed-selected
    - key-height

* Removed CSS properties:
   - key-background-sym-indicator-sym, key-background-sym-indicator-sym-pressed
   - key-background-sym-indicator-ace, key-background-sym-indicator-ace-pressed
   - key-normal-size, key-phone-number-normal-size, key-function-normal-size,
     key-function-large-size, key-number-function-large-size,
     key-sym-normal-size:


0.4.13-1
=========

* Direct mode for VKB was temporarily disabled due to NB#176441.
