MIT App Inventor version nb191

Hello everyone,

We are pleased to announce MIT App Inventor release nb191. This version contains the following changes for the editor and the Android version:

  • Features:
    • Add functional list operators like map, filter, reduce, and sort (@siyaoL1)
    • Add new math stats blocks like average, standard deviation, min/max over lists
    • Add custom font typeface support (@preetvadaliya)
    • Add new Bluetooth permissions to permission helper block
    • Add WebRTC support for iOS companion (needs iOS companion 2.64.1 or later)
    • Add "every component" block (@Vishwas-Adiga)
    • Add functions to Chart to set domain and range of charts and to fix the origin at 0, 0
  • Bug fixes:
    • Assert immutability of pending intents for compatibility with Android 12 (affects Texting)
    • Update Physicaloid library for immutable pending intent on Android 12 (affects Serial)
    • Fix Web component permission checks for reading/writing files
    • Fix File.Exists logic when testing for assets
    • Ask for dangerous Bluetooth permissions in Android 12 (affects BluetoothClient and BluetoothServer)
    • Make FinishedClearRange event run after clearing range (affects Spreadsheet)
    • Fix some naming of spreadsheet blocks to follow App Inventor conventions
    • Update spreadsheet internal data structures before calling GotSheet event
    • Fix a crash when using scatter charts with unsorted X values
    • Fix use of deprecated drag and drop APIs in Chrome
    • Refresh ChartData2D properties when Source component is changed
    • Do not show the DataSourceKey property when a Spreadsheet is a data source
    • Add missing helper block for Player's Source property (@conorshipp)
    • Handle control characters in block XML breaking projects
    • Add a missing documentation page on list concepts
    • Update some Chinese translations
    • Fix issues with null geometries in FeatureCollections
    • Fix ImageSprite image size in designer (@Himanshu2107)
    • Make split string consistent across Android versions using Java 8 semantics, i.e., no empty space when splitting by the empty string (@jingmiao-z)
    • Fix replace-all so replacement string can contain the dollar sign (@XomaDev)
    • Fix Spreadsheet.GotRows returning 0-indexed values instead of 1-indexed values (@dhruvpatidar359)
    • Fix a typeblocking issue introduced by functional blocks
  • Internal changes:
    • Reimplement component descriptor generator using JSONObject
    • Use glob matching to handle proguarding of extensions
    • Implement a PermissionConstraint annotation for components and extensions
    • Prevent unintended command execution in buildtools
    • Update documentation copyright year to 2023
    • Refactor YaClientApp and devmode to use a shared classpath
    • Update to using Google Analytics 4
    • ai2-test now served exclusively with HTTPS
    • ai2 now available over HTTPS

Evan W. Patton, Ph.D.
On behalf of the MIT App Inventor team