Latest release
Download links
- macOS installer (.dmg) - 9.8 MB
- Windows installer (.exe) - 7.4 MB
- Android preview app (.apk) - 24.7 MB
Read the installation guide
Changes since v2.9.0
Windows
- Removed Git for Windows installer (no longer needed since
android-build-tools1.10)
Changes since v2.8.0
macOS
- New launcher and uri-handler app installed in
/Applications/ - Make menu bar icon smaller
Windows
- Sign executables and the installer using a Verified Publisher (EV certificate)
Fuselibs 2.9.2
Click to see the full changelog
Fuse.Maps
com.google.android.gms:play-services-maps-> 17.0.0 (#1494)
This is the minimum version required to be published on Google Play.
Fuse.PushNotifications
- Remove AD_ID permission on Android (#1482)
Fuse.LocalNotifications
Fuse.PushNotifications
Uno 2.9.3
Latest beta
Download links
- macOS installer (.dmg) - 69.2 MB
- Windows installer (.exe) - 17.3 MB
- Android preview app (.apk) - 24.7 MB
Read the installation guide
Changes since v2.9.1
- Ported to .NET 6.0 – Mono Runtime no longer needed
Please report issues here
Fuselibs 3.0.0-beta.9
Click to see the full changelog
Common
- Add
outputTypein project files (acbcee3) - Update project and config files (85ff816)
- Update
GLHelper.hincludes on Android (2b143eb) - Simplify Android runtime version check (#1480)
- Update macros and uxl files (#1491)
Experimental.TextureLoader
- Remove legacy
Experimental.TextureLoaderlibrary (#1458)
Fuse.Camera
- Update permissions for Android 13 (#1487)
Fuse.Common
- Remove obsolete methods and enum value (#1492)
Fuse.Json.Escape(string s)Fuse.Json.Escape(string s, StringBuilder sb)Fuse.SystemFont.Weight.SemiBold
Fuse.Controls.Video
- Upgrade
Fuse.Video.CILto .NET 6.0 (#1475)
Fuse.Drawing.Surface
- Update assembly references for .NET 6.0 (#1476)
Fuse.LocalNotifications
- Fix compatibility with the latest Android OS and indentation (#1473)
Fuse.Nodes
- Remove obsolete methods (#1492)
Fuse.VisualBounds.Transform(float4x4 matrix)Fuse.VisualBounds.TransformFlatten(float4x4 matrix)Fuse.VisualBounds.BoxTransform(Box box, float4x4 transform)
Fuse.Scripting
- Deprecate
NativePromisewithoutContext(#1467) - Remove obsolete methods (#1492)
Fuse.Scripting.IThreadWorker.Invoke(Uno.Action action)Fuse.Scripting.Context.Invoke(Uno.Action action)Fuse.Scripting.ModuleResult.ObjectFuse.Scripting.ModuleResult.ExportsFuse.Scripting.NativeEvent.RaiseAsync(params object[] args)Fuse.Scripting.Object.InstanceOf(Function type)Fuse.Scripting.Object.CallMethod(string name, params object[] args)Fuse.Scripting.Function.Call(params object[] args)Fuse.Scripting.Function.Construct(params object[] args)
Fuse.Scripting.JavaScript
Other changes
Uno 3.0.0-beta.10
Click to see the full changelog
Architecture
- Port codebase to .NET 6.0 and Visual Studio 2022 (#424)
- Update default output directory (#435)
- Update packaging for .NET 6.0 (#436)
- Remove version directory inside built libraries (#437, #515)
- Update terminology on library vs. package (#440, #502)
- Print
armandarm64architectures in lowercase (#468) - Use the new
HttpClientclass on .NET 6.0 (#467) - Export API to run
unofrom JavaScript/TypeScript (#469) - Replace
System.Drawingon macOS and Linux (#470) - Hide output from external image converters (#480)
- Make sure the
unocommand is executable (#481) - Swallow
InvalidOperationExceptioninKillTree()(#484) - Rename manifest file in libraries (#495)
- Remove framework directory from output path (#501)
- Various tweaks and improvements (#490, #493, #496)
unoconfig
- Remove
isRootandskipIfRootproperties (#451) - Rename
packages->searchPathsproperties (#453) - Rename
packages.default->references.default(#464)
unoproj
- Rename
packages->references(#454) - Accept
lowerCamelCaseproperty names (#466) - Update unoproj and unoconfig files (#474)
- Add
outputTypeproperty (#483) - Add
outputType.appTestoption (#494)
uxl
Android
iOS
- Make iOS 11 the default deployment target (#476)
macOS
- Use
Microsoft.macOS.SDKin app loader (#438) - Remove macOS binaries from package (#439)
- Get macOS app loader from NuGet (#450)
- Remove
xamarin-macdependency (#479) - Use
xcode-devteamsfor information (#511) - Fix native library loading on .NET 6.0 (#513)
Compiler
- Remove
GRADLEandUNO_TESTdefines (#455) - Define
TESTwhen running tests (#463) - Require XML attribute values to be quoted (#465)
- Return "if-test and throw" when compiling
assertstatements (#477) - Remove a temp hack and some old TODOs (#485)
- Build console apps with
Main()entrypoints (#489) - Accept
ForeignIncludeattributes on methods (#491) - Accept array arguments in attributes (#491)
- Refactor build queue classes (#497, #503, #509)
- Lazy compilation for .NET targets (opt-in) (#487)
C++ backend
- Use a comparer when sorting in
IncludeResolver(#461) - Fix Android compile errors on macOS (#478)
- Move Android C++ files to
uDroid/(#456) - Move platform-related code to
uPlatform/(#457) - Add back deprecated header on Android (#462)
- Verify v-tables when
DEBUG_UNSAFEis defined (#488) - Reorganize source files (#492)
UX compiler
- Transpile TypeScript and JavaScript code in UX files (#482)
Test runner
- Use console app loader on .NET by default (#486)
- Use more newlines in the log output (#498)
- Don't print stats with
--build-only(#510) - Add
--cleanparameter (#512)
Disassembler
UnoCore
- Remove legacy
Uno.Bufferclass (#441) - Remove legacy
Uno.Diagnostics.Debugclass (#442) - Publish
FuseOpen.UnoCorepackage on NuGet (#460) - Use
paramsin Foreign attributes (#491)
Uno.Graphics.Utils
- Remove reference to
Experimental.TextureLoader(#444)
Uno.Permissions
- Remove legacy
Uno.Permissionslibrary (#443)
Other changes
- Kill tests after 15 minutes on CI (#521)
Latest SDK
Install
npm install fuse-sdk@2.9.1
Changes since v2.8.0
Fuselibs 2.9.2
Click to see the full changelog
Fuse.Maps
com.google.android.gms:play-services-maps-> 17.0.0 (#1494)
This is the minimum version required to be published on Google Play.
Fuse.PushNotifications
- Remove AD_ID permission on Android (#1482)
Fuse.LocalNotifications
Fuse.PushNotifications
Uno 2.9.3
Install
npm install fuse-sdk@3.0.0-beta.4
Changes since v2.9.0
- Ported to .NET 6.0 – Mono Runtime no longer needed
Fuselibs 3.0.0-beta.8
Click to see the full changelog
Common
- Add
outputTypein project files (acbcee3) - Update project and config files (85ff816)
- Update
GLHelper.hincludes on Android (2b143eb) - Simplify Android runtime version check (#1480)
Experimental.TextureLoader
- Remove legacy
Experimental.TextureLoaderlibrary (#1458)
Fuse.Controls.Video
- Upgrade
Fuse.Video.CILto .NET 6.0 (#1475)
Fuse.Drawing.Surface
- Update assembly references for .NET 6.0 (#1476)
Fuse.LocalNotifications
- Fix compatibility with the latest Android OS and indentation (#1473)
Fuse.Scripting
- Deprecate
NativePromisewithoutContext(#1467)
Fuse.Scripting.JavaScript
Other changes
Uno 3.0.0-beta.9
Click to see the full changelog
Architecture
- Port codebase to .NET 6.0 and Visual Studio 2022 (#424)
- Update default output directory (#435)
- Update packaging for .NET 6.0 (#436)
- Remove version directory inside built libraries (#437)
- Update terminology on library vs. package (#440, #502)
- Print
armandarm64architectures in lowercase (#468) - Use the new
HttpClientclass on .NET 6.0 (#467) - Export API to run
unofrom JavaScript/TypeScript (#469) - Replace
System.Drawingon macOS and Linux (#470) - Hide output from external image converters (#480)
- Make sure the
unocommand is executable (#481) - Swallow
InvalidOperationExceptioninKillTree()(#484) - Rename manifest file in libraries (#495)
- Remove framework directory from output path (#501)
- Various tweaks and improvements (#490, #493, #496)
unoconfig
- Remove
isRootandskipIfRootproperties (#451) - Rename
packages->searchPathsproperties (#453) - Rename
packages.default->references.default(#464)
unoproj
- Rename
packages->references(#454) - Accept
lowerCamelCaseproperty names (#466) - Update unoproj and unoconfig files (#474)
- Add
outputTypeproperty (#483) - Add
outputType.appTestoption (#494)
Android
- Make
arm64default for debug builds (#475)
iOS
- Make iOS 11 the default deployment target (#476)
macOS
- Use Microsoft.macOS.SDK in app loader (#438)
- Remove macOS binaries from package (#439)
- Get macOS app loader from NuGet (#450)
- Remove xamarin-mac dependency (#479)
- Use xcode-devteams for information (#511)
- Fix native library loading on .NET 6.0 (#513)
Compiler
- Remove
GRADLEandUNO_TESTdefines (#455) - Define
TESTwhen running tests (#463) - Require XML attribute values to be quoted (#465)
- Return "if-test and throw" when compiling
assertstatements (#477) - Remove a temp hack and some old TODOs (#485)
- Build console apps with
Main()entrypoints (#489) - Accept
ForeignIncludeattributes on methods (#491) - Accept array arguments in attributes (#491)
- Refactor build queue classes (#497, #503, #509)
- Lazy compilation for .NET targets (opt-in) (#487)
C++ backend
- Use a comparer when sorting in
IncludeResolver(#461) - Fix Android compile errors on macOS (#478)
- Move Android C++ files to
uDroid/(#456) - Move platform-related code to
uPlatform/(#457) - Add back deprecated header on Android (#462)
- Verify v-tables when
DEBUG_UNSAFEis defined (#488) - Reorganize source files (#492)
UX compiler
- Transpile TypeScript and JavaScript code in UX files (#482)
Test runner
- Use console app loader on .NET by default (#486)
- Use more newlines in the log output (#498)
- Don't print stats with
--build-only(#510) - Add
--cleanparameter (#512)
Disassembler
UnoCore
- Remove legacy
Uno.Bufferclass (#441) - Remove legacy
Uno.Diagnostics.Debugclass (#442) - Publish
FuseOpen.UnoCorepackage on NuGet (#460) - Use
paramsin Foreign attributes (#491)
Uno.Graphics.Utils
- Remove reference to
Experimental.TextureLoader(#444)
Uno.Permissions
- Remove legacy
Uno.Permissionslibrary (#443)
Source code
The Fuse Open project maintains open source components for building high quality apps (MIT license).
The components are bundled together in Fuse SDK and can be installed via npm i fuse-sdk, or separately if desired.
- Uno: A programming language (and a compiler), which is a dialect of C#. Unlike the traditional C# development tools, Uno generates C++ code that can be compiled with the normal native development tools (Android Studio and Xcode).
- UX: An XML-based declarative UI language. This is implemented in the Uno compiler.
- Fuselibs: An application framework written in Uno, that implements the core of the Fuse development platform. The Fuselibs components are intended to be used from UX. Fuselibs depends on the Uno compiler.
The source code is available for contributors.
Please contact us for details.
Translations
The application is currently available in English, French and Korean.
You are welcome to add your own language or help us fix mistakes if you want to.
Please open an issue if you have any questions.