Hello everyone!
Lime 8.0.0 and OpenFL 9.2.0 have now officially released on Github and will be submitted to Haxelib shortly!
Quite a lot has happened in the time since OpenFL 9.1.0 including a few shakeups such as leadership changes and a Lime domain move from lime.software
to lime.openfl.org. More importantly, we have some impressive stuff by the core team (like the new filesystem package by yours truly ). Also noteworthy is that both Josh Tynjala and I have now been added to the Haxelib contributors list which should allow us to improve the timeliness and execution of future releases.
I’m extremely excited about the new Lime and OpenFL and I want to share so much thanks to everyone who contributed during this release cycle. - plus a special thanks to @joshtynjala and @player_03 for putting in so much effort to get this one out.
This update contains a lot of fixes, improvements and other goodies, but I feel like we are just getting started - so look forward toward more exciting things to follow!
Changelog
OpenFL
- Added
openfl.text.StyleSheet
implementation forTextField
- Added
scaleMode
implementation toStage
- Added automatic scaling on HiDPI screens when
window.allow-high-dpi
enabled in project (use-Dopenfl-disable-hdpi
to restore old behavior) - Added
File
,FileStream
, andFileMode
in theopenfl.filesystem
package to read and write files on native platforms - Added
openfl.desktop.NativeProcess
to run executables on native platforms - Added
openfl.display.ChildAccess
abstract to simplify access to nested display objects - Added
openfl.net.IDynamicPropertyOutput
andopenfl.net.IDynamicPropertyWriter
interfaces - Added
openfl.net.Responder
,openfl.utils.Namespace
, andopenfl.utils.QName
classes - Added
isXMLName
,registerClassAlias
, andgetClassByAlias
static methods toopenfl.Lib
- Added
condenseWhite
property toTextField
forhtmlText
whitespace removal - Added
openfl.globalization.DateTimeFormatter
implementation for HTML5 and Flash (defaults to en_US on native platforms) - Added
some
andevery
methods toVector
- Added session cookie management for
URLLoader
on native platforms - Added Stage 3D to the DOM renderer on HTML5
- Added optional text measurement with DIV on HTML5 (use
-Dopenfl-measuretext-div
) - Added
fromBundle
static method toopenfl.utils.AssetLibrary
- Improved
TextField
DOM rendering and measurement on HTML5 - Improved
Font.enumerateFonts
to return device fonts, if specified - Improved visibility of focused
TextField
on mobile by specifying its global rectangle - Improved
restrict
parsing inTextField
when it contains multiple^
characters - Improved
<li>
element rendering inTextField
by adding line breaks and displaying bullets - Improved
htmlText
parsing inTextField
for HTML entity character codes like&
and€
- Improved positioning of underline in
TextField
- Improved
URLVariables
syntax compatibility with Flash by adding@:arrayAccess
- Improved implementation of
openfl.utils.Object
- Improved output file size when Lime sets disable_preloader_assets
- Improved
getMusic
method onAssets
to allow streaming Vorbis files on native platforms - Improved FLA library support by allowing
Sprite
to be used as linkage base class - Fixed rendering of UTF-8 characters on macOS
- Fixed the last line in a
TextField
getting cut off sometimes when auto-sized - Fixed inconsistent letter spacing in
TextField
- Fixed missing bold and italic variants in
TextField
on native platforms - Fixed missing
Event.OPEN
dispatch inLoader
andURLLoader
- Fixed missing bubbling of
TextEvent.LINK
- Fixed signature of
splice
method onVector
- Fixed missing dispatch of
FocusEvent.MOUSE_FOCUS_CHANGE
in some situations - Fixed rendering of
openfl.text.StaticText
Lime
- Updated HashLink to version 1.12
- Updated Android minimum SDK version to 21
- Updated Electron template to version 18
- Updated HTML5 to high DPI by default
- Added
--template
command line option to Lime tools - Added
--appstore
and--adhoc
command line options for AIR on iOS to Lime tools (to match iOS native) - Added
-air-simulator
command line option for AIR to Lime tools (avoids packaging full AIR app) - Added
<config:air profile="value"/>
to optionally support custom AIR profiles in simulator - Added
setTextInputRect
toWindow
to specify a rectangle that has focus for text input - Added
JNISafety
to improve JNI communication on Android - Added
manageCookies
toHTTPRequest
to support cookies on native platforms (only session for now) - Added
pitch
property toAudioSource
- Added
-Delectron
flag to Electron builds so that it’s possible to use#if electron
- Added icon priorities to allow a library to provide a default icon that the user can override
- Improved HashLink .app file generation on macOS
- Improved performance of
HTTPRequest
on native platforms with better buffer management - Improved support for Android 12 (SDK 31) and newer
- Improved output file size if no assets are defined (sets
disable_preloader_assets
define) - Improved stage sizing on Electron (defaults to
0
for fluid width/height, same as regular browsers) - Fixed garbage collector crash issue on iOS 12
- Fixed iOS build that failed because of missing Metal.framework dependency
- Fixed switching between light and dark modes on Android destroying the Lime activity
- Fixed
getCurrentTime
onAudioSource
for streaming sounds on native platforms - Fixed wrong types on
NativeMenuItem
Flash externs - Fixed set clipboard when
null
is passed (now changes to an empty string automatically) - Fixed warnings for deprecated “devicemotion” events on Firefox
- Fixed incompatibility with “genes” Haxelib to allow generating JS Modules