This update includes the same debugger optimizations added in B4i v5.00 which significantly improve the performance of resumable subs in debug mode.

Debugger optimizations, mainly with resumable subs.

jServer v3.00 is included. Jetty, the underlying open source project, was updated from 9.4.6 to 9.4.10. This is a large update for Jetty with many bug fixes and improvements.

jServer can now work with Google Conscrypt as the SSL engine. This provides better performance and makes it very simple to configure Http/2: https://www.b4x.com/android/forum/threads/server-conscrypt-and-http-2.93040/
There is an issue with the latest version of conscrypt itself. For now it is recommended to use Java 9+ if you want to enable Http/2 (it is simpler than with previous versions).

File: CopyAsync, Copy2Async, ReadBytes, WriteBytes, ListFilesAsync.

Node: MouseEntered and MouseExited events.

Node: PickOnBounds property - sets whether mouse events are intercepted based on the bounds or the non-transparent region.

Pane_Touch event - The Touch event is an alternative to the various mouse events. Its signature is the same as B4A and B4i Panel_Touch event.

jControlsFX9 - Fix for notifications.

MenuItem / Menu - ParentMenu property.

Bit.ArrayCopy - Same as ByteConverter.ArrayCopy.

XUI v1.70:

B4XCanvas: DrawPath, DrawPathRotated and MeasureText.

B4XView: TOUCH_ACTION constants for the Touch events.

XUI: Scale property. Always 1 in B4i and B4J. Same as 100dip / 100 in B4A.

B4XBitmap: Scale property. Always 1 in B4i and B4J. Same as Bitmap.Scale in B4A.

Custom class templates. Any library can add class templates.

jBitmapCreator v3.11 and xCustomListView v1.62 are included as internal libraries.

Modules, files and views can be renamed directly from the relevant tree.

Full support for drag and dropping files and modules, including support for dragging multiple items.

B4A services and activities can be shared with B4J. They will be treated as static code modules.

New options when adding modules:

Copy to folder: Copies the module to the project folder (same as the current behavior).
Link - relative path: Adds a link to the module with a relative path. Useful when the folder is under or close to the project folder.
Link - absolute path: Adds a link to the module with an absolute path.

Deleted files are moved to the recycle bin.

Properties grid and views tree can be filtered.

Properties grid is much faster and includes new types of editors:

Better support for version control. Files are only written when the contents are actually changed.

The modules internal attributes are sorted in lexicographical order to reduce changes.

Button Click event. The new event replaces the Action event. The Action event still works but doesn't appear in the autocomplete list. The Click event is the same as in B4A and B4i.

Previous animations are cancelled when a new animation of the same type starts. This behavior is similar to the behavior in B4A and B4i and it makes it much simpler to work with animations.

jXUI library is now an internal library.

Debugger hover window is resizable.

Add New Modules / Existing modules menu items in modules tree.

Code editor color picker is based on the designer color picker.

Open file with default program in Files tree. Also works with double click.

The underlying server library (Jetty) was updated to the latest version (9.4.6). This is a major upgrade.
Note that due to security issues, weaker versions of SSL are disabled by default (TLS 1.0 and TLS 1.1). It is possible to re-enable them if needed.

- CSSUtils module is now included as a library.
- OkHttp and jOkHttpUtils2 are also included. There are two versions of jOkHttpUtils2 included. One for UI apps and one for non-ui apps.
- View.Parent property.
- Bugs and other minor improvements.

Json library converts arrays to lists automatically.
Together these two features make it easier to build Json strings. Note that these features will also be included in the next version of Basic4android.