=============================================================================
The changes below are pre Qt 4.7.0 alpha

Flickable: renamed viewportWidth -> contentWidth
Flickable: renamed viewportHeight -> contentHeight
Flickable: renamed viewportX -> contentX
Flickable: renamed viewportY -> contentY
Removed Flickable.reportedVelocitySmoothing
Removed Qt.playSound (replaced by SoundEffect element)
Removed NumberFormatter
Removed DateTimeFormatter (use Qt.formatDateTime() instead)
Renamed MouseRegion -> MouseArea
Connection: syntax and rename:
    Connection { sender: a; signal: foo(); script: xxx }
    Connection { sender: a; signal: bar(); script: yyy }
  becomes:
    Connections { target: a; onFoo: xxx; onBar: yyy }
Using WebView now requires "import org.webkit 1.0"

QmlView
-------
The API of QmlView has been narrowed and its role as a convenience class
reinforced.
- remove addItem()
- remove clearItems() - use 'delete root()'
- remove reset()
- resizeContent -> enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView }
- remove setQml(), qml()
- rename setUrl(), ur() to setSource(), source()
- root() -> rootObject(),  returns QGraphicsObject rather than QmlGraphicsItem
- remove quit() signal -> use quit() signal of engine()
- initialSize() signal removed
- Added status() to determine status of the internal QmlComponent

sectionExpression has been replaced by section.property, section.criteria

ListModel
---------
- types are strictly checked (previously, everything was a string)
 - foo: "bar"  continues to work as before
 - foo: bar  is now invalid, use  foo: "bar"
 - foo: true  is now a bool (not string "true")
 - foo: false  is now a bool (not string "false" == true!)

C++ API
-------
QML_DEFINE_... definition macros, previously global macros, are replaced by
QML_REGISTER_... registration macros, which must be called explicitly. C++ API users
should also consider using the QmlExtensionPlugin (previously named QmlModulePlugin)
as a cleaner mechanism for publishing libraries of QML types, or the upcoming 
application plugin features of the qmlviewer / qmlruntime / qml.

PropertyAnimation
------------------
matchProperties and matchTargets have been renamed back to properties and targets.
The semantics are explained in the PropertyAnimation::properties documentation
and the animation overview documentation.

Behavior and Animation syntax
-----------------------------

Previously animations and behaviors could be "assigned" to properties like this:
    Item { x: Behavior {}; y: NumberAnimation {} }
To make it more obvious that these are not regular value assignments a new "on"
syntax has been introduced:
    Item { Behavior on x {}; NumberAnimation on y {} }
Only the syntax has changed, the behavior is identical.

=============================================================================
The changes below are pre-4.6.0 release.

QML API Review
==============

The QML API is being reviewed.  This file documents the changes.
Note that the changes are incremental, so a rename A->B for example may be followed
by another subsequent rename B->C, if later reviews override earlier reviews.

API Changes
===========

Renamed Elements:
LineEdit         -> TextInput
VerticalLayout   -> Column
HorizontalLayout -> Row
VerticalPositioner -> Column
HorizontalPositioner -> Row
GridLayout       -> Grid
GridPositioner   -> Grid
Rect             -> Rectangle
FocusRealm       -> FocusScope
FontFamily       -> FontLoader
Palette          -> SystemPalette
Bind             -> Binding
SetProperties    -> PropertyChanges
RunScript        -> StateChangeScript
SetAnchors       -> AnchorChanges
SetPropertyAction  -> PropertyAction
RunScriptAction    -> ScriptAction
ParentChangeAction -> ParentAction
VisualModel        -> VisualDataModel
Follow             -> SpringFollow

Renamed properties:
Item: contents         -> childrenRect
MouseRegion: xmin      -> minimumX
MouseRegion: xmax      -> maximumX
MouseRegion: ymin      -> minimumY
MouseRegion: ymin      -> maximumY
Text elements: hAlign  -> horizontalAlignment
Text elements: vAlign  -> verticalAlignment
Text elements: highlightColor -> selectionColor
Text elements: highlightedTextColor -> selectedTextColor
Text elements: preserveSelection -> persistentSelection
State: operations      -> changes
Transition: operations -> animations
Transition: fromState  -> from
Transition: toState    -> to
Follow: followValue    -> value
Flickable: xPosition   -> viewportX
Flickable: yPosition   -> viewportY
Flickable: xVelocity   -> horizontalVelocity
Flickable: yVelocity   -> verticalVelocity
Flickable: velocityDecay -> reportedVelocitySmoothing
Flickable: locked      -> interactive (note reversal of meaning)
Flickable: pageXPosition -> visibleArea.xPosition
Flickable: pageYPosition -> visibleArea.yPosition
Flickable: pageWidth    -> visibleArea.widthRatio
Flickable: pageHeight   -> visibleArea.heightRatio
WebView: idealWidth    -> preferredWidth
WebView: idealHeight   -> preferredHeight
WebView: status        -> statusText
WebView: mouseX        -> clickX (parameter to onDoubleClick)
WebView: mouseY        -> clickY (parameter to onDoubleClick)
WebView: cacheSize     -> pixelCacheSize
Repeater: component    -> delegate
Repeater: dataSource   -> model
ListView: current      -> currentItem
GridView: current      -> currentItem
ListView: wrap         -> keyNavigationWraps
ListView: autoHighlight -> highlightFollowsCurrentItem
GridView: wrap         -> keyNavigationWraps
GridView: autoHighlight -> highlightFollowsCurrentItem
Animation: targets -> matchTargets
Animation: properties -> matchProperties

Additions:
MouseRegion: add "acceptedButtons" property
MouseRegion: add "hoverEnabled" property
MouseRegion: add "pressedButtons" property
Timer: add start() and stop() slots
WebView: add newWindowComponent and newWindowParent properties
Loader: add status() and progress() properties
Loader: add sourceComponent property
Loader: add resizeMode property
ListView: preferredHighlightBegin, preferredHighlightEnd
ListView: strictlyEnforceHighlightRange
Particles: Added emissionRate, emissionVariance and burst()

Deletions:
Column/VerticalPositioner: lost "margins" property
Row/HorizontalPositioner: lost "margins" property
Grid/Positioner/Layout: lost "margins" property
WebView: lost "interactive" property (always true now)
Flickable: removed "dragMode" property
ComponentInstance: removed.  Replaced by Loader.sourceComponent
ListView: removed currentItemMode.  Replaced by highligh range.
ListView: removed snapPos.
Particles: removed streamIn. Replaced by emissionRate

Other Changes:
ids must be lowercase: Text { id: foo }, not Text { id: Foo }
Drag: axis becomes an enum with values "XAxis", "YAxis", "XandYAxis"
Image: scaleGrid property removed. New item called BorderImage instead.
KeyActions: changed to a Keys attached property on any item.
KeyProxy: changed to a Keys.forwardTo property on any item.
Script: now an intrinsic type in the language
 - cannot be assigned to properties
 - good: Item { Script { ... } }
 - bad:  Item { resources: Script { ... } }
Script: delay-loaded of the QML file until their source has been loaded (this only effects QML files loaded across the network.)
Scope: declared properties shadow a property of the same name (was previously the reverse)
ScriptAction and StateChangeScript: the script property now takes script rather than a string containing script (script: doSomething() rather than script: "doSomething()")
QmlGraphicsItem::transformOrigin default changed from TopLeft to Center
Animations used as PropertySourceValues are set to 'running: true' as default