Releases: fuse-open/uno
Uno 1.14.0
Changes since v1.13.2
Android
- Added dynamic delivery options (#252).
- Added Android Go support (#255).
- Switched to Android X libraries (#254).
- Build Android AAR libraries (#258).
- Merged namespace
com.Bindings
intocom.foreign
(#264). - Dropped legacy Java code (#263).
- Added generated Proguard file for optimizations (#266).
iOS
- Added
arm64e
dependencies (#270). - Fixed compile-time warnings (#271).
- Upgraded Xcode project format (#271).
.NET
- Build .NET library without AppLoader when
-DLIBRARY
(#277).
Compiler
- Fixed bug with
abstract extern
members (#273). - Dropped legacy importer system (#272).
- Auto-detect main-class when building a library.
Standard library
- Fixed bug with UTF8 BOM in
Uno.IO.BundleFile
(#251). - Dropped legacy code (#259).
GL.BufferData(GLBufferTarget target, int sizeInBytes, GLBufferUsage usage)
GL.BufferData(GLBufferTarget target, byte[] data, GLBufferUsage usage)
GL.BufferData(GLBufferTarget target, Buffer data, GLBufferUsage usage)
GL.BufferSubData(GLBufferTarget target, int offset, byte[] data)
GL.BufferSubData(GLBufferTarget target, int offset, Buffer data)
GL.TexImage2D(GLTextureTarget target, int level, GLPixelFormat internalFormat, int width, int height, int border, GLPixelFormat format, GLPixelType type, byte[] data)
GL.TexImage2D(GLTextureTarget target, int level, GLPixelFormat internalFormat, int width, int height, int border, GLPixelFormat format, GLPixelType type, Buffer data)
GL.TexSubImage2D(GLTextureTarget target, int level, int xoffset, int yoffset, int width, int height, GLPixelFormat format, GLPixelType type, byte[] data)
Uno.Compiler.Ast.Block
Uno.Compiler.ExportTargetInterop.DontCopyStruct
Uno.Compiler.ExportTargetInterop.ExportConditionAttribute
Uno.Compiler.ExportTargetInterop.ExportNameAttribute
Uno.Compiler.ExportTargetInterop.Foreign.ForeignDataView.ForeignDataView(Uno.Buffer buffer)
Uno.Compiler.ExportTargetInterop.Foreign.ForeignDataView.Create(Uno.Buffer unoBuffer)
Uno.Compiler.ImportServices.BlockFactory
Uno.Compiler.ImportServices.BlockFactoryContext
Uno.Compiler.ImportServices.FilenameAttribute
Uno.Compiler.ImportServices.Importer
Uno.Compiler.ImportServices.ImporterContext
Uno.Diagnostics.AllocateEvent
Uno.Diagnostics.Debug.Undefined
Uno.Diagnostics.Debug.Alert(string message, string caption, DebugMessageType type)
Uno.Diagnostics.Debug.Alert(string message)
Uno.Diagnostics.Debug.Confirm(string message, string caption, DebugMessageType type)
Uno.Diagnostics.Debug.Confirm(string message)
Uno.Diagnostics.EnterEvent
Uno.Diagnostics.EventType
Uno.Diagnostics.ExitEvent
Uno.Diagnostics.FreeEvent
Uno.Diagnostics.Profile
Uno.Diagnostics.ProfileData
Uno.Diagnostics.ProfileEvent
Uno.Diagnostics.ProfileSerializer
Uno.FakeTime
Uno.Float.ZeroTolerance
Uno.Graphics.DeviceBuffer.Update(Buffer data)
Uno.Graphics.Framebuffer.SupportsMipmap
Uno.Graphics.IndexBuffer.IndexBuffer(Buffer data, BufferUsage usage)
Uno.Graphics.Texture2D.Load(BundleFile file)
Uno.Graphics.Texture2D.Load(string filename)
Uno.Graphics.Texture2D.Load(string filename, byte[] bytes)
Uno.Graphics.Texture2D.Update(Buffer mip0)
Uno.Graphics.Texture2D.Update(int firstMip, params Buffer[] mips)
Uno.Graphics.Texture2D.SupportsMipmap
Uno.Graphics.TextureCube.Load(BundleFile file)
Uno.Graphics.TextureCube.Load(string filename)
Uno.Graphics.TextureCube.Load(string filename, byte[] bytes)
Uno.Graphics.TextureCube.Update(Buffer mip0)
Uno.Graphics.TextureCube.Update(int firstMip, params Buffer[] mips)
Uno.Graphics.TextureCube.SupportsMipmap
Uno.Graphics.VertexBuffer.VertexBuffer(Buffer data, BufferUsage usage)
Uno.Graphics.VideoTexture.SupportsMipmap
Uno.IO.BundleFileImporter
Uno.IO.TextWriter.InitialNewLine
Uno.Runtime.Implementation.BufferImpl
Uno.Runtime.Implementation.Internal.BufferConverters
Uno.Runtime.Implementation.Internal.BufferReader
- Extracted
Uno.Graphics.Utils
library fromUnoCore
(#269). - Clean-ups in
Uno.Platform
(#274).
Other improvements
Uno 1.13.2
Uno 1.13.1
Changes since v1.13.0
Android
In Android API 28, they changed the default value of android:usesCleartextTraffic
from true
to false
. This means that use of cleartext network traffic, such as cleartext HTTP, are now refused by default.
Because we upgraded to API 28 in Uno v1.13.0, some code that used to work before no longer work. To solve this, we introduced a new project property to control the value of android:usesCleartextTraffic
. You should try setting this to true
if you experience problems with HTTP requests after upgrading Fuse SDK/Uno.
Your *.unoproj
file:
"Android": {
"UsesCleartextTraffic": true
}
https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic
Uno 1.13.0
Changes since v1.12
Android
- Added support for CMake 3.10.2.4988404 (#219).
- Added support for Dark Theme (#236).
- Added support for Splash screen (#240).
- Added support for generating Android App Bundle on Release (#220).
- Fixed crash with
windowIsTranslucent
together withscreenOrientation=portrait
on Android 8 Oreo (#211). - Upgraded to Gradle 5.6, and Gradle-plugin 3.4.2 (#220).
- Upgraded build tools to version 28.0.3 (#220).
- Upgraded support libraries to version 28.0.0 (#220).
- Upgraded SDK compile and target versions to 28 (#220).
- Added the following build properties (#220).
Bundle
Bundle.BuildName
Bundle.Gradle.Task
- Renamed the following build properties (#220).
APK.Configuration -> Build.Configuration
- Set default versionCode to positive Integer (1) so
gradlew
command doesn't produce error when building using latest Gradle (#220).
iOS
- Support for iPhone XR Launch Image has been added. This can be customized using the
iOS.LaunchImages.iPhone_Portrait_iPhoneXr_2x
andiOS.LaunchImages.iPhone_Landscape_iPhoneXr_2x
project-setting (#225). - Support for iPhone XS Max Launch Image has been added. This can be customized using the
iOS.LaunchImages.iPhone_Portrait_iPhoneXsMax_3x
andiOS.LaunchImages.iPhone_Landscape_iPhoneXsMax_3x
project-setting (< 8000 a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="490709904" data-permission-text="Title is private" data-url="https://github.com/fuse-open/uno/issues/225" data-hovercard-type="pull_request" data-hovercard-url="/fuse-open/uno/pull/225/hovercard" href="https://github.com/fuse-open/uno/pull/225">#225). - Switched to user-installed
ios-deploy
, for iOS 13 support (#226). - Added Sign-in with Apple capability (#233).
C++ backend
- Optimized
char
andstring
classes, which gives less run-time overhead and faster code (#232). - Fixed a bug with
uMainLoop::OnClosing
related to overload resolving, and warnings (#202).
UX markup
- Added
ux:Simulate
attribute, to disable/enable the Fuse Studio simulator per UX class (#200).
Uno command
- Added
--build-only
switch foruno build
(#245). - Added
--libs
switch foruno config
(#244). - Added support for passing project files to
uno doctor
(#237). - Dropped legacy package manager commands (#148).
uno install
uno uninstall
uno feed
uno pack
uno push
uno stuff
Other improvements
- Automatically install Mono on macOS (#228).
- Detect required software and provide friendly hints on how to install missing software (#227, #243).
- Always run
cmake
andnode
from PATH, droppingTools.CMake
andTools.Node
properties in.unoconfig
(#243). - Fixed security warnings in JavaScript dependencies by upgrading to newest versions (#203, #204).
- Upgraded .NET dependencies to newest versions (#229).
- Various logging improvements and tweaks (#198, #242).
- Cleaned up config files (#230).
Uno 1.12.3
Changes since v1.12.2
In our previous patch release, --version
reports incorrect information and looks like a developer build, because we accidentally shipped the wrong build. This patch release reports correct version information.
Uno 1.12.2
Changes since v1.12.1
Android
- Restored running on network devices, and introduced
Android.IgnoreNetworkDevices
config property (#207). - Restored default ABI for debug builds to
armeabi-v 10000 7a
for better compatibility (#218). - Inform user about
--force
switch when installingandroid-build-tools
(#217).
macOS
- Disable some C++ warnings (regression after switching from Makefile to Xcode).
Other changes
- Automatically transpile TypeScript (
*.ts
) files.
Uno 1.12.1
Changes since v1.12.0
Android
- Fixed a regression causing error when building some projects on Windows.
Windows
- Set the right startup project in the generated Visual Studio solution.
Uno 1.12.0
Changes since v1.11
FuseJS
- Added support for TypeScript, and new JavaScript feature sets ES2016, ES2017 and ES2018.
Project Format
- Added the following properties:
Android.Architectures.Debug
(string array)Android.Architectures.Release
(string array)Android.AssociatedDomains
(string array)Android.Defines
(string array)iOS.Defines
(string array)DotNet.Defines
(string array)Native.Defines
(string array)Mac.Icon
(path to .ICNS)Windows.Icon
(path to .ICO)
- Removed the following properties:
HTML.Title
HTML.Favicon
Android
- Added support for App Links.
- Added support for targeting the following architectures (ABIs):
armeabi-v7a
arm64-v8a
x86
x86_64
- Added support for multi-architecture (fat) builds, by default building:
on Debug (changed toarm64-v8a
armeabi-v7a
in v1.12.2)armeabi-v7a
+arm64-v8a
on Release
- Added support for long filenames on Windows, and building of larger projects.
- Fixed launching Android Studio on Windows, when passing
--debug
. Don't try to launch apps on network devices, when passing(use--run
Android.IgnoreNetworkDevices
property introduced in v1.12.2).- Suggest installing
android-build-tools
using NPM when SDK/NDK can't be found. - Deprecated
@(ABI)
macro. Please use${ANDROID_ABI}
instead.
iOS
- Added support for Universal Links.
Linux
- Added support for building on Linux (x86_64). Tested on Ubuntu 18.04 and 16.04.
macOS
- Switched to generating Xcode projects when using the Native target. This gives slightly faster builds.
UnoCore
- Performance improvements in
String
andStringBuilder
classes. - Added the following new methods:
Uno.Graphics.DeviceBuffer.Update(Array data, int elementSize, int index, int count)
Uno.String.Join(string separator, params object[] value)
Uno.Text.Ascii.GetString(byte[] value, int index, int count)
Uno.Text.StringBuilder(string value)
Uno.Text.Utf8.GetString(byte[] value, int index, int count)
Other improvements
- Now slightly faster subsequental builds when using the C++ backend.
- Don't show app window when running tests using
uno test
. - Added
--only-build
option foruno test
. - Search for projects directly under
Packages.SourcePaths
inuno doctor
. - Fixed a problem when exporting documentation files.
- Fixed newlines in output when exporting documentation from Windows.
- Fixed several warnings.
- Removed the
uno stuff
command. - Removed the
-DHEADLESS
flag.
See also v1.11.1...v1.12.0.
Uno 1.11.1
Changes since v1.11.0
Dependencies
- Fixed issues when downloading dependencies from files.fusetools.com. The dependencies are now moved to nuget.org.
Uno 1.11.0
Changes since v1.10
Distribution
- Switched to NPM for distribution and standalone installation of
uno
. Previously we had to install the complete Fuse Studio to get this component. - Automatically load
.unoconfig
files found innode_modules
, so we can now use NPM to conveniently install any Uno or Fuse component. - Added the android-build-tools package on NPM that automatically sets up Android SDK and NDK components, similar to the
fuse install android
functionality found in Fuse Studio.
Android build target
- Added support for both landscape modes when setting Landscape in the project file.
- Fixed a problem that happens sometimes when downloading packages during Gradle build.
Uno compiler
- Added a
metadata
build target that can produce metadata for code-completion plugins. - Fixed a bug where the visibility of generic argument types were not validated correctly.
See also the full list of changes.