Android Tutorial B4A Change Log (versions history)

v13.0 - August 26, 2024 - https://www.b4x.com/android/forum/threads/b4a-v13-0-is-available-for-download.162746/#post-998257

The Android SDK and the underlying toolchain where updated with preparation for Android 14 (targetSdkVersion=34) requirements.
Many of the internal libraries and also external libraries were updated and now depend on the latest Android SDK resources.

The new version depends on Java 19.
Many of the features depend on an updated Android SDK.
Both are available here: https://www.b4x.com/b4a.html

Tutorial about new requirements related to services and targetSdkVersion=34+: https://www.b4x.com/android/forum/t...getsdkversion-34-and-services.162140/#content

Note that ExoPlayer (https://www.b4x.com/android/forum/threads/exoplayer-media3-video-player.158204/), the ML Kit based libraries and a few others were updated to support the new SDK. Older versions will not work with the new SDK.

The updated Google / Firebase SDK is considerably larger than before. B4A only adds the components that are part of the dependency tree, still you will see an increase in the app size in many cases. There isn't much that can be done about it. In some of the cases you can keep using the old Android SDK, however you might encounter compatibility issues.


v12.8 - December 6, 2023 - https://www.b4x.com/android/forum/threads/b4a-v12-8-is-available-for-download.157840/

  • Code snippets: https://www.b4x.com/android/forum/threads/b4x-code-snippets.152450/
  • Important fixes for two issues, one in OkHttpUtils2 that caused requests to fail in some cases and the second related to a behavioral change in Android 14 that could cause the starter service to misbehave.
  • Updated libraries: Core v12.8, OkHttpUtils2 v3.04, XUI Views v2.59, XUI v2.32, Network v1.54, NB6 v1.05, SimpleMediaManager v1.14
  • Other bug fixes and minor improvements.

v12.5 - June 14, 2023 - https://www.b4x.com/android/forum/threads/b4a-v12-5-targetsdkversion-33.148501/

  • Default targetSdkVersion set to 33.
  • RuntimePermissions library updated with the new and a bit special POST_NOTIFICATIONS permission: https://www.b4x.com/android/forum/threads/notifications-permission-with-targetsdkversion-33.148233/
  • New B4XView.Alpha property and SetAlphaAnimated method. These will also be added to B4J and B4i in the next update.
  • Debugger improvements including performance improvements and bug fixes.
  • B4XLibs modules and files can be overridden. This is done by adding the module or file to the project. The compiler now accepts it and gives higher precedence to the project files.
  • New #ModuleVisibility attribute. Value can be Public - default visibility, or B4XLib. B4XLib means that the module methods and fields will not be visible once the module is packed as a b4xlib. Note that it is an IDE feature and is ignored by the compiler (might be changed in the future).
  • #ExcludeFromDebugger attribute removed.
  • ADB installation allows downgrading apps, based on the #VersionCode value.
  • Comment link to go to layout: 'main page layout - ide://goto?Layout=MainPage
  • Updated internal libraries: XUI v2.3, RuntimePermissions v1.2, Core v12.5, SimpleMediaManager v1.13, BCTextEngine v1.95, B4XFormatter v1.04, XUI Views v2.56, OkHttpUtils2 v3.02
  • Other bug fixes and minor improvements

v12.2 - January 23, 2023 - https://www.b4x.com/android/forum/threads/b4a-v12-2-is-available-for-download.145649/

  • Receivers: https://www.b4x.com/android/forum/threads/receivers-and-services-in-2023.145370/#content
  • Home screen widgets and firebase notifications updated to work with receivers.
  • StartReceiver, StartReceiverAt methods.
  • Run without ADB - when B4A-Bridge is connected, the compiler will not fail if ADB is missing or throwing an error.
  • Ctrl + Alt + W closes the current code window.
  • OBFUSCATED automatic conditional symbol - note that it is set at compilation time, never during editing.
  • Bug fixes and other minor improvements.

v12.0 - November 17, 2022 - https://www.b4x.com/android/forum/threads/b4a-v12-0-has-been-released.144207/

  • This version brings an updated Android, Google, AndroidX and Firebase SDKs.
  • Follow these instructions to update the various components: https://www.b4x.com/b4a.html
  • Updated libraries: B4XTable v1.23, B4XPages template, FirebaseAdmob2 v3.0, FirebaseAnalytics v3.0, FirebaseAuth v3.0, FirebaseStorage v3.0, FirebaseNotifications v3.0, AppCompat v4.02, USB v1.01, BCTextEngine v1.94, Phone v2.53, GooglePlayBilling v5.0, Core v11.81, NFC v2.02, DesignerUtils v1.04, Facebook v2.01 (external library.
  • Bug fixes and minor improvements.
v11.8 - July 5, 2022 - https://www.b4x.com/android/forum/threads/b4a-v11-80-is-available-for-download.141578/

  • Designer script extensions: https://www.b4x.com/android/forum/threads/b4x-designer-script-extensions.141312/#content
  • This is the first 64 bit version of B4A IDE, which means that it will handle better large projects.
    It will be installed by default under Program Files\Anywhere Software\B4A.
    It will not run on 32 bit Windows. Note that the CPU architecture doesn't affect the compiled apps.
  • RUNTIME conditional symbol - an automatic symbol that is added during compilation. It can be used to exclude code from the IDE case-corrector.
  • Updated libraries: B4XPages v1.11, XUI Views v2.55, BCTextEngine v1.92, XUI v2.2, SMM v1.13.
  • New DesignerUtils (DDD) library with a new designer script framework.
  • Bug fixes and other minor improvements.


v11.5 - March 21, 2022 - https://www.b4x.com/android/forum/threads/b4a-v11-50-has-been-released.139288/
  • Optimized dexer replaced with D8 tool.
  • Support for targetSdkVersion=31.
  • New #ExcludedLib attribute that is required in some cases when multiple native libraries with different versions are referenced.
  • Updated internal libraries: OkHttp v1.50, OkHttpUtils2 v3.00, PreoptimizedCLV v1.21, Network v1.53, B4XTable v1.22, KeyValueStore v2.31, SMM v1.12, NB6 v1.02, FirebaseNotifications v2.01, B4XCollections v1.13
  • #ExcludedClasses attribute removed.
  • Bug fixes and other minor improvements.

v11.2 - December 14, 2021 - https://www.b4x.com/android/forum/threads/b4a-v11-20-is-available-for-download.136834/
  • Long hex literal numbers: 0xff00ff00ff00
  • New methods: Bit.OrLong / AndLong / XorLong / ShiftLeftLong / ShiftRightLong / NotLong / UnsignedShiftRightLong / ParseLong
  • Fix the "incompatible types" warning with the relatively new Json type.
  • Json.ToCompactString method.
  • Several debugger fixes: crash on startup, missed assignments in some cases, single field objects were not always observable.
  • Code editor jumps to a sub when adding an event with the designer, including when the sub already exists.
  • Fix issue with compilation of large projects.
  • More descriptive errors when a maven artifact is missing, including the artifact origin.
  • bundleconfig.json - configuration file that is used when building an AAB package, can be overridden by putting such file in the project folder (you can find the default one in the installation folder).
  • SimpleMediaManager (v1.09) is included as an internal library.
  • Updated internal libraries: B4XCollections (v1.10), B4XTable (v1.21), B4XPreferencesDialog (v1.75), XUI Views (v2.54), JSON (v1.21), BCTextEngine (v1.92), Core (v11.2), KeyValueStore (v2.31).
  • Bug fixes and other minor improvements.
 
Last edited:

Erel

B4X founder
Staff member
Licensed User
Longtime User
v11.0 - July 13, 2021 - https://www.b4x.com/android/forum/threads/b4a-v11-0-is-available-for-download.132499/

This update adds two new language features: IIf and As (inline casting)

v10.9 - June 16, 2021 - https://www.b4x.com/android/forum/threads/b4a-v10-9-is-available-for-download.131682/
  • IDE performance - several cases where the typing speed became slow were fixed. The speed difference in those cases is significant.
  • B4A SdK Manager v4.0 - bug fixes and minor improvements. It is configured to download a specific set of Firebase libraries.
  • The additional resources package was updated. If you encounter any compilation issues, especially related to Firebase, then it is recommended to delete your current Android SDK and download a new one: https://www.b4x.com/b4a.html
  • FirebaseAdMob is deprecated and will not work with the updated resources. Google started to reject apps with the old user consent form in some cases. Time to switch to the new FirebaseAdMob2 library:
  • New private signing keys are created with the RSA algorithm, as required by Google.
  • The app bundle feature detects the key signing algorithm and will sign with the correct one. You can explicitly set the algorithm with #SignKeyAlgorithm but in most cases it is no longer required.
  • "after packager" custom build action step.
  • The bridge indicator in the bottom left corner shows the device name.
  • Copying of labels between B4A and B4i preserves the single line property (will work when pasting in B4i once a new version of B4i is released).
  • Add existing modules dialog - option to copy module(s) to parent folder.
  • New and updated internal libraries: XUI Views (2.50), X2 (2.0), Phone (2.51), XUI (2.1), FirebaseAdMob2 (2.13), B4XPreferencesDialog (1.73), OkHttpUtils2 (2.96), B4XPages (1.09), BCTextEngine (1.87), FirebaseAuth (2.01)
  • Recommended targetSdkVersion set to 30. Warning will appear if it is 28-.
  • Bug fixes and minor improvements.

v10.7 - March 17, 2021 - https://www.b4x.com/android/forum/threads/b4a-v10-7-is-available-for-download.128734/
  1. New toolchain.
  2. Support for app bundles.
  3. Support for targetSdkVersion=30
v10.6 - February 11, 2021 - https://www.b4x.com/android/forum/threads/b4a-v10-6-is-available-for-download.127550/

  1. Latest version of each library is displayed in the libraries tab. Clicking on the version will take you to the library thread.
  2. New %PROJECT_NAME% file variable for comment links and custom build actions.
  3. Updated internal libraries: XUI Views and B4XPages.
  4. Bug fixes including a fix to a debug issue where process global variables in code modules, packed as b4xlibs, weren't initialized properly.


v10.5 - January 4, 2021 - https://www.b4x.com/android/forum/threads/b4a-v10-50-is-available-for-download.126164/

  1. New libraries tab.
  2. Find all references feature was rewritten. Previously it couldn't handle more complex cases, where a sub or field are called indirectly.
  3. The various IDE notifications also appear in the logs.
  4. #CustomBuildAction - direct support for jar files, including Java 11+ UI jars.
  5. Default manifest updated. This allows resetting the manifest by removing the manifest text and saving.
  6. Dexer optimization can be disabled through the ini file.
  7. Updated or new internal libraries: XUI, XUI Views, B4XDrawer, BCTextEngine, OkHttpUtils2, GooglePlayBilling, KeyValueStore, B4XPages template, GooglePlayBIlling and FileProvider.
  8. Bug fixes and other minor improvements. This includes a long-standing bug where the wrong context was used after a resumed sleep in some edge cases (fix is relevant to B4XPages).

v10.2 - September 15, 2020 - https://www.b4x.com/android/forum/threads/b4a-v10-2-is-available-for-download.122285/

  • B4ASdkManager updated to support latest version of Android SDK command line tools.
  • Firebase libraries updated to support latest version of Firebase SDK.
  • OkHttp updated based on OkHttp 3.12.12.
  • Support for latest version of Crashlytics. Previous version will stop tracking crashes on November 2020: https://www.b4x.com/android/forum/threads/crashlytics-crash-reports.87510/#content
  • B4X version of KeyValueStore added as an internal library.
  • Internal libraries updated: B4XPages, B4XDrawer, B4XCollections, XUI Views and BCTextEngine.
  • Deprecated libraries removed: CustomListView (replaced with xCustomListView), Http and HttpUtils2 (replaced with OkHttp and OkHttpUtils2).
  • B4XPages template updated.
  • IDE performance improvements related to projects which use many b4xlibs.
  • New indicators to help understand the code flow with resumable subs.


v10.0 - July 15, 2020 - https://www.b4x.com/android/forum/threads/b4a-10-0-is-available-for-download.120193/


v9.90 - June 15, 2020 - https://www.b4x.com/android/forum/threads/b4a-v9-90-has-been-released.119043/

  • B4XPages - Cross platform and simple framework for managing multiple pages
  • Add new module - Option to add the new module to the parent folder. This is useful in cross platform projects where the modules are shared between the different platforms.
  • Fix for a design issue that existed since B4A v1.0 where in some cases assignment of an object to a variable can also change other variables that point to the same "wrapper".
  • New warning:
    "Comparison of Object to other types will fail if exact types do not match.
    Better to put the object on the right side of the comparison. (warning #35)"
    See this post for more information: https://www.b4x.com/android/forum/t...-is-available-for-download.117877/post-737515.
  • Support for Java 14 (must use the one downloaded from B4X).
  • Fix for empty description windows in some cases.
  • Several debugger fixes.
  • New "contribute" menu item.
  • Current selected line, in the search results and other syntax colored lists, is displayed.
  • New internal libraries: B4XPages, B4XTurtle, BCTextEngine, B4XPreferencesDialog, PreoptimizedCLV, X2, @agraham's Gestures, @corwin42's AppCompat, NB6 and B4XDrawer.
  • Network v1.52 - UDPSocket.GetBroadcastAddress method.
  • The code editor cursor color can be changed in the INI file. It uses the same 0xAABBGGRR format as in the theme files (CursorColor=0x000000FF).
  • Template of XUI custom views was updated. The convention explained here is implemented: https://www.b4x.com/android/forum/threads/117992/#content
  • Fix for compilation error when compiling projects with many modules.
  • Latest versions of all internal libraries are included.Other bug fixes and minor IDE improvements.

v9.80 - January 29, 2020 - https://www.b4x.com/android/forum/threads/b4a-v9-80-has-been-released.113448/

  • Find all references, quick search and find subs / modules tool windows were rewritten and are now syntax colored, the text is selectable and you can jump directly to the selected position.
  • Subs code appears in the quick info windows.
    This code is also selectable and clickable.
  • Show Sub in window.
    Allows showing subs in a floating windows. The text is selectable and clickable.
    This can be triggered from all kinds of places including.
  • Positions and layouts of all windows are preserved.
  • Search results font can be configured from Tools - IDE Options - Font Picker.
  • IDE shows available updates.
  • Recommended targetSdkVersion is set to 28.
  • Alpha value of text colors can be set in the designer.
  • Fix for a crash related to B4XView.Color with Android 10 and targetSdkVersion >= 29.
  • Better handling of errors in the IDE.
  • Deprecation warnings for modal Msgbox.
  • Animation to zero size no longer causes an exception in new versions of Android.
  • Starter service subs can be accessed directly without using CallSub.
  • Warning and errors do not hide other information
  • Copy warnings from list of warnings.
  • Generate 'Create Type' Sub.
  • Copy events.
  • Modules list is saved in lexicographic order to avoid unexpected changes with source control tools.
  • Resources in implicitly referenced b4x libs are now accessible.
  • Other minor improvements and bug fixes.

v9.50 - September 11, 2019 - https://www.b4x.com/android/forum/threads/b4a-v9-50-has-been-released.109468


Developers who are eligible for a free upgrade will receive an email with installation instructions. Other developers will receive a discount offer.

Note that B4J v7.80 was released as well: https://www.b4x.com/android/forum/threads/b4j-v7-80-is-available-for-download.109466/#post-683761

v9.30 - July 8, 2019 - https://www.b4x.com/android/forum/threads/b4a-v9-30-has-been-released.107443/

I'm happy to release B4A v9.30. This update adds support for the new AndroidX SDK.

AndroidX SDK replaces the Android Support Library SDK. Android Support Library is no longer maintained and new resources such as the latest versions of Firebase libraries depend on AndroidX.

With B4A v9.30 you can continue to use the old Android Support Library or switch to AndroidX. Switching to AndroidX is simple: https://www.b4x.com/android/forum/threads/androidx-sdk.107236/

Improvements:
  • Support for AndroidX SDK.
  • Jetifier tool that creates AndroidX versions of libraries. Note that this step isn't needed for most libraries.
  • Auto bookmarks feature:

    B4A_GE6MP7tWIW.png
    • Recent code positions and designer layouts appear as tabs in the window title.
    • The IDE decides on the list of tabs based on several factors (recency, modifications and others).
    • The list is saved together with the project and restored when the project is loaded.
  • Ctrl + Click on layout files from the code.
  • B4A Sdk Manager v3.50 is included. It supports AndroidX resources.
  • Issue with BaseFolder in command line builder fixed.
  • Latest versions of internal libraries are included. TabStripViewPager is an internal library now.
  • Bug fixes and other minor improvements.



v9.01 - April 17, 2019 - https://www.b4x.com/android/forum/posts/657746/

This is a small update that includes support for Java 11 and bug fixes related to the performance optimizations added in v9.00.

v9.00 - March 26, 2019 - https://www.b4x.com/android/forum/threads/b4a-v9-0-has-been-released.104153/

  • Compilation performance (about 2 times faster for first compilation and up to 4 times faster on following compilations).
  • Bookmarks and breakpoints are listed in the modules tree:
  • Auto backup improvements:
    • Project is saved before backup, based on the auto save option.
    • Project name added to the backup file.
    • The project folder is configurable (AutoBackupFolder in the ini file).
  • Warning for unused parameters in private, non-event, subs.
  • Additional library folder can be configured with a B4X folder for cross platform libraries: https://www.b4x.com/android/forum/threads/b4x-additional-libraries-folder.103165/
  • #Event declarations appear in the autocomplete list.
  • Fix for a long standing issue that caused scope changes of global variables to not always be detected.
  • Workaround for Android issue (https://issuetracker.google.com/issues/113122354) that caused services to fail to start in some edge cases. This is based on the automatic foreground mode feature.
  • Copy to clipboard option in the permissions dialog.
  • Missing maven resources can be added to the internal or additional libraries folders.
  • com.google.auto.value-auto-value-annotations added as an internal library. This is a missing maven resource that required by Firebase libraries.
  • B4XCollections, B4XFormatter, B4XTable, XML2Map and XUI Views are internal libraries.
  • Foreground services permission is added automatically. Required when setting targetSdkVersion to 28.
  • CreateResourceFromFile(Macro, Core.NetworkClearText) - Required when setting targetSdkVersion to 28 when communicating with non-SSL servers.
  • Application.Icon works with adaptive icons.
  • FirebaseAdMob v1.54 - Fixes an issue related to targetSdkVersion 28. ReceveAd event is raised when the activity resumes (if it fired while the activity was paused).
  • Files are listed in the removal dialog.
  • OkHttpUtils2 v2.81 - Includes a call to Service.StopAutomaticForeground (related to the workaround discussed above).
  • Other bug fixes and minor improvements.


v8.80 - December 31, 2018 - https://www.b4x.com/android/forum/threads/b4a-v8-80-has-been-released.100944/



v8.50 - September 13, 2018 - https://www.b4x.com/android/forum/threads/b4a-v8-50-has-been-released.97180/
  • Debugger performance optimizations and bug fixes.
  • #CustomBuildAction:
    • Support in all modules.
    • Support for environment variables.
    • New "folders ready" cross platform compilation step. Useful for updating files.
  • The list of subs above the code editor was rewritten. It behaves better (doesn't miss key inputs and always jumps to the clicked sub).
  • file:// links can be ctrl + clicked.
  • B4A Sdk Manager v3.29 included.
  • BitmapCreator v4.18
  • XUI2D v0.99
  • OkHttpUtils2 v2.70
  • The WRITE_EXTERNAL_STORAGE permission removed from the debugger.
  • Code editor jumps to the error line when there are Java compilation errors.
  • Bug fixes.
v8.30 - June 12, 2018: https://www.b4x.com/android/forum/threads/b4a-v8-30-has-been-released.94044/

  • Resumable subs in debug mode are optimized in the same way other subs are optimized. You can see the difference in this video:
  • Starter service is never destroyed until the process is killed - if you carefully read the automatic foreground notifications tutorial then you should be aware to a significant behavioral change in Android 8+. The OS kills services while the app is in the background. In previous versions the OS never killed specific services (only the complete process). This change made it much more difficult to work with the starter service as you could no longer assume that the starter service is running.
    Starting from B4A v8.3 the starter service will never be paused until the process is killed. Internally it switches from the service context to the application context.
  • Several other important debugger optimizations.
  • Bit.ArrayCopy method. Same as ByteConverter.ArrayCopy.
  • New File methods: CopyAsync, Copy2Async, ReadBytes, WriteBytes and ListFilesAsync.
  • Support for Java 8 jars and AARs.
  • Ctrl + Click on class types and custom types.
  • Autocomplete improvements.
  • Autocomplete in CallSub methods:

    test-gif.68252


  • B4A Sdk Manager v3.27 - Supports Java 10.
  • Files can be added to groups directly.
  • For loops optimization (in release mode).
  • BitmapCreator v3.60 is included as an internal library.
  • xCustomListView v1.63 is included as an internal library.
  • XUI v1.70 is included as an internal library. This is a large update to XUI library with support for text measurements and other features.

    SS-2018-05-09_13.05.38.png

  • Phone.ShellAsync - Asynchronous version of Phone.Shell.
  • Bug fixes and other minor improvements.

v8.00 - March 20, 2018: https://www.b4x.com/android/forum/threads/b4a-v8-00-beta-has-been-released.90536/

I'm very happy to release B4A v8.0. This update includes many important improvements and makes it simpler to target the latest versions of Android.

android-png.65413

(image source: android.com)

As explained in this tutorial, all apps will soon need to target sdk version 26 (Android 8). This is a new policy of Google and it has many consequences for app developers. Many of the improvements in B4A v8.0 help developers with this task.

Improvements:
  • The process of starting the app from the background was rewritten to comply with targetSdkVersion 26 requirements.
  • Push notifications and other features that cause apps to start from the background should be more reliable due to changes in the way services are started. A wake lock is automatically held when a receiver receives an intent. The wake lock is released when the service starts.
  • Automatic foreground mode: https://www.b4x.com/android/forum/threads/automatic-foreground-mode.90546/
  • Notification object rewritten to work with targetSdkVersion 26. In most cases you don't need to change anything. Notification.SetInfo or Notification.SetInfo2 should be the last calls before you show the notification.
  • Notification.SetInfo / SetInfo2 accept CharSequences so it can work with CSBuilder.
  • StartServiceAt / StartServiceAtExact rewritten to work with targetSdkVersion 26 and they are now more reliable.
  • Notification.Initialize2 - Allows to set the notification channel importance level.
  • Better support for AAR libraries: jni folders (native libraries) are handled properly, assets and resources from internal jars are added to the project.
  • #AdditionalJar with ReferenceOnly - Allows referencing jars that are only used as a reference during compilation. This is required for more complex libraries such as DJI library.
  • Signing key size is explicitly set to avoid issues with newer versions of Java.
  • B4A Sdk Manager v3.25 - Bug fixes and support for Google based AVDs.
  • Screenshot tool modified to work with latest versions of Android SDK.
  • MediaPlayer.IsInitialzied method.
  • Manifest editor macros - Macros can be added to libraries or zip files. For example to set a light theme based on Android version:
    B4X:
    CreateResourceFromFile(Macro, Themes.LightTheme)
    Unless you are setting a custom theme then it is recommended to use either Themes.LightTheme or Themes.DarkTheme.

    Firebase push notifications:
    B4X:
    CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
    CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
    CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
    https://www.b4x.com/android/forum/threads/new-feature-manifest-macros.90398/#content

  • Custom class templates - Class templates can be added to libraries.
    For example if you add the XUI library to your project then you will have an option to add a custom view based on XUI:

    SS-2018-03-12_10.57.15.png


    Libraries can include multiple templates and any library can include templates.
  • #SignKeyAlias attribute - Allows overriding the default signing key alias.
  • Firebase, xCustomListView and KeyValueStore (2) are internal libraries.
  • Libraries deprecation messages in the IDE:

    SS-2018-03-12_11.01.17.png


  • Fix for a very long standing issue where the activity code could have been executed while the activity is paused which leads to a hard to reproduce NullPointerException.
  • BADoclet (tool to generate libraries XML) v1.07 - adds support for custom class templates.
  • Other bug fixes and minor improvements.

Backward compatibility notes
  • Notification.SetInfo or SetInfo2 should be the last calls before you use the notification. Note that standard notifications created with previous versions of B4A will not work at all on Android 8+ when targetSdkVersion is 26+.
  • Adding a service, other than the Starter service, will add the WAKE_LOCK permission. This is a non-dangerous permission.
    As mentioned above a wake lock is held automatically when a service is started from the background and until Service_Start is called. You can remove this permission with:
    B4X:
    RemovePermission(android.permission.WAKE_LOCK)
    Everything will still work, however the service might fail to start from the background in some cases.



v7.80 - December 20, 2017: https://www.b4x.com/android/forum/threads/b4a-v7-80-has-been-released.87467/

Several important components were rewritten to provide more features and better performance:
  • Visual designer properties grid
  • Visual designer views tree
  • Modules tree (new component)
  • Files tree
The major improvements are:
  • Code modules can be loaded from other folders and can be easily shared between projects (including projects targeting other platforms): https://www.b4x.com/android/forum/threads/b4x-modules-files-groups-and-folders.86587/
  • Modules and file tree support grouping:

    SS-2017-12-13_11.14.51.png


  • Modules are monitored for external changes.
  • Files tree shows the files icons and allows opening the files with external editors: https://www.b4x.com/android/forum/threads/b4x-external-editors.86592/

    SS-2017-11-26_17.12.24.png


  • 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.
  • New options when adding modules:

    SS-2017-12-13_11.24.30.png


    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:


    SS-2017-11-26_17.15.19.png


    SS-2017-11-26_17.15.53.png

  • B4A Sdk Manager is included in the IDE:

    SS-2017-12-13_11.16.26.png

  • Support for downloading maven resources from Google online repositories. This is an important improvement as Google no longer updates the offline repositories.
  • Java 9 is supported.
  • WebView.ZoomEnabled hides or shows the zoom controls.
  • Better error handling in CallSub calls.
  • Fix for potential race condition in AsyncStreams.
  • Better handling of edge cases where the Activity life cycle events are called multiple times.
  • CallSubDelayed doesn't raise an error if the target sub is missing. This makes it safer to use CallSubDelayed for raising events,
  • 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 random changes.
  • XUI 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.
  • Support for opening multiple files at once.
  • Better handling of locked files.
  • Manifest editor replacements are applied to resources created with CreateResource.
  • Bug fixes and other minor improvements.


v7.30 - August 21, 2017: https://www.b4x.com/android/forum/threads/b4a-v7-30-has-been-released.82971/

  • Localizable IDE. Currently available in 23 languages.
  • Bitmap type:
  • New ResumableSub type. Makes it simple to return values from resumable subs and to wait for resumable subs to complete.
    https://www.b4x.com/android/forum/threads/b4x-resumable-subs-that-return-values-resumablesub.82670/
  • EditText - SelectionLength and SetSelection methods.
  • SingleLine property added to Label, Button and other views that inherit from Label.
  • Ellipsize property:

    SS-2017-08-10_12.49.17.png

  • View.SetVisibleAnimated affects the alpha level and the Visible property.
  • Warnings for illegal methods in Process_Globals.
  • Async dialogs are supported in classes.
  • Compiled libraries can reference AAR libraries.
  • Icon picker - aliases added to FontAwesome icons.
  • Auto complete and auto format improvements.
  • PhoneCalls (Phone library) - READ_CALL_LOG permission removed. It was added by mistake in a previous update.
  • Canvas.AntiAlias property to enable or disable antialiasing.
  • View.SetBackgroundImage returns a BitmapDrawable object. This allows changing the Gravity to CENTER instead of the default FILL value.
    B4X:
    'load a background image while maintaining its aspect ratio.
    Dim bd As BitmapDrawable = Activity.SetBackgroundImage(LoadBitmapResize(File.DirAssets, "bg.png", Activity.Width, Activity.Height, True))
    bd.Gravity = Gravity.CENTER
  • OkHttpUtils v2.61 - Job.GetBitmapResize and PATCH, HEAD and DELETE requests.
  • Improvements to the layouts loader engine. It is more flexible with the variables types and a bit faster. This feature will allow to add cross platform views types.
  • Administrator v1.10 - Adds support for owner apps. This update requires a change in the manifest editor. Instructions and copy of previous version are available here: https://www.b4x.com/android/forum/threads/device-administrator-library.19208/#content
  • Bug fixes, including an important debugger bug, and other minor improvements.

v7.00 - May 24, 2017: https://www.b4x.com/android/forum/threads/b4a-v7-00-has-been-released.79908/

This update includes the new resumable subs feature. This is the most important programing language improvement since the addition of classes in B4A v2.
It makes it much simpler to manage asynchronous tasks.

Quoting @johndb :
This version sure does clean up the code without jumping from sub to sub to sub to ... to handle asynchronous processing in a very clean manner. This and the previous "multi-dex" features in my opinion are game changers for B4X.

Improvements:

Notes:
- B4A compiled libraries with service modules need to be recompiled.
- Java 8 is required (Tools - Configure Paths).


v6.80 - March 1, 2017: https://www.b4x.com/android/forum/threads/b4a-v6-80-has-been-released.76761/

  • CharSequence as internal type. Allows showing rich text in many places such as: Labels, toast messages, dialogs, ListView and others.

    upload_2017-2-14_12-30-39-png.52855


  • CSBuilder - Simplifies the creation of rich text CharSequences: https://www.b4x.com/android/forum/threads/charsequence-csbuilder-tutorial.76226/#content
  • Support for MultiDex - With MultiDex enabled there is no limit to the number of methods or fields. This issue is important for large projects that reference many third party libraries. https://www.b4x.com/android/forum/threads/multidex-solves-the-too-many-methods-error.76431/
  • OkHttp updated and is now based on OkHttp v3.50.
  • Many improvements to B4A-Bridge:

    upload_2017-2-17_13-20-41-png.52958
    • Auto discovery - Devices running B4A-Bridge are discovered automatically and are listed in the devices list with their names.
    • Logs - The logs implementation was rewritten. Logs reading with B4A-Bridge is more stable and it is also possible to read the unfiltered logs (limited to the running process).
    • #BridgeLogger attribute - When set to true, logs will be available in release mode as well as debug mode.
    • Landscape layout.
    • Download progress bar.
    • File Explorer menu shortcut.
  • Find all references (F7) finds references in layout files and CallSub methods.
  • Typeface.FONTAWESOME / MATERIALICONS constants.
  • Icon picker - Filter field and icons tool tips:

    SS-2017-02-09_12.29.05.png


  • CallSubUtils is included as a library.
  • Menu click event implementation changed to avoid issues with modal dialogs.
  • Release and Debug compilation symbols are supported in the manifest editor and designer script.
  • Export as zip keeps the original dates.
  • Other minor improvements and bug fixes.
1. Make sure to update to B4A-Bridge v2.30+: https://play.google.com/store/apps/details?id=anywheresoftware.b4a.b4abridge
2. If you are using the Dialogs library then you need to update to v2.94: https://www.b4x.com/android/forum/threads/dialogs-library.6776/
 
Last edited:

rbsoft

Active Member
Licensed User
Longtime User
Very informative - Thank you.

Rolf
 

pluton

Active Member
Licensed User
Longtime User
Great idea. Thank you for taking the time to collect this information.

You are missing v1.90

Thank you all.

Now added and version 1.90. Thanks Erel for tip :sign0098:
 

CharlesIPTI

Active Member
Licensed User
Longtime User
Addendum

So what magic do I need to work on my download link to actually FIND the 2.02 version ?


I'm actually running a 2.01 at the moment 201 Capture.JPG
 

CharlesIPTI

Active Member
Licensed User
Longtime User
Ya tanks

I saw that thanks but somewhere else I notice people were having to EDIT the link to get the current version

my link still says its for 2.00 exe and it downloads 2.01 so thanks again but not what I'm looking for ..

for that matter my same link grabbed the 1.95 version before 2.0 was out so
aslong with what your saying you'd think the link would remain the same and just point to the new version.. Who knows 2.01 might even be 2.02 at this point I don't know...
 

Amalkotey

Active Member
Licensed User
Longtime User
Thank you for the information!
 

PhilipBrown

Active Member
Licensed User
Longtime User
According to the above, Version 3.8 introduced

  • Array keyword - The type can be omitted. In that case the array type will be Object. The Array keyword now supports creating empty arrays.
However when I declare an array without specifying the type, eg
Dim arr(3)
I get the warning: Variable declaration type is missing. String will be used. (warning #5)
In fact I can store different types of data in different elements of the array, so I guess the warning is wrong.

I wonder also what is the point of creating an empty array, since one cannot then assign any data to it...
 

EvgenyB4A

Active Member
Licensed User
Longtime User
In version 4.0 is claimed about New Appication object and its properties:
  • New Application object with the following properties:
    • LabelName
    • VersionName
    • VersionCode
    • PackageName
How to access this object and its properties?
 
Top