Already have an account? Log in
Released one year ago
Please remember to
after upgrading Fuse.
ux:InnerClassintroduced to make it even easier to split up code with
And much much more! Read on for details...
WebViewUrl could only be set via observable strings (!)
Observableimplementation that caused some subscribers to receive outdated update messages.
MapViewdo not display text labels.
MapViewisn't correctly set on first load.
This release introduces the new cross platform control
Fuse.Controls.MapView in the
Fuse.Maps package. See the handbook for more information.
This is still fresh out of the oven so let us know if you run into any issues!
The team has been chipping away at that "coming soon"-list and for several features it turns out that "soon" has become "now"!
See the handbook for more details about these features.
Files included in your project file with the
readSync() methods in the new module
In Uno, the old
Uno.BundleFile API has been replaced by the new
Uno.IO.BundleFile APIs. The new APIs supports useful stuff such as listing the bundled files and observing them for changes (in the case of preview).
Pageis no longer a special case for animation. Every child is equal in the eyes of
PageControl.InactiveStateto control the visibility/enabled status of inactive pages. By default they will now be collapse and disabled for efficiency reasons. To get the old visible/enabled behaviour set
PageControl.Interactionto control default navigation behavior. See the PageControl docs for details.
NativeWithFallback theme is now only available if you include the
Fuse.BasicTheme package (it's what implements the fallback).
AlternateRoot was added to allow adding nodes to a parent other than where they currently are in the UX tree
You can now create
ux:Global objects of value types, such as
float4. This is convenient e.g. for creating global color constants.
Added support for
ux:InnerClass, which is a class that has access to named UX objects in its scope. Specifically, the differences are:
ux:Class Declares a global class that can be used anywhere. Such classes have no access to ux:Names the scope in which they are declared. ux:InnerClass Declares a class that can only be used in the scope where it is declared. In return, it has full access to all ux:Names in the scope it is declared. Inner classes can be extracted into separate .ux files, and then included using <ux:Include File="Foo.ux"> in the scope you want to use it. Inner classes can not specify namespaces, they will implicitly be in the name scope of their containing class. If root nodes are marked ux:InnerClass, they are ignored by the UX compiler unless ux:Included somewhere.
It is an error to have two elements with the same
ux:Name within the same scope.
TextControl, should not have any child nodes. This is being deprecated and the ability will be removed. It can only be partially enforced at the UX level (unfortunately with a not-so-clean error message for now). These nodes need to be leaf nodes for optimization reasons.
A common previous scenario might have been to add a
Rectangle to a
<Text Alignment="Center" Padding="5"> <Rectangle Layer="Background" Color="0,1,1,1"/> </Text>
This should now be done using a wrapping
<Panel Alignment="Center"> <Text Alignment="Center" Padding="5"/> <Rectangle Layer="Background" Color="0,1,1,1"/> </Panel>
Shapes (Circle, Ellipse, Rectangle, Star, RegularPolygon, Path) are no longer implemented with visual children in Graphics mode. They are directly drawn in the semantic control type. This will not likely affect any user code.
Node.InvalidateVisualis no longer
virtual, override the
OnInvalidateVisualfunction instead. This gives Node better control over when it is called, and how to invalidate
Node.IsVisualInvalidhas been removed as the invalidation system is active (at time of invalidation), thus nothing should (or did) check that flag
Changes in base libraries (uno-base)
- `Xli/Foo.h` -> `uBase/Foo.h` - `Xli::Foo` -> `uBase::Foo` - ...
Ask us on the community slack in the #uno channel if you run into any problems.
Xcode.Frameworks that have file extensions now do not get an additional