Added setSelected() to UIElement. Visually it is the same as hover.
Added onKey() to UIElement.
Added cursor movement by arrows or mouse click and DEL key support to LineEdit.
Added possibility to query each char position from Text.
Script code cleanup.
Fixed particle emitter network update.
Completely removed garbage collection support from CScriptArray.
Garbage collection will first detect garbage using one step, then destroy garbage fully.
Fixed enemy ninjas' initial heading.
Added parameter passing to the script example batch files.
Added a profiling block to C++ NinjaSnowWar gameobject update, to be able to compare between C++ & script.
Disabled garbage collection from CScriptArray again because of some very odd "objects not getting deleted" bugs.
Unprepare script contexts before garbage collection.
Changed ScriptInstance to hold a weak pointer to the ScriptFile to avoid circular references.
Fixed missing RigidBody pointers in entity collision event.
More objects for scripted NinjaSnowWar.
Added possibility to throw an exception without logging an error.
Added function to retrieve the last log message.
Added check for ScriptFile loading successfully in the Urho3D Shell.
Various script API fixes. CScriptArray is again garbage collected.
More file & ProcessUtils functions exposed to script.
More random functions exposed to script.
VolumeNode & GeometryNode exposed to script.
Fixed EVENT_TEXTFINISHED being sent for every change in LineEdit.
Added possibility to specify less than fully opaque colors for UI elements, instead of having to use the opacity property, which is always inherited.
Added variant userdata to UI elements.
Added defocusable flag to LineEdit. This makes it possible to disable the default ESC-defocusing.
Added debug console, which prints log output, and executes AngelScript from the input prompt.
Moved ScriptTest scene init & frame iteration fully to script.
Added optional retained mode script engine logging. This is used for collecting errors during script module compile.
Script context userdata is no longer used to identify the active ScriptInstance.
Removed ExecuteCache from ScriptInstance, as execute() should now be mostly unnecessary from script, and C++ code should perform its own method pointer caching in any case.
Removed the use of execute() from ScriptTest script code in favor of direct method calls.
Method pointer cache for ScriptInstance::execute().
Script interface additions & bugfixes.
Changed LineEdit & Text constructors to take the UI element name as the first argument.
Added getRootElement() to UIElement.
Cleaned up menu popup code.
To optimize UI rendering, only ScrollView & LineEdit clip child UI elements by default.