Home | Back
0.80.6
======

CHANGES SINCE 0.80.5
* Server can build against Qt 4.8 with Lighthouse and run under Wayland
* Legacy mode config option changed to enable-legacy instead of
  enable-meegotouch. Enable with:
  $ qmake -r CONFIG+=enable-legacy* Support hardware keyboard handling for Qt Quick plugins
* Removed deprecated support for integrating with input methods via
  LMT/meegotouch directly. LMT/meegotouch uses libmaliit for that now.
* Track hardware keyboard status on Fremantle (N900)
* New MAbstractInputMethodHost::setLanguage(QString) API
  - New method setLanguage added to D-Bus interface. Through this method plugins
    can give applications a hint of the language user is going to write.
* qmake HELP=1 will now output a list of build options
* Input context <-> server communication is more generic,
  and allows implementation of other IPC/transport mechanisms
* Legacy mode and non-legacy mode now parallel installable.

BUG FIXES
* Fixes: Install gconf schemas on make install
* Fixes: Failure to generate dbus glue files in out-of-tree build
* Fixes: NB#277853 - Meego-im-uiserver crash on invalid plugin name

0.80.5
======

CHANGES SINCE 0.80.4
* PySide bindings for Maliit Plugin API
  - Python plugins can now make use of the generic plugin loader found at
    https://github.com/renatofilho/maliit-python - together with the new plugin
    factory MImAbstractPluginFactory, the requirement for a Qt/C++ wrapper in
    the case of Python plugins has been eliminated.
* New plugin switch handling
  - SwitchPreparationBackward, SwitchPreparationForward and SwitchCanceled,
    required for new panning gesture to change between plugins/subviews.
* New MAbstractInputMethodHost::preeditClickPos() API:
  - Forwards the preedit-local coordinate to input method plugins.

BUG FIXES
* Fixes: NB#277834 - libmaliit seg. fault in libmeegotouch unit tests:
  ut_mtextedit and ut_minputmethodstate
* Fixes: BMC#19298 - [FEA] Provide PySide bindings for Maliit Plugin API

0.80.4
======

CHANGES SINCE 0.80.3
* Improved legacy support:
  - Applications that want to integrate with input methods can freely choose
    whether to use MTF/libmeegotouch or libmaliit
* Improved unit tests:
  - Added tests for Maliit::AttributeExtension{, Registry} API
  - Fixed skipped unit tests
  - Fix tests for plugin examples
* Build system:
  - Fix out-of-tree builds

BUG FIXES
* None

0.80.3
======

CHANGES SINCE 0.80.2
* Remove Harmattan-specific settings applet
* Add support for ContextKit keyboard tracker

BUG FIXES
* Fixes: AttributeExtensions with libmaliit

0.80.2
======

CHANGES SINCE 0.80.1
* New libmaliit contains additional API for application developers to interact
  with input methods (besides Qt's input context API):
  - Maliit::InputMethod: Query input method area and control input method
    orientation,
  - Maliit::AttributeExtension: Allows to control input method toolbar and
    customization of certain virtual keyboard keys,
  - Maliit::PreeditInjectionEvent: Used by text entries to inject a new preedit
    into the input context,
  - Maliit namespace for all input method related enums, superseds MInputMethod
    namespace.
* New input context name:
  - Use QT_IM_MODULE=Maliit for regular builds and QT_IM_MODULE=MInputContext
    for legacy builds.
* Script for making Maliit Plugin SDK tarball.
* Enabled all unit tests again.

BUG FIXES
* Fixes: Settings applet does not compile with enable-meegotouch
* Fixes: NB#268826

0.80.1
======

CHANGES SINCE 0.80.0
* Support for QML plugins to let user hide plugin
* Legacy mode can be enabled through:
  $ qmake -r CONFIG+=enable-meegotouch

BUG FIXES
* Fixes: NB#254635, meego-im-uiserver is missing capabilities
* Fixes: BMC#15415 - corrupt text-input-settings.qm
* Fixes: NB#265488 - Word tracker is shown empty when the device is rotated.
* Fixes: MAbstractInputMethodHost's dependency to MIMApplication
* Fixes: NB#259910, CommonComboBoxIcons missing from Text input settings
* Fixes: NB#259600, Order of layout information, non-tapable area and line to be removed from settings.

0.80.0
======

CHANGES SINCE 0.20.20
* Maliit rebranding:
  - Libraries:
    - libmeegoimframework => libmaliit-plugins
    - libmeegoimquick => libmaliit-plugins-quick
  - Binaries:
    - meego-im-uiserver => maliit-server
  - Plugins install paths:
    - /usr/lib/meego-im-plugins => /usr/lib/maliit/plugins-x.y
* Added library versioning
  - Allows for parallel installation of different versions
* Removed internal libmeegotouch dependency
  - MPreeditInjectionEvent, MInputMethodState added to new experimental
    libmaliit
* Improved build infrastructure:
  - Common defines for install paths, names, etc.
  - Better pkg-config support (whilst deprecating prf files)
  - Better install prefix handling through M_IM_PREFIX

BUG FIXES
* Fixes: BMC#18772 - meego-im-uiserver is changing the window type after it's
  window is mapped

0.20.11
=======
* Added support for enabling/disabling plguins and subviews.
  - MAbstractInputMethod::subViews() should return all subviews instead of
    just the enabled ones now
  - The new GConf keys :
    - /meegotouch/inputmethods/onscreen/enabled
    - /meegotouch/inputmethods/onscreen/active
    replace the old ones:
    - /meegotouch/inputmethods/plugins/onscreen
    - /meegotouch/inputmethods/virtualkeyboard/layouts
    - /meegotouch/inputmethods/virtualkeyboard/lastactivesubview

0.20.10
=======
* Added basic framework support for QML-based plugins:
  - MInputMethodQuick: A MInputMethod implementation that sets up a QML
    environment and exposes a MInputMethodQuick context to the QML side.
  - MInputMethodQuickPlugin: A ready-made plugin wrapper, to use it reimplement
    MInputMethodQuickPlugin::qmlFileName and MInputMethodPlugin::name.

0.20.0
=======
* Removed MeeGo Touch from public API.
* Allow to build framework without MeeGo Touch (optional)
  - Use "$ qmake CONFIG=+nomeegotouch -r ." or
    "DEB_BUILD_OPTIONS=nomeegotouch".
* New helper classes:
  - MImGraphicsView: Use this widget if your input method plugin uses
    QGraphicsView (or QDeclarative*).
  - MImWidget: Use this widget if your input method offers a tradtional
    QWidget-based UI.
  - Both widgets boost render performance of input method plugins by using the
    framework's latest self-compositing feature. Check their documentation for
    subclassing advice. Also, in case you cannot reuse these classes, you need
    to use MAbstractInputMethodHost::background - if null, it can be ignored.
    Otherwise, it needs to be drawn into the background of your central widget
    (assuming full-screen widgets). For QWidgets, this can be done in
    QWidget::paintEvent. For QGraphicsView, it is required to override
    QGraphicsView::drawBackground instead.
  - MImHwKeyboardTracker: Tracks state (open/closed) of HW keyboard (does not
    provide any functionality yet when framework is build without MeeGo Touch
    support).
  - MImSettings: Currently a wrapper for GConf, but supposed to be extended for
    GConf-less platforms.
* API changes:
  - Removed MIMSettingsDialog (use settings applet instead).
    - Removed MAbstractInputMethodHost::showSettings, too. This means that IM
      plugins can no longer request the settings dialog.
  - Removed MPlainWindow.
  - MAbstractInputMethod:
    - c'tor now takes an additional QWidget parameter, the
      main window (top level widget) supplied by the framework. This frees
      plugins from using MPlainWindow. Plugins can now choose between
      traditonal QWidget UI's or QGraphicsView UI's (including MeeGo Touch and
      QML). Make sure to reparent your central widget to the main window.
    - centralWidget: Returns central widget of your plugin.
    - setCentralWidget: Sets central widget of your plugin. Important if you
      want to take advantage of self-composting by using MImGraphicsView or
      MImWidget.
  - MInputMethodPlugin:
    - createInputMethod: Takes an additional QWidget parameter, the main
      window. Parameter is supplied by framework.
  - MInputMethod namespace:
    - added OrientationAngle, Orientation, TextContentType (copied from MeeGo Touch)

0.19.41
=======
* API changes
- MAbstractInputMethod was changed. The method handleAppOrientationChange() was renamed as
handleAppOrientationChanged(), which means target application already finish changing
orientation. And there was a new method handleAppOrientationAboutToChange() says target
application is about to change orientation.
- Added X key event time parameter to MAbstractInputMethod::processKeyEvent().

0.19.39
======
* API changes
- New entry setOrientationAngleLocked added to input-context D-Bus interface and
   similar method added also to MInputContextConnection and MAbstractInputMethodHost.
- Added MAbstractInputMethodHost::hiddenText()

0.19.37
=======
* API changes
- MInputContextConnection was changed. Add new parameters replaceStart and replaceLength
in sendPreeditString(). Add new parameters replaceStart, replaceLength and cursorPos in
sendCommitString(). Add new pure virtual method setSelection().
- MAbstractInputMethodHost was changed. Add new parameters replaceStart and replaceLength
in sendPreeditString(). Add new parameters replaceStart, replaceLength and cursorPos in
sendCommitString(). Add new pure virtual method setSelection().

0.19.32
=======
* API changes
- Toolbar specification was changed. Add a new attibute "visible" for button.
   Check latest version of the specification in the file doc/src/toolbarxml.dox.
- new variant of MToolbarItem::setVisible() with explicit visibility flag was added.

0.19.31
=======
* API changes
- Parameters in MInputContext::updatePreedit() are changed to accept definitions
   of different formats for each part of preedit, and support to show cursor inside
   preedit.
- A parameter cursorPos is added to MAbstractInputMethod::setPreedit().
- Parameters in MInputMethodHost::sendPreeditString() are changed to accept definitions
   of different formats for each part of preedit, and support to show cursor inside
   preedit.
- new struct PreeditTextFormat in namespace MInputMethod which defines the text format
   for the preedit string.
- MAbstractInputMethodHost was changed. Add a new pure virtual method cursorRectangle().

0.19.30
=======
* API changes
- Toolbar specification was changed. Add a new attibute "enabled" for button.
   Check latest version of the specification in the file doc/src/toolbarxml.dox.

0.19.27
=======

* API changes
- MInputMethodBase was renamed to MAbstractInputMethod
- MInputMethodSettingsBase was renamed to MAbstractInputMethodSettings
- Removed region signal from MAbstractInputMethod and replaced them with
   setScreenRegion() and setInputMethodArea() in MAbstractInputMethodHost.
- renamed in MAbstractInputMethod:
   - mouseClickedOnPreedit() -> handleMouseClickOnPreedit(
   - focusChanged() -> handleFocusChange()
   - visualizationPriorityChanged() -> handleVisualizationPriorityChange
   - appOrientationChanged() -> handleAppOrientationChange()
   - clientChanged -> handleClientChange()

0.19.26
========

* API changes
- A request type parameter was added to MInputContext::keyEvent to
   allow signal only and event only key events.
- Similar change to MInputContextConnection::sendKeyEvent and the "keyEvent"
   method in DBUS interface "com.meego.inputmethod.inputcontext1".
- Removed MInputContextConnection from public API and replaced it with
   MAbstractInputMethodHost for MInputMethodBase.
- Removed some ...Requsted() signals from MInputMethodBase and replaced with
   methods in MAbstractInputMethodHost
- Removed indicator setting from MInputMethodBase and replaced with method on
   MAbstractInputMethodHost. Moved the indicator enum to MInputMethod namespace.
- Changed the D-Bus interface of MIMPluginManager to use meego prefix.

0.19.24
========

* API changes
- Toolbar specification was changed.
   Check latest version of the specification in the file doc/src/toolbarxml.dox
- class MToolbarRow was removed

0.19.22
========

* API changes
- moved contents from mpreeditface.h, mimdirection.h and mimhandlerstate.h
   to minputmethodnamespace.h using "MInputMethod" namespace.
   Also renamed MInputMethodSwitchDirection -> SwitchDirection.

- Moved headers out of meegotouch dir to /usr/include/meegoimframework/

0.19.21
========

* API changes
- MInputContext::keyEvent will always emit a signal, additional parameter "signalOnly"
   is used to suppress delivering the KeyEvent to focused widget.
- D-BUS message "keyEvent" in interface "com.meego.inputmethod.inputcontext1" has new
   boolean parameter to match the new parameter in MInputContext::keyEvent

0.19.20
========

* Uses MInputMethodState signals for notifying application for real hw keyboard signals

0.19.19
========

* API changes
- Public API of MToolbarData and MToolbarRow was changed, most of methods are private now.
- Source code of MToolbarRow and MToolbarLayout was moved to dedicated files, so you need
   to include mtoolbarrow.h and mtoolbarlayout.h if you want to use that classes.

= 0.18/0.1.22 =
== New ==
* New RPC setComposingTextInput, composingTextInput, and setModifierState to support hardware keyboard key event filtering

== Changed ==
* Region given to DuiPassThruWindow::inputPassthrough() is not translated anymore
* dui-im-context is now moved back to here
* Window's properties are set during the construction of the passtrough window

= 0.1.21 =
== New ==
* DuiIMPluginManager handles different kind of input method
* Selective painting is enabled

== Changed ==
* DuiIMPluginLoader is renamed into DuiIMPluginManager with new features
* DuiIMPluginManager no longer needs scene argument

= 0.1.20 =
== Changed ==
* Compilation in passthroughserver now using the library created in src, and no longer look in /usr/lib
* By default now using -software, even for device usage

= 0.1.19 =
== New ==
* Unit tests are now packaged
* Server is now launched from a helper script in order to "guarantee" a correct connection with DBus
* XSession script is now removed and rely on the DBus service

= 0.1.18 =
== New ==
* inputMethodAreaUpdated signal to announce the changes to the input method area. This is now separated from the area sent to passthrough server.
  
== Changed ==
* Further changes to reaction maps API

= 0.1.17 =
== Changed ==
* Haptics related class name changed
* Support for quering pre-edit rectangle from input-context
* No longer use software rendering

== Fixed ==
* NB#141431   candidate list rotation is broken

= 0.1.16 =
== Changed ==
* Rendering method (software/hardware accelerated) is now determined in runtime (using -software argument)

= 0.1.15 =
== Fixed ==
* NB#137201   Virtual keyboard is getting closed when typing the first character

= 0.1.14 =
== new ==
* Depends on libdui 0.11
* Direct mode input is now supported
* Input method server is now also a dbus service
* DuiInputContext::WidgetInfo sets default values
* Input-context notifies input method when it's application's orientation changes

== Changed ==
* input-context is moved to libdui, starting on libdui 0.11
* Passthrough window is no longer shown/hidden during the region update, it is always shown all the time.

== Removed ==
* Old unused files (css, input-context unit tests)

== Fixed ==
* NB#130249   Virtual keyboard uses local instance of theme daemon
* NB#137201   Virtual keyboard is getting closed when typing the first character

= 0.1.13 =
== new ==
* imInitiatedHide() to notify that im server wants the IM to be hidden.
* Remove focus when input method is hidden.

== Changed ==
* inputMethodShown() and inputMethodHidden are removed in favor of imInitiatedHide()
* QSettings are deprecated in favor of DuiGConfItem.

= 0.1.11 =
== New ==
* inputMethodShown() to hide the navigation bar

== Changed ==
* mouseClickedOnPreedit() now includes the rectangle of the preedit

= 0.1.9 =
== Changed ==
* Make dui-im-uiserver have its own reaction map

= 0.1.8 =
== New ==
* content type support
* error correction information support
* word prediction hint support
* support for notifying inputmethodbase about widget visualization priority
* support for enabling/disabling error correction in input context via dbus
* Initial support for selective compositing.

== Changed ==
* preedit style depends on parameters of DuiInputContext::updatePreedit

= 0.1.6 =
== New ==
* send preedit (also with attribute) on preeditinjection event

= 0.1.4 =
== New ==
* Plugin framework now use settings for specifying driver location, activated plugins and blacklisted plugins
* Input context supports plain Qt application
* Input context supports focus out

== Changed ==
* Passthrough server now receives all region updates from the plugins

= 0.1.3 : 2009.02.17 =
== Changed ==
* Input method plugin is refactored
* Package now contains the framework, Qt input context, and the UI server