New in version 0.22.0

Please remember to uno clean your projects after upgrading Fuse.

Significant performance improvements in JavaScript data marshalling
  • Optimization: The JS/Uno interop layer has been rewritten to avoid thread sync when reading data from JS.
  • Optimization: The JavaScriptCore scripting implementation used on iOS has been rewritten to use the C interface instead of the Objective-C interface, which means that certain Uno-JS interoperations are much faster.
  • To allow important optimizations, exported JS data contexts containing reference loops are no longer supported and will generate a run-time error. This is unlikely to affect your app, but if it does and you are unable to migrate, please contact support and we'll help you out!
Disk space savings
  • Preview will now reuse build directories when possible.
  • The Observable.slice() method has been added, providing similar functionality for observable lists as its JavaScript Array equivalent.
  • Observable.setValueExclusive replaced with Observable.setValueWithOrigin. See docs for details.
Native shapes
  • You can now render more shapes with the native renderer within NativeViewHost. Support for Shape, Rectangle and Circle has been added.
Running on iOS devices
  • When building with uno build --target=ios --run, the uno command now stays open, printing any output from the app to stdout. Building for Android and iOS now behave identically. (Previously, uno would exit as soon as the app was deployed to the iOS device.)
  • Camera.takePicture now throws an exception if passed negative width or height.
Renaming inside RaiseUserEvent
  • RaiseUserEvent.Name renamed EventName to match OnUserEvent and avoid the Node.Name conflict
  • The crashes in MapView during preview refresh should now hopefully be gone. A huge Thank You goes out to Uldis and the others who helped out with testing and debugging!
  • Blur and Desaturate both triggered an issue in iPhone 6's OpenGL ES driver which caused transparent areas to become black. While others might have waited for driver fixes, we got someone clever to find an elegant workaround.
  • Data bindings now reset to the original value when the node is unrooted. Prevents flickering of old data during navigation in certain cases.
  • Multi-touch works on iOS again.
  • A bug where NativeViewHosts didn't always have a NativeViewParent has been fixed.
  • A bug where WebView.Eval silently dropped pending evaluations has been fixed.
  • Fixed an issue with "object reference is null", often seen while using the Router
  • Fixed a layout/hittest problem with the children of Viewport
  • Fixed an error that could occur from errors in the JavaScript thread during a refresh that could lead to the "Ooops!" screen being shown by mistake.
  • A warning about failed data-binding was removed, as it lead to spurious errors in valid use-cases.