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-tools
1.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
outputType
in project files (acbcee3) - Update project and config files (85ff816)
- Update
GLHelper.h
includes on Android (2b143eb) - Simplify Android runtime version check (#1480)
- Update macros and uxl files (#1491)
Experimental.TextureLoader
- Remove legacy
Experimental.TextureLoader
library (#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.CIL
to .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
NativePromise
withoutContext
(#1467) - Remove obsolete methods (#1492)
Fuse.Scripting.IThreadWorker.Invoke(Uno.Action action)
Fuse.Scripting.Context.Invoke(Uno.Action action)
Fuse.Scripting.ModuleResult.Object
Fuse.Scripting.ModuleResult.Exports
Fuse.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
arm
andarm64
architectures in lowercase (#468) - Use the new
HttpClient
class on .NET 6.0 (#467) - Export API to run
uno
from JavaScript/TypeScript (#469) - Replace
System.Drawing
on macOS and Linux (#470) - Hide output from external image converters (#480)
- Make sure the
uno
command is executable (#481) - Swallow
InvalidOperationException
inKillTree()
(#484) - Rename manifest file in libraries (#495)
- Remove framework directory from output path (#501)
- Various tweaks and improvements (#490, #493, #496)
unoconfig
- Remove
isRoot
andskipIfRoot
properties (#451) - Rename
packages
->searchPaths
properties (#453) - Rename
packages.default
->references.default
(#464)
unoproj
- Rename
packages
->references
(#454) - Accept
lowerCamelCase
property names (#466) - Update unoproj and unoconfig files (#474)
- Add
outputType
property (#483) - Add
outputType.appTest
option (#494)
uxl
Android
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
GRADLE
andUNO_TEST
defines (#455) - Define
TEST
when running tests (#463) - Require XML attribute values to be quoted (#465)
- Return "if-test and throw" when compiling
assert
statements (#477) - Remove a temp hack and some old TODOs (#485)
- Build console apps with
Main()
entrypoints (#489) - Accept
ForeignInclude
attributes 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_UNSAFE
is 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
--clean
parameter (#512)
Disassembler
UnoCore
- Remove legacy
Uno.Buffer
class (#441) - Remove legacy
Uno.Diagnostics.Debug
class (#442) - Publish
FuseOpen.UnoCore
package on NuGet (#460) - Use
params
in Foreign attributes (#491)
Uno.Graphics.Utils
- Remove reference to
Experimental.TextureLoader
(#444)
Uno.Permissions
- Remove legacy
Uno.Permissions
library (#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
outputType
in project files (acbcee3) - Update project and config files (85ff816)
- Update
GLHelper.h
includes on Android (2b143eb) - Simplify Android runtime version check (#1480)
Experimental.TextureLoader
- Remove legacy
Experimental.TextureLoader
library (#1458)
Fuse.Controls.Video
- Upgrade
Fuse.Video.CIL
to .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
NativePromise
withoutContext
(#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
arm
andarm64
architectures in lowercase (#468) - Use the new
HttpClient
class on .NET 6.0 (#467) - Export API to run
uno
from JavaScript/TypeScript (#469) - Replace
System.Drawing
on macOS and Linux (#470) - Hide output from external image converters (#480)
- Make sure the
uno
command is executable (#481) - Swallow
InvalidOperationException
inKillTree()
(#484) - Rename manifest file in libraries (#495)
- Remove framework directory from output path (#501)
- Various tweaks and improvements (#490, #493, #496)
unoconfig
- Remove
isRoot
andskipIfRoot
properties (#451) - Rename
packages
->searchPaths
properties (#453) - Rename
packages.default
->references.default
(#464)
unoproj
- Rename
packages
->references
(#454) - Accept
lowerCamelCase
property names (#466) - Update unoproj and unoconfig files (#474)
- Add
outputType
property (#483) - Add
outputType.appTest
option (#494)
Android
- Make
arm64
default 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
GRADLE
andUNO_TEST
defines (#455) - Define
TEST
when running tests (#463) - Require XML attribute values to be quoted (#465)
- Return "if-test and throw" when compiling
assert
statements (#477) - Remove a temp hack and some old TODOs (#485)
- Build console apps with
Main()
entrypoints (#489) - Accept
ForeignInclude
attributes 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_UNSAFE
is 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
--clean
parameter (#512)
Disassembler
UnoCore
- Remove legacy
Uno.Buffer
class (#441) - Remove legacy
Uno.Diagnostics.Debug
class (#442) - Publish
FuseOpen.UnoCore
package on NuGet (#460) - Use
params
in Foreign attributes (#491)
Uno.Graphics.Utils
- Remove reference to
Experimental.TextureLoader
(#444)
Uno.Permissions
- Remove legacy
Uno.Permissions
library (#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.