Version 2.53 beta 1 =================== This version has a new GitHub long-press menu option on the app icons (for premium users) so you can backup your apps to github.com and track your code changes too :) I've not found any bugs with the GitHub utility, but I suggest you backup your projects to SPK files before playing with this new feature, until we get some confidence in it. The build.json file is now fully supported in AAB files. Here is the example I used to test it - { "manifest": { "minSdkVersion": 24, "targetSdkVersion": 31, "homeScreen": false, "removePermissions": "WRITE_EXTERNAL_STORAGE,CHANGE_WIFI_MULTICAST_STATE", "urlScheme": "https,http", "urlHost": "mywebsite,bigwebsite", "urlPathPrefix": "/mobile,/fred" } } Here are all the changes since the last official release: DS 2.53b1 - Added new app.eventSource property. - Fixed extraction issues with APK asset files containing 'dots'. - Fixed mui.js not found bug when building Node APKs. - Fixed build.json being ignored for AAB files. - Fixed debug messages from NodeJS apps not readable. - Improved !addmodule command to support versions (eg. mi...@1.6.0) - Added new GitHub feature for premium users. 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. - 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). - Added app.ListPermissions and app.RemovePermissions. 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.