Hello everyone,
ai2-test has been updated with a subset of proposed changes for our next release: nb202.
This update includes the SDK 35 version bump for those looking to test their apps prior to the Google deadline on Aug 31.
Change log
New Features:
Implement a console UI for Notifier Log messages
Add a popup to show where to change UI theme but otherwise not show the theme picker at startup
Implement a permission registry for better min/max SDK handling of permissions
Add SimpleChatbot app as a starter template for new users
Implement dark mode for the web interface
Add image creation block to Chatbot (uses Google Gemini)
Bug fixes/improvements:
Make Google Voice SMS permissions included in compiled apps only when the corresponding property is checked
Bump minimum SDK to 14 and target SDK to 35
Remove READ_MEDIA_IMAGE and READ_MEDIA_VIDEO permissions from the companion app to comply with Google Play policy
Fix sorting of projects in nested folders
Fix lexvar flydown field background color in exported PNGs
Fix a bug where projects containing projects would lead to incorrect capabilities in APKs
Fix a bug where malformed keystores could hang builds
Fix for warning counter being incorrect in blocks editor
Fix an issue in index.jsp that would not respect query parameters like autoload=false
Internal changes:
Implement server side support for iOS app caching
Add password protection to the buildserver
Refactor editor hierarchy to support new editor types in the future
Remove an unused remote procedure call
Remove an unused message of the day service
Fix an issue where the read-only project message would occlude menus
Please reply to this post with any new errors you encounter.
Cheers,
Evan W. Patton, PhD
Lead Software Engineer, MIT App Inventor
3 Likes
Peter
July 10, 2025, 2:52pm
2
Same settings, Android 16
Stable version
Test version
Anke
July 10, 2025, 5:04pm
3
These permissions are still available in the non-Play-Store version of the Companion app (test server).
ABG
July 10, 2025, 7:21pm
4
I notice changing between light and dark modes in Classic results in the Projects being sorted alphabetically, even though not requested.
Android 15 sets apps to full screen by default.
Anke
July 10, 2025, 7:33pm
6
Left: built on the main server --- right built on test server:
Tested on Android 16 (APK).
Anke
July 11, 2025, 10:46am
8
Anke:
Direct access to media files (except audio files) using READ_MEDIA_IMAGES
and/or READ_MEDIA_VIDEO
(on Android 13+) will no longer be permitted for apps in the Play Store starting May 28, 2025 (at least not without an explicit review of the app and its core functionality by Google).
This issue, which should be another nail in Google's coffin, can only be circumvented with the help of SAF.
BTW, if your app contains this block somewhere
, all storage permissions are declared in the Manifest. @ewpatton
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:maxSdkVersion="29" android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
At least READ_MEDIA_VIDEO
and READ_MEDIA_IMAGES
should not be declared automatically in the Manifest, but only when they are explicitly requested.
Note : If you use this block instead
only these storage permissions are declared:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:maxSdkVersion="29" android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
I would of course prefer the latter and then request special storage permissions individually if necessary.
I will also add this part to my guide Some basics on Android storage system in due course.
2 Likes
My understanding is that the sort order has never been saved. When you change the theme, the page refreshes. If you refresh the page on the production server are you seeing the sort order saved?
Yes this was an oversight on my part. It will be fixed in the next update of the test server.
1 Like
Anke
July 14, 2025, 2:56pm
11
This bug seems to have finally been fixed on the test server:
I've pointed this out countless times over the past few years and regularly referred to my MFile extension.
Same result with FileScope Shared or Legacy:
[grafik]
FilePermission_bug.aia (2.5 KB)
Tested on Android 15 (Pixel 7 Pro, Companion & APK).
I just found a strange combination of FileScope and relative path that also works on Android 15. (But you have to come up with that first.)
ABG
July 14, 2025, 5:23pm
12
I am guessing that the choice of sort column and sort direction is saved across sessions on the production server, and also persists during a switch between Classic and Neo.
Sample run:
The projects are sorted here according to the sort controls at the top of each column. The column with the up/down arrow wins.
On t ai2-test, the sort controls get out of sync with the choice of sort column, when switching between light and dark.
Sample run:
P.S. This is a harmless bug, easily worked around by resorting, that would rarely pop up. I doubt it's worth more than 5 minutes of time.
I am not seeing this on ai2. I sorted by Date Created ▼ and when I refreshed it switched back to Date Modified ▼ (Which I believe is the default).
ABG
July 14, 2025, 6:38pm
14
I am using the Brave browser on Windows 10, for what it's worth.