v2.81 · 21 Oct 2026
Unitless setMargins values were silently invalid CSS in 2.80 but are now interpreted as fractions of the parent in 2.81, so setMargins(10, 10) becomes 1000%.
BottomNavbar changes breaks older apps: addBottomNavbar(parent, navs) now defaults to filling the parent’s full height with an empty layout above the bar (like upside down tabs), whereas 2.80 fixed it to the screen bottom — old apps only works correctly now if the new 'BarOnly' option is used.
app.CreateShortcut bug in APKs.app.GetSafeArea() method with cutout and system option.app.EnableBackKey(false) in Android 16 APKs.app.ListPermissions( "all/internal/external/usb" ) now returns use-able URIs.app.SetScreenMode( "game" ) showing black bar at bottom..*android_webview/browser.* errors in NodeJS apps.app.GetPermissions/CheckPermissions (for X version).app.GetNavBarHeight method.targetSdkVersion to SDK 35.wbs.SetOnWsReceive, wbs.SetOnWsOpen, wbs.SetOnWsClose callbacks.cfg.EdgeToEdge mode to enable it if available on the device.app.IsEdgeToEdge() method.app.SetOptions to force CORS checks on Hybrid and Python apps.ide.Obfuscate modal._AddOptions("NotifyService") making project behave like HTML project.app.QueryContent() always asking for "Media" permissions (use _AddPermissions instead).app.IsTablet response for Pixel7 (and other large phones).cfg.ESM is now automatic if 'export' or 'import' statements are found.app.CreateWebView() methods (enables desktop mode).WebView.SetOptions method so that (most) options can be changed at runtime.app.SetOnError in Node apps.app.DiscoverBtDevices is used.app.UnzipFile failure on some devices.cfg.ESM mode for recent Android WebViews.ext.deviceName and ext.appType fields to extension object.ext_OnProject callback.app.CreateNode method inside services.PlayStore.GetPurchases() not returning 'IAP' types.SetWeight( weight, orient ) method to all controls.Layout.SetWeightSum( sum ).cfg.NodeESM mode.os.homedir() func to return same as app.RealPath("/Private").app.CopyFolder (keeps UI alive when copying large folders).!buildapk option from Wifi-IDE.!buildapk (user.keystore musts exist).!buildaab command to Wifi-IDE.app.SetOnError method for Node based apps (trap errors to prevent app exit).app.CreateCrypt for old method).