The Apache Royale community is pleased to announce the release of Apache Royale 0.9.9.
The Apache Royale project is the next generation of the Apache Flex SDK. It lets developers use MXML and ActionScript 3 to generate HTML/JS/CSS applications which can run natively in browsers. The cross-compiled code can also run on platforms like Electron or Apache Cordova (Adobe PhoneGap) to build mobile applications.
This release should be considered 'beta' quality, although we're very close to a 1.0 release and we have many applications in production at this point. The purpose of this release is to continue to gather feedback about Royale's features and the project's implementation strategies, and to recruit new contributors. We hope to grow the code base into an SDK and tool chain that delivers the highest productivity when developing applications that can run on many platforms. Beta releases, however, may not handle all production needs.
Changes in 0.9.9:
Apache Royale Framework 0.9.9
- MXRoyale
- MXRoyale has been split 2 libs : MXRoyaleBase (mostly non-UI code) and MXRoyale (mostly UI code). Users of MXRoyale should see no immediate changes as the build of this swc remains the same.
- Listen to children's resize events to fix some layout issues
- Various fixes to measured sizes (ComboBox, and other UI components)
- Fixes to labels in item renderers not displaying correctly
- ComboBox prompt fixes
- ArrayCollection.refresh() updating lists
- Various fixes to labels in item renderers not showing correctly
- Add option to add custom header renderers to data grids
- Fix issues with Menu.show() when receiving non-null parent arguments
- Improve emulation of ADG's expand/collapse behavior
- SparkRoyale
- ComboBox sizing improvements
- Basic
- Improvements to DragBead's out of bounds behavior
- RoyaleUnit
- Fix coercion error in MetadataRunner when expecting an exception in a test, like [Test(expected="RangeError")]
- Reflection
- getQualifiedSuperclassName() can find the superclass of a Class object in JS, matching the behavior of SWF
- Examples
- Ace example running in Maven
- Added Jewel TriStateCheckBox example in Tour De Jewel
- Jewel
- Improved:
- Added emphasized and secondary sass settings for Jewel CheckBox / Switch
- New:
- Added Jewel TriStateCheckBox and some associated beads: TriStateCheckBoxTooltipState, TriStateCheckBoxState
- Added ComboBoxReadOnly bead
- Improved:
- Icons
- Icon constants have been added to MaterialIconType and FontAwesome5IconType
- Dozens of bugs reported, investigated, and squashed. For details of closed bug reports see GitHub Issues list.
Apache Royale Compiler 0.9.9
- asformat is a new command line code formatter for ActionScript and MXML, with a programmatic API for use in editors and IDEs.
- Added a boolean new compiler option
compiler.mxml.force-local-id
- (short commandline formforce-local-id
). This is a quick way to avoid propagating id attributes to browser DOM in JSRoyale. - (JS) Added new string compiler options
js-getter-prefix
andjs-setter-prefix
to optionally specify different prefixes to use instead of 'get_' and 'set_' for accessors in the generated JavaScript. Useful for integrating with JS libraries/languages that use a different naming convention. - (JS) Fix for
@royalesuppressexport
feature which had stopped working - (JS) Fix for
mx.managers.SystemManager
subclass not being generated for applications that were not direct subclasses of the relevant application classes. - (JS) Improvement in output of locale properties files as ResourceBundles. Now using original Flex/SWF parsing approach for improved parity.
- (JS) First implementation of multiple-catch support in Javascript
- (JS) Added unsafe option for outputting literal javascript (via externally defined jsUnsafeNativeInline function)
- Fixed
<!---->
in MXML being incorrectly detected as an unclosed ASDoc comment, instead of an empty regular comment. - (JS) Improved the generated JavaScript for
if
,else if
, andelse
statements that contained only a semicolon and no braces. - (JS) Generated JavaScript for
parseInt()
passes0
instead ofundefined
for radix argument to avoid number format exception. - (JS) Fixed several issues with generated JavaScript for E4X expressions when using
js-dynamic-access-unknown-members
compiler option. - (JS) Fixed a couple of issues with generated JavaScript when using custom namespaces.
- Fixed missing
[Event]
metadata in playerglobal.swc classes generated from documentation. - Fixed parse exception when binding to XML.
For additional information on recent issues that have been closed, see Github Issues List
You can download a binary distribution, the source code or browse our GitHub repositories. If you're a NPM user you can check Apache Royale at NPM.
As well, you can help us filing bug reports for issues you encounter in the framework or compiler.
For questions about how to use Royale, send email to mailto:users@royale.apache.org. For questions and feedback on the development of the source code in the release, send email to dev@royale.apache.org.
Enjoy! 🙂