Version 2.52 beta 1 =================== This version has various enhancements (listed below) but most significant is the collection of new Hybrid samples and app templates. These are only visible when the 'experiments' checkbox is selected in the DS About box. Any code written for Hybrid apps using the ui.* components set should be compatible with multiple platforms including web browsers and all the platforms supported by the new enjine.io framework. (but app.* functions will not be compatible) Also, the app templates in this release have been better organised into 'Native', 'Node', 'Html' and 'Hybrid' categories. Here are all the changes since the last official release. DS 2.52b1 - Added SetSpeed and SetPitch methods to MediaPlayer. - Plugins can now contain sub-folders ('docs' sub-folder is removed in APK build). - Added support for Cancel(id) or Cancel('*') in notification listener. - JS errors from remote pages are now ignored for HTML and Hybrid apps. - Multiple cfg.Hybrid app samples added when in 'experiments' mode. - Added support for code completion on ui.* methods in wifi IDE. - Re-organized app templates. DS 2.51b1_p3 - Fixed app.SaveText() causing 'Storage' permission request. - Added 'fillscreen' and 'fullscreen' options for Custom Dialogs. DS 2.51b1_p2 - Updated app.ChooseFile() to support GoogleDrive,OneDrive and DropBox. - Added 'nodownload' option to app.ChooseFile (just returns uri, no downloading of files). - Added 'persist' option to app.ChooseFile (persists file permission after reboot). - Added 'pretty' option to app.Uri2Path (returns DS style paths). - AddPermission 'alert' bug fixed (introduced in 2.51b1). DS 2.51b1 - Fixed playback of transparent animated gifs in Image control. - APKBuilder is no longer sensitive to spaces around brackets of LoadPlugin call. - List.OnTouch() event now returns unicode chars with correct upper case hex codes. - Transparent apps now startup with zero size (to prevent black flash). - Added cfg.Legacy option to enable various legacy transparent app behaviour. - Added app.UpdateUI() method for forcing UI drawing during heavy processing. - Enabled 3rd party cookies by default for webviews, fetch and xmlHttpRequest. - Fixed broken app.SetAlarm() method. - app.ListFolder() now supports SAF (can list outside scoped storage). DS 2.51a1 - Added support for /Internal/* and /External/* SAF paths. - app.GetPermission() now supports 'external' and 'internal' keywords. - Replaced 'Sdcard Access' sample with 'Storage Access' sample. - Improved permissions detection for file:///android_asset paths. - Fixed 'Share SPK' for scoped storage devices. - Fixed app.SendFile, app.SendImage, app.SendMail for scoped storage devices. - Added QUERY_ALL_PACKAGES permission to X version. - Removed default params from edit/mui.js (older webviews don't not like it) - Added web.Func(name,args...) for easy calling of functions defined in a WebView. - Added app.Func(name,args...) for easy calling of main script functions from a WebView. - app.SimulateTouch() now copes with lower case keywords. - Fixed 'atob' issue with console logging in NodeJS apps. - Added new GetDocumentFile() method to Plugin parent object. - Added new app.GetRouterAddress() method. - Added tabs.SetTextSize(size,mode) method. - Added cfg.Fast mode for premium users (3x faster apps!) - Added XMLHttpRequest polyfill for Fast mode. DS 2.50p1 - Added 'Query Images' and 'Query Videos' samples. - Fixed crash when building APKs/AABs for Html apps.