SDK Release Notes
#################

.. contents:: List of Releases
   :depth: 1

UNRELEASED
##########

API Changes
***********
* ADDED IN: PickerDelegate: readonly property Picker picker
* CHANGED IN: OptionSelector: readonly property bool currentlyExpanded TO property bool currentlyExpanded
* CHANGED IN: ItemSelector: readonly property bool currentlyExpanded TO property bool currentlyExpanded
* ADDED IN: Action: property string iconName
* ADDED IN: ActionItem: property string iconName
* ADDED IN: OptionSelectorDelegate: property string iconName
* ADDED IN: OptionSelectorDelegate: property url iconSource
* DEPRECATED IN: OptionSelectorDelegate: property url icon
* ADDED IN: ListItems.Base: property string fallbackIconName
* ADDED IN: ListItems.Base: property string iconName
* ADDED IN: ListItems.Base: property url iconSource
* DEPRECATED IN: ListItems.Base: property variant icon
* ADDED IN: ListItems.Standard: property string fallbackIconName
* ADDED IN: ListItems.Standard: property string iconName
* ADDED IN: ListItems.Standard: property url iconSource
* DEPRECATED IN: ListItems.Standard: property variant icon
* ADDED IN: TabBar: property int selectedIndex
* DEPRECATED IN TabBar: property Item tabsItem
* ADDED IN: OptionSelector: readonly property bool currentlyExpanded
* ADDED IN: ItemSelector: readonly property bool currentlyExpanded
* ADDED IN: Tab: readonly property int index
* ADDED IN: ListItem.Empty: property bool confirmRemoval
* ADDED IN: OptionSelector: property bool multiSelection
* ADDED IN: ItemSelector: property bool multiSelection
* ADDED IN: OptionSelector: readonly property real itemHeight
* ADDED IN: ItemSelector: readonly property real itemHeight
* ADDED IN: OptionSelector: signal expansionCompleted()
* ADDED IN: ItemSelector: signal expansionCompleted()
* ADDED IN: OptionSelectorDelegate: property bool constrainImage
* ADDED IN: Empty: property alias divider
* ADDED IN: ListItems/OptionSelector: signal delegateSelected()
* REMOVED IN: OptionSelector: signal scroll()
* ADDED IN: OptionSelector: signal delegateSelected()
* ADDED: ListItem OptionSelector to Components/ListItems
* ADDED: ListItemOptionSelectorStyle to Components/Ambiance/ListItems
* ADDED: ListItemOptionSelectorStyle to Components/SuruDark/ListItems
* ADDED: ListItemOptionSelectorStyle to Components/SuruGradient/ListItems
* REMOVED IN ALL: attached property ItemStyle
* ADDED IN OrientationHelper: property alias rotating
* ADDED IN OrientationHelper: property alias __orientationHelper
* ADDED IN OrientationHelper: property bool transitionEnabled
* DEPRECATED IN QuickUtils: property Item rootObject
* CHANGED IN OrientationHelper: property int __orientationHelper TO property int orientationHelper
* CHANGED IN Toolbar: property bool active TO property bool opened
* CHANGED IN Toolbar: property bool lock TO property bool locked
* CHANGED IN ToolbarActions: property bool active TO property bool opened
* CHANGED IN ToolbarActions: property bool lock TO property bool locked
* REMOVED IN Toolbar: property bool active
* REMOVED IN Toolbar: property bool lock
* REMOVED IN ToolbarActions: property bool active
* REMOVED IN ToolbarActions: property bool lock
* CHANGED IN Page: property Header header TO property Header __propagated.header
* CHANGED IN Page: property Toolbar toolbar TO property Toolbar __propagated.toolbar
* CHANGED IN MainView: property Header header TO property Header __propagated.header
* CHANGED IN MainView: property Toolbar toolbar TO property Toolbar __propagated.toolbar
* DEPRECATED IN Page: property Header header
* DEPRECATED IN Page: property Toolbar toolbar
* DEPRECATED IN MainView: property Header header
* DEPRECATED IN Page: property Toolbar toolbar
* REMOVED in MainView: property QtObject __hud 
* CHANGED in ToolbarActions: INHERIT Item INSTEAD OF ActionList
* CHANGED in Page: property ToolbarActions tools TO property Item tools
* CHANGED IN Toolbar: property ToolbarActions tools TO property Item tools
* DEPRECATED IN Action: property bool visible
* DEPRECATED IN Action: property Item itemHint
* REMOVED ToolbarActions (use ToolbarItems instead)
* ADDED IN MainView: property bool anchorToKeyboard
* CHANGED IN Tabs: property Component __headerContents TO property TabBar tabBar
* CHANGED IN Header: property Component contents TO property Item contents
* ADDED IN Panel: function open()
* ADDED IN Panel: function close()
* ADDED IN Panel: property int hideTimeout
* DEPRECATED IN Panel: writable property opened. Will be made read-only.
* ADDED IN: Empty: property bool waitingConfirmationForRemoval
* ADDED IN: Empty: function cancelItemRemoval()
* CHANGED in CrossFadeImage: readonly property size sourceSize TO property size sourceSize

Compatibility Breaks
********************

- CHANGED IN Tabs: Automatically show the header when the title of the active tab changes
- CHANGED IN Page/MainView: Only enable auto-hide behavior of header when the Page's flickable can be flicked vertically, so that manual setting of anchors is no longer needed for flickables that only flick horizontally
- CHANGED IN Page: Automatic detection of flickable inside a Page to control the header is now limited to Flickables that are anchored to the top of the Page or fill the Page. Header automatically shows when flickable.contentHeight becomes <= flickable.height.
- CHANGED IN Action, ActionItem, OptionSelectorDelegate: Setting iconName now always selects the requested icon from ubuntu-mobile theme, not the system icon theme.

SDK 0.1.46
##########

API Changes
***********

* None

Compatibility Breaks
********************

* None

SDK 0.1.45
##########

API Changes
***********

* None

Compatibility Breaks
********************

* None

SDK 0.1.44
##########

API Changes
***********

* CHANGED IN AbstractButton: signal clicked(mouse) TO signal clicked()
* CHANGED IN AbstractButton: signal pressAndHold(mouse) TO signal pressAndHold()

Compatibility Breaks
********************

* CHANGED IN Tabs: Swiping to switch tabs disabled by default

SDK 0.1.43
##########

(Automatic builds)

SDK 0.1.42
##########

Compatibility Breaks
********************

* None

API Changes
***********

* Style QML type as base type for all custom style objects
    * provides automatic property styling of styled item and its assotiated delegate

* Deprecated APIs
- ComponentUtils module is deprecated
  (affects componentUtils.js: hasStyle(), style(), delegateProperty() functions)
- StyleUtils module is deprecated
  (affects styleUtils.js: itemStyleProperty(), animateOrSetValue(), animate() functions)
- 'itemStyle' context property is no longer exposed to delegates
- use of style type, second parameter of @qml-mapping is deprecated
- Deprecated theme specific styles and delegates:
    ButtonStyle, CheckBoxStyle, NewTabsStyle, SwitchStyle, TabButtonStyle, TextAreaStyle,
    TextFieldStyle, TextFieldDelegate, UbuntuShapeStyle. These components were deprecated
    and their properties are now in the respective delegates.

SDK 0.1.41
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None

SDK 0.1.40
##########

Compatibility Breaks
********************

* Header is now hidden when it has no title or contents

API Changes
***********

* None


SDK 0.1.39
##########

Compatibility Breaks
********************

* None

API Changes
***********

* ListItem.Empty:
   + backgroundIndicator: Defines the item background item to be showed during the item swiping
   + removable: Defines if the item can be removed or not
   + swipingState: The current swiping state ("SwipingLeft", "SwipingRight", "")
   + itemRemoved: This handler is called when the item is removed from the list

SDK 0.1.38
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None

SDK 0.1.37
##########

Compatibility Breaks
********************

* Page, PageStack and Tabs automatically determine their anchors and height
  inside a MainView, so there is no need to set them explicitly.
* It is now recommended to always use Pages inside Tabs or PageStack.
  Non-Page items can still be used, but their margins will not automatically
  be set-up to align with the header of the MainView.

API Changes
***********

* Property tools was deprecated for MainView, Tabs and PageStack. Pages now automatically
  update MainView.toolbar.tools when they become active.
* Property page of Tab can no longer be a URL, but must be an Item (Page recommended).
  Use a Loader if you were using a URL first.

SDK 0.1.36
##########

Bugs Fixed
**********

*  HUD integration to the MainView

Compatibility Breaks
********************

* None

API Changes
**********

* None

SDK 0.1.35
##########

Bugs Fixed
**********

Theming-related:
* [POPOVER] is themed in correctly
* [TOOLKIT] Activity indicator is themed incorrectly
* [TOOLKIT] dialogue is themed incorrectly

Toolbar-related:
* [sdk-toolbar] share button in on gallery image does not function on the first button press
* Sharing after post/cancel is not possible
* [sdk-toolbar] after tap to dismiss toolbar doesn't work
* [sdk] toolbar trigger area too big
* when first showing the toolbar after opening a photo, it shows the toolbar buttons for the overview, not for the current photo

Other:
* [HUD, OSK] OSK doesn't focus on input field
* Popover sometimes not dismissed

Compatibility Breaks
********************

* SDK now depends on libqt5graphicaleffects5 for dropshadow of Popovers.

API Changes
***********

* None

SDK 0.1.34
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None

SDK 0.1.33
##########

Compatibility Breaks
********************

* None

API Changes
***********

* TextArea and TextField
  + popover: overrides the default popover of the text area

* Slider
  + touched(bool onThumb): The signal is emitted when there is a click on the
    slider. The onThumb parameter provides information if the click, was inside
    of the thumb element

SDK 0.1.32
##########


Compatibility Breaks
********************

* None

API Changes
***********

* Popover
  + autoClose: property to drive automatic closing of Popovers when tapped on the dismissArea

*SheetBase, Dialog
  + modal: property to drive modal state of the sheets and dialogs

SDK 0.1.31
##########

Compatibility Breaks
********************

* None

API Changes
***********

* Popover, Dialog
  + edgeMargins: specifies the margins from the dismissArea when positioning the foreground
  + callerMargin: specifies the margin from the caller when positioning the pointer

SDK 0.1.30
##########

Compatibility Breaks
********************

* None

API Changes
***********

* TextField, TextArea
  + highlighted: enables to control highlighted state separately from focused 

SDK 0.1.29
##########

Compatibility Breaks
********************

* Property tools of Page and Toolbar must now be of type
  ToolbarActions (was: ActionList).

API Changes
***********

* Popover, Dialog
  + pointerAnchorItem: caller or a child/sibling of it where the pointer should be aligned to

SDK 0.1.28
##########

Compatibility Breaks
********************

* TextArea - autoExpand: marked as deprecated. Use autoSize instead

API Changes
***********

* Popover
  + dismissArea: area where mouse events cause Popover dismissal
  + grabDismissAreaEvents: specifies whether to grab events from dismiss area
  + contentWidth, contentHeight: overrides the calculated width/height of the Popover's operative area

* TextField, TextArea
  + paste(data): parameter added to paste custom data other than Clipboard content.

* TextArea
  + autoSize: specifies to resize the area based on lineCount property

SDK 0.1.27
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None


SDK 0.1.26
##########

Compatibility Breaks
********************

* None

API Changes
***********

* ThemeEngine - contains only public API, no C++ specific API
* Role element removed


SDK 0.1.25
##########

Compatibility Breaks
********************

* None

API Changes
***********

* Removed UbuntuShape::borderSource and UbuntuShape::maskSource. That API in
  this form reveals to be too difficult to maintain while keeping an efficient
  implementation. In the future, we plan to expose these features through
  styling properties.


SDK 0.1.22
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None


SDK 0.1.21
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None


SDK 0.1.20
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None


SDK 0.1.16
##########

Compatibility Breaks
********************

* None

API Changes
***********

* ScrollbarStyle property changes
 - fadeAnimation property
 + interactive
 + overlay
 + overlayOpacityWhenHidden
 + overlayOpacityWhenShown
 + scrollbarFadeInAnimation
 + scrollbarFadeOutPause
 + scrollbarFadeOutAnimation


SDK 0.1.15
##########

Compatibility Breaks
********************

* None

API Changes
***********

* TextCustom renamed to Label, TextCustom remains for backwards compatibility


SDK 0.1.14
##########

Compatibility Breaks
********************

* None

API Changes
***********

* UbuntuShapeStyle:
  - 'borderSource' property renamed to 'borderIdle'
  - 'borderPressed' property added


SDK 0.1.13
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None


SDK 0.1.12
##########

New: Scrollbar component

Compatibility Breaks
********************

* Tabs component no longer has properties buttonsExpanded and separator.
  These two properties can now be specified in the qmltheme of the Tabs.

API Changes
***********

* buttonsExpanded and separator properties removed from Tabs component.

SDK 0.1.11
##########

Compatibility Breaks
********************

* None

API Changes
***********

* None


SDK 0.1.7
#########

* Rule QML type removed from public API of the components

SDK 0.1.5
#########

Compatibility Breaks
********************

* Meaning of TextCustom.fontSize has changed: the 'large' and 'x-large' sizes
  changed to be bigger.

API Changes
***********

* None

