0.8.2
This release fixes issues with building for Android and iOS.
0.8.1
This is mainly a bugfix release, please see the release notes for 0.8.0 below for more details about the 0.8 release.
In this release we have fixed the bug where you didn’t get selection cues, and the inspector didn’t work. We have also introduced new buttons on the dashboard to open the monitor and the inspector.
0.8.0
Fuse
New features
- Fuse Inspector, allowing you to tweak values without refreshing the whole app
- Fuse Monitor, a common place to find all run-time output from preview
- On OSX we have also introduced an experimental Sketch importer for Fuse
Fixes and improvements
- Better defaults for OSX dashboard project creation
- “Open project” button in dashboard
- Fuse update notifications
Fuselibs
X,Y, Offset
-
Elementgains anX, andYproperty which replace the oldOffsetproperty. IfXis specified it sets the default horizontal alignment to Left and then offsets from that alignment. IfYis specified it sets the default vertical alignment to Left and then offsets from that alignment. - The
Offsetproperty still offets but no longer modifies the alignment, thus stretching can still be used. To migrate either replaceOffsetwithXandYor setAlignment="TopLeft".
Grid Columns and Rows
- Renamed properties on Grid and GridLayout:
ColumnData->ColumnsandRowData->Rows. The oldRowsandColumns(which are only used in Uno code) are now calledRowListandColumnListrespectively.
To migrate, change:
<Grid RowData="1,2" ColumnData="100px,auto">
To:
<Grid Rows="1,2" Columns="100px,auto">
Native
- An
<App>without a theme tag implied aBasictheme previous, but now it implies an “empty” theme. AddTheme="Basic"to your App, and include theFuse.BasicThemepackage in your project to get the basic theme. -
Fuse.Elements.ImageElementremoved. Use the high-levelImageto wrap native/graphics images. - The hit test for
Imageis now strictly within the visible image, not the empty area in the control, in cases where the image does not fill the control entirely -
Fuse.Shapesis no longer part of the standard namespaces.CircleandRectangleare now controls in Fuse.Controls. -
WhileSlidinghas been replaced with the more genericWhileInteracting -
ScrollViewerrenamedScrollView. -
ScrollView.Behaviorremoved. You can use theKeepFocusInViewandUserScrollproperties directly. If you need a scroll view that doesn’t have standard behaviour you’ll have to create a style that doesn’t add that behavior. -
IScrollablehas been removed. AScrollermust be rooted inside aScrollView. -
BasicThemeButtonno longer sets the style of all text contained within, only theButtonTexthas a style now. If you were usingTextinside a button you can useButtonTextinstead. - Many of the basic controls are now derived from
Panel, making it even more important you never style panel. If you need a custom panel type then create one with<Panel ux:Class="MyPanel"/>and apply a style to that panel. -
Node.LayoutRolemade a style property ofLayoutsince that is the only node in which it applies (used by Layout) -
Fuse.LayoutRolemoved toFuse.Layouts.LayoutRole -
Control.VisualTreehas been removed. Several controls, likeScrollViewderive now fromContentControlwhich exposesContent. This likely doesn’t require any code change, but if you were usingVisualTreein a custom control, you must now useContentControland theContentproperty. -
Control.Overlayshas been removed. You can useLayer="Overlay"on a panel instead now (from which most controls are derived). A few controls, likeScrollViewno longer have multiple children, and thus must be placed inside aPanelif you need an overlay or background. -
Control.OnHitTestControlChildrenhas been removed, just useOnHitTestChildren
BottomBarBackground and StatusBarBackground renamed
BottomBarBackground and StatusBarBackground are now remove in favour of the more consistantly named BottomFrameBackground and TopFrameBackground. These have been available in uno for a while so if you are already using them then you dont have to worry.
API for both are exactly the same as before.
HitTest
- If you override a
HitTest...function you must override the matchingHitTest...Boundsfunction and produce an appropriate bounds, otherwise hit test clipping will prevent the node from getting events. -
IViewport.PixelToWorldRayis replaced withIViewport.PointToWorldRaysince point space is more common. Divide byPointDensityto calculate in pixel space (not valid in all situations). - Hit test clipping is now based on
HitTestBoundsand not theRenderBoundsof controls. If you have a custom control that doesn’t seem to get messages add a customHitTestLocalBoundsdefinition. Standard controls should all respond correctly.
FuseJS
- Added NativEvent to be able to call events from Uno.
- Storage: Added deleteSync, writeSync and readSync.
- Fetch and FetchJson is deprecated, use the browser based fetch (lowercase f) API instead.
- Added optional parameter to NativeEvent to decide if events should be queued before the handler is set
- Added localStorage web api shim
- Added setInterval