Help test nb196

Hello everyone,

We are starting to put together the test server for nb196 ( Previously, this post included Java 11 support but due to the timeline we released this as a patch release to nb195. The following are the changes since then to nb196:


  • Add a Ukrainian Translation
  • Add a Japanese translation
  • Update the Spanish translation
  • Make the Sharing component respect DefaultFileScope when sharing relative path files (@arjuninv)
  • Add TextChange event, MoveCursor methods, and HintColor property to TextBox and related components (@Gordon_Lu)
  • Show translated help in property help widgets
  • Add CircularProgress and LinearProgress components from Kodular (@Diego)
  • Add Theme and Toolkit properties to the new project dialog (@jennet-zamanova)
  • Add a Trendline component to visualize linear, quadratic, exponential, and logarithmic tends in ChartData2D components

Bug Fixes

  • Fix a bug in removing an item from a listview resulting in bad indices (@timfoden)
  • Fix a bug that could result in an infinite loop for certain TTS engines (@Kumaraswamy)
  • Improve documentation about special regex characters in replace block (@JustinFrost47)
  • Improve description of the DataFile component (@Gordon_Lu)
  • Fix a font size issue for checkbox and switch in the designer (@Gordon_Lu)
  • Fix a CSS issue that made the PasswordTextBox look larger in the Designer than it should be
  • Fix an issue where the project properties dialog would not open when using a non-English locale

Internal Changes

  • Deprecate the Twitter component (@Gordon_Lu)
  • Fix a duplicated translation file causing issues on macOS

This post will be updated as issues are reported and addressed.

Evan W. Patton, Ph.D.
Lead Software Engineer, MIT App Inventor



Both statements are allowed to be true. Extensions should continue to work, but you should still consider testing them...

So could we directly compile extensions using Java 11 directly?

What about the extension companion dex file? I believe now we are using D8 instead of DX, will the extension repository be updated with D8 as well?

good :smiling_face_with_three_hearts:

1 Like

Hmm. Technically yes but I don't think I updated the extension logic in the repo to handle that. I will need to run a test to verify.

Extensions are dexed before they are packaged, so whether dx or d8 is used I think is not an issue. Once the release is officially out the extension template repo will be updated accordingly.

1 Like

To compile extensions with java8 or even java11, should we update the ANT build environment? So that the compiler does not return an error when it encounters a java8 expression? I'm asking about compilations in AppInventor sources.

Yes you would need to update the ant scripts that would be updated after the final release as Ewpatton stated.

You would be fine, when you go to a higher Java version, all the previous versions are always supported by default.

Trendline looks good:

charts_test.aia (2.1 KB)

Right Click Download Blocks As Image was well behaved.

1 Like

The test server has been updated. We expect this to be the next release barring any major issues identified.

The Textbox help for the Numbers only flag has broken markup, with red leakage

Missing Toolkit File Load dialog

The New Project option to upload a Toolkit file does not do anything in the way of asking what file to load, or announcing that it even tried to load some file somewhere.

  • Improve documentation about special regex characters in replace block (@JustinFrost47)

Neither the original nor the advanced text replace blocks mention anything about regex in their tool tips. The ai2-test server links only to the current block doc library.

Typo in ChartData2D doc:

Imports data from the specified DataFile component by taking the specified x column for the x values, and the specified y column for the y values. The DataFile’s source file is expected to be either a CSV or a JSON file.

Passing in empty test for any of the column parameters will result in the usage of default values which are the indices of the entries. For the first entry, the default value would be the 1, for the second it would be 2, and so on.

(should read text)

I am trying to translate the app inventor languages to Chinese, and really don't understand this paragraph. Can any one give an example for this?

And for LinearProgress, we have a event and function,
If we change the progress by block, of course we have already known the progress changed. Why we need an event there. Any other way to change the progress? Like in Slider we can drag to change progressive?

And for Circular Progress, is there any difference with the notifier. Progress dialog?

This component is pulled over from Kodular. @Diego may be able to address your questions about design decisions.

And these import from blocks really make the chart component very complicated.
One ' Import from list' block will be enough.

Not really, the event was added in case someone wants to proceed with the logic not after the method but after the event itself.
This is just a view-only component.

The notifier shows the progress in the notifier; this one renders in a layout without notifier.

CSV input:


JSON input (counterintuitive)




Will it work if I specify column names? I have not tried.

1 Like