The headlines:- - With the new ide.MakePlugin method, you can now easily create DS plugins from existing or new projects by simply placing the following code into your main JS file. function OnStart() { //Package this project into a plugin and install it. ide.MakePlugin( "DemoPlugin" ) //Test the plugin functionality. app.LoadPlugin( "DemoPlugin" ) plg = app.CreateDemoPlugin() alert( plg.Test( "World" ) ) } Here is the full list of changes since the last official release:- DS 203b1 - Fixed bug with SendDataGrams showing EADDRINUSE error. - Added datagram buffer size options to Send/ReceiveDatagram (1k,2k,4k,8k,16k,32k,64k) - Added new app.GetJoystickStates() method, returns single object with all states. - Removed semi-colons from device code completion. - Download component and WebView/Html Apps now support 'content-disposition' header. - Added USE_FULL_SCREEN_INTENT permission if required. - Removed deprecated funcs SetLanguage, Language2Code. - Fixed obfuscation issues related to SetAppLanguage and GetAppLangCode. - Added app.CreateCanvas() method, creates blank image with auto-update turned off. - Fixed SET_ALARM permission having wrong path. - Added new ide.MakePlugin method (turns current project into a plugin and installs it). - Updated Wifi IDE toolbar and button styles. - Scoped storage state remembered from first run (safe to install your APKs on Android 10) - Added app.IsScoped() method to indicate 'scoped storage' on Android 10+. - Added SetOnRequest() to detect all WebView requests (params: url,method,isMain,isRedirect). - Added Stop() method to WebView, cancels current page load. - Added SetBlockedUrls() to WebView, comma seperated list of urls to block.