24.11 Release Notes¶
Mobile Development Kit Client 24.11.3¶
General:
- Fixed an issue where parsing a Date object failed when overriding an action
- Fixed plugin folder name issue in create client
- Fixed the issue where logger was not logging messages to console
- Fixed the issue where Object Cell without predefined "onPress" rule overrides binding on cell press
- Resolved the issue where
getCell()function was not returning any value - Fixed the issue where Card Collection Section failed to render due to certain metadata format
iOS Specific:
- Resolved application crashes that occurred when opening a PDF via Open Document action
- Fixed SAP icon size issue
- Resolved an issue where the Filter page could only be opened in partial mode from Action Bar and Toolbar
- Fixed the issue where Fiori Toolbar was redrawing with empty items
- Fixed the issue where the alert message box did not appear in the Extension screen (Calendar View)
- Fixed the issue where the Profile Header description was not displayed
- Fixed the Action Bar icon size issue
- Addressed the issue where the screen froze when
UndoPendingChangesaction fails - Resolved the missing HTTP header issue that lead to wrong registration info on the mobile services cockpit
- Fixed duplication issue among the selected values in the list picker due to Sectioned Table redraw
- Fixed the issue where scrolling froze on the modal page
- Fixed the Activity Items default tint color on contact cell and profile header
- Fixed Card Extended Header Rating custom style issue
- Fixed incorrect spacing in controls above tab bar when there is no action bar button defined
- Fixed app crashes caused by button sections with invalid alignment
- Fixed the issue where the filter items were not displayed when the filter page is opened from Tabs page as full screen
- Fixed the issue where empty sections could not be displayed properly in Analytic Cards
- Updated SAP BTP SDK for iOS to patch 24.8.7
Android Specific:
- Fixed client crashes that occurred when the title property was missing in Object Table
- Fixed Form Cell setter function to fully return promise
- Improved the response of button action to prevent multiple duplicated results
- Fixed app crashes that occurred after opening
Deeplinkwith suspended app - Fixed PDF image tint issue on dark mode
- Fixed the issue where multiple attachments could not be selected simultaneously
- Fixed app crashes that occurred when closing both modal and its parent page
- Fixed crashes caused by native exception
- Fixed the issue where Object Card Collection Empty Text was misaligned on android tablet
- Fixed the issue where the search function was being called twice
- Fixed unknown language issue on Google Play Store
- Fixed the issue where the disabled Popover items appeared in incorrect color
- Fixed the issue where the Action Bar's
setCaptionAPI caused app crashes - Fixed graphic glitches in Grid Table when scrolling
- Fixed the issue where the Action Bar items were disappearing from Filter page after navigating back from modal page
- Updated SAP BTP SDK for Android to patch 24.8.7
Web Specific:
- Added support for Sovereign Cloud domains by default for Web deployment
- Hid the load more button after loading all the data
- Fixed Note and Attachment Form Cell
setValueissue - Fixed the logic to detect and handle whether the deployed web app is using the development, preview, or production web runtime
- Fixed the Date Time picker issue where the selected date could not be displayed in specific languages
- Fixed the issue where the Web Action Bar's back button with
onBackButtonPressedwas not displayed - Fixed the issue where Object Table did not trigger
onSelectionModeChangedevent - Fixed the issue where the Web Action Bar items were not displayed
Mobile Development Kit Client 24.11.2¶
General:
- Fixed the plugin folder name issue in the create client feature
- Fixed the issue where the logger was not logging messages to the console
- Updated documentation for
DataSubscriptionandSendEmptyState - Enhanced deep link to efficiently handle parameter values
- Fixed the issue where the search feature was being called twice
- Fixed an issue where the
ClientAPI Loggerwas failing to log messages to console - Fixed the issue where the
FormCell Switchcontrol was not using the latest validation property - Fixed the issue where installing plugins failed during client creation.
iOS Specific:
- Fixed the issue where filter items did not display when the filter page was opened from the tabs page in full-screen mode
- Fixed the issue where an empty section was displayed in the Analytics Cards control
- Fixed the issue where the Simple Property Form cell did not close when the Done or Enter key was pressed
- Fixed the issue where the List Picker control displayed double arrow with large data
- Updated Xcode to version 16.2
- Updated SAP BTP SDK for iOS to patch 24.8.4
Android Specific:
- Fixed the issue where the Action Bar's
setCaptionAPI caused an infinite loop, leading to app crash - Fixed the issue where the style of the first item in the popover was changed by another item
- Fixed the graphic glitch observed in the Grid Table while scrolling
- Fixed the issue that occurred when opening a model page from a tab page *Fixed the issue where Action Bar items disappeared from the filter page after returning from the modal page
- Fixed the issue where no context menu items were available when there was only one list item in an Object Table
- Fixed the Line Chart issue in the Turkish language
- Fixed the issue where the numeric keyboard input did not work in the Simple Property Form Cell
- Fixed the issue where Popover items were disabled when incorrect colors were applied
- Updated SAP BTP SDK for Android to patch 24.8.5
Web Specific:
- Fixed the issue where the Object Table did not trigger the
onSelectionModeChangedevent - Fixed the issue where Action Bar items were not displayed
- Fixed the issue where the Action Bar back button was not displaying with the
onBackButtonPressedevent
Mobile Development Kit Client 24.11.1¶
- Fixed the numeric keyboard input issue and app crashes in Simple Property on Android
Mobile Development Kit Client 24.11¶
Minimum OS version requirements for this release:
- iOS/iPadOS 16.x and iOS/iPadOS 18.x (It has been tested with Xcode 16.1, iOS/iPadOS 18.1)
- Android OS 8.0 or newer (It has been tested with Android 12/13/14)
New and enhanced features available with the Mobile Development Kit Client 24.11
Enhancements¶
Line-Through and Underline Styling Support for Object Cells¶
You can now apply line-through and underline styles to text in Object Cells (including Object Table and Object Collection controls). By using the text-decoration property, you can style the Title, Subhead, StatusText, and more with line-through or underline effects.
Support for Chat Completions Action¶
We have introduced support for the Chat Completions API from OpenAI, enabling developers to create engaging, context-aware conversational experiences. Using advanced AI models like GPT-3.5 and GPT-4, this API enhances applications such as chatbots and virtual assistants with interactive and intelligent dialogue capabilities. For more information refer to Support for Chat Completions Action document.
Added getName() Method to Page Proxy Class¶
With this release, getName() method will be available for the PageProxy class. This method returns the specified page name. If no name is provided, it generates and returns an auto-generated name when getName() is called.
Support for SVG (Scalable Vector Graphics) Image Type¶
With this release, we are extending support for the SVG image type in the Actionbar/Fiori Toolbar on both iOS and Android platforms.
The enhancement includes:
- Direct support for SVG image files.
- Support for vector resources provided by iOS and Android platforms.
- Support SVG image type directly.
Currently, the .svg image type supports only simple vector elements. Not all .svg files may be compatible if they use complex or advanced elements.
For iOS:
-
Image Set (add
.svgfiles)
Note
Note: If an image set and a symbol image set have the same name, then use the symbol image set first.
For Android:
UseExternalViewer Metadata Property¶
With this release, we are introducing a new metadata property called UseExternalViewer (available only for Android) for the OpenDocument action. This property allows app users to open a file at a specified location using a third-party application. If the user does not provide this property, it is set to 'false' by default, meaning the app will use the built-in file viewer on Android. For more information, refer to this metadata reference document.
Data Subscription Support for FioriToolbar¶
Data Subscription is now supported for FioriToolbar. When OData entities defined in the new DataSubscriptions property are updated, the FioriToolbar will be automatically redrawn. This property can be set via metadata.
The associated FioriToolbarProxy has been enhanced with two new methods:
getDataSubscriptions: Returns theDataSubscriptionsproperty of theFioriToolbar.setDataSubscriptions: Sets theDataSubscriptionsproperty of theFioriToolbar.
Mobile Development Kit Built-in Search¶
We have enhanced the Mobile Development Kit built-in search capability via Search > SearchOptions to support:
- The properties that are not directly bound via
Search>AdditionalProperties. - Case-insensitive search for
Offline OData. containsfunction forOffline OData.- Numeric properties.
- The conversion of numeric values to strings using
concatorcast, and then apply thecontainsfunction for online searches. - The conversion of numeric values to strings using
cast, and then apply thecontainsfunction for offline searches.
New Proxy Classes¶
Object Table, Object Collection and Object Card Collection¶
The following Proxy Classes have been added/enhanced in V24.11:
ObjectCollectionProxy(enhanced using new context)ObjectTableProxy(new)ObjectCellProxy(new)ObjectCellContextMenuProxy(new)ObjectCellContextMenuItemProxy(new)ObjectCardCollectionProxy(enhanced using new context)ObjectCardProxy(new)ObjectCardActionItemProxy(new)ObjectCardOverflowButtonProxy(new)
The new and enhanced classes support these methods, with enhanced classes also retaining their existing methods:
getNamegetTypegetParentgetPageProxy
Note
For backward compatibility, SectionedTableProxy functions are added to the respective proxies at runtime. A warning log will be generated when a SectionedTableProxy function is used. These functions will be removed in a future release. Both SectionedTableProxy and ControlProxy have the redraw function. The SectionedTableProxy function will be called.
We have also added the following new types:
ObjectCollection.Type.ObjectCell(ifObjectCellbelongs toObjectCollection)ObjectTable.Type.ObjectCell(ifObjectCellbelongs toObjectTable)ObjectCell.Type.ContextMenuObjectCellContextMenu.Type.ItemObjectCardCollection.Type.CardObjectCard.Type.ActionItemObjectCard.Type.OverflowButton
For more information, refer to the migration guide.
KeyValueCollection, SimplePropertyCollection and DataTable¶
The following Proxy Classes have been added/enhanced:
KeyValueCollectionProxy(new)KeyValueItemProxy(new)SimplePropertyCollectionProxy(new)SimplePropertyCellProxy(new)DataTableRowProxy(new)DataTableProxy(previously known asDataTableSectionProxy; enhanced with additional methods)DataTableCellProxy(enhanced with additional methods)
The new and enhanced classes support these methods, with enhanced classes also retaining their existing methods:
getNamegetTypegetParentgetPageProxy
We have also added the following new types:
SimplePropertyCollection.Type.CellKeyValue.Type.ItemDataTable.Type.RowDataTableRow.Type.CellDataTableRow.Type.ListPickerCell
Support for Camera Scanner Override¶
This event is triggered when the barcode scan button is pressed, allowing the app to implement custom scanning capabilities via a rule. When the rule is executed, the default barcode scan using the device’s camera will not be initiated. The rule is expected to return a promise:
- If the promise resolves with a string result, the search will be carried out using the result string.
- If the promise is rejected, the system will fall back to the default barcode scan using the device’s camera.
Supported controls:
SimpleProperty FormCell- Search Field in Collection Controls
- Search Field in
ListPicker FormCell's List Page
ActionBar¶
With this release, we are introducing key updates to the ActionBar across iOS and Android, offering enhanced customization options, improved styling, and better support for data subscriptions.
We have also updated how items are displayed and interacted with, including new overflow behaviors, logo positioning, and streamlined APIs for easier management of ActionBar elements.
Key changes include:
- Deprecation of existing
ActionBar-related properties at the page definition level (moved to theActionBarlevel):Caption,PrefersLargeCaption,OnBackButtonPressed. - New properties at the
ActionBardefinition level:Caption,Subhead,CaptionAlignment(Android only),PrefersLargeCaption,OnBackButtonPressed,Logo,OverflowIcon(iOS only),Styles,DataSubscriptions. - New properties at the
ActionBaritem definition level:Enabled,Style(Caption). - Styling support for both
ActionBarandActionBarItem.
For more information refer to the ActionBar document.
FormCell¶
HelperText Support for FormCell Controls on Android¶
HelperText support has been added for the following FormCell controls on the Android platform: DatePicker, ListPicker, Sorter, DurationPicker, and Segmented.
When the HelpText property is set for these form cells, the helper text will be displayed if there is no validation view.
MultiSorter FormCell Control¶
We have introduced a new FormCell control called MultiSorter. Compared to the existing Sorter control, this new control provides the flexibility to select multiple sort items, order them in ascending or descending order, and change the order sequence by dragging the selected items. Users can also customize the ascending/descending labels.
Validation Property for Validation View¶
We have deprecated the validationProperties in the FormCell controls. Instead, we have introduced a new property, Validation, to define the validation view. The Validation property has the following properties:
- Message – The validation message.
- Visible – The visibility of the validation view.
SeparatorVisible– The visibility of the separator in the validation view.-
Styles – The styles for the validation view, which include:
- Message: The style class for the validation message, including font size and color.
- ValidationView: The style class for the validation view, including the separator color and background color.
We have also introduced a new FormCellValidationProxy in the FormCell control. If you are using the new Validation property, it is recommended to use the APIs in this proxy to get or set properties in the validation view.
Support for FormCell Label¶
A new FormCell control, FormCell Label, is introduced to allow users to display multiple lines of free text with support for various styling and display properties.
This control is display-only, non-editable, and does not accept user input. The label displays a single body of text, and its associated properties are applied to the entire body of text. The behavior of this control is identical on both iOS and Android.
FormCell Label is supported in both FormCell Container and FormCell Section. It works in both single and multi-column layouts.
The FormCell Label can be configured with the following properties:
- Text: The text to be displayed
- TextWrap: Wrap long text to multiple lines
- MaxLines: Limit the number of displayed lines of text
- Style: CSS class name (class selector) to style the label
For the Style property, the supported CSS styling properties are as follows:
background-color: Background color of theFormCellcolor: Text colorfont-family: Font typefont-size: Font sizefont-style: Italicize the textfont-weight: Bold the textletter-spacing: Spacing between individual lettersline-height: Spacing between individual linestext-align: Alignment of text to the left, right, or centertext-decoration: Underline or strike through the text
In addition, a new proxy class, LabelFormCellProxy, is provided to allow users to retrieve or modify the values for the FormCell Label properties (Text, TextWrap, MaxLines, Style).
Enhanced the DatePicker Time Mode¶
In the FormCell DatePicker's time mode, users now only need a single tap to view the time values. This enhancement is only applicable for iOS.
Support for the Visible Property of Key-Value Items in Targeted Sections¶
In previous Mobile Development Kit versions, the visible property of key-value items was supported only in sections without a target, while it was ignored in targeted sections. However, with Mobile Development Kit V24.11, the visible property of key-value items will now be supported in both targeted and non-targeted sections.
Support for Styling Popover Menu and Menu Items¶
For the Popover menu, users can now set the background color for the entire menu, as well as adjust text alignment, and font size for the title, and message on both iOS and Android platforms. Specifically for Android, users can also set the font color for the title and message.
For Popover menu items, users can now set text alignment, font color, and the background color of icons on both iOS and Android platforms. Additionally, on Android, users can also specify the icon's position (Leading or Trailing).
Custom Style for Message Action¶
With this release, message action will support customized style. This style will override semantic-based styling and is supported only on Mobile. Following are the properties of the custom style:
- Dialog: Applies background and text alignment styles (iOS only) to the message.
- Title: Applies color and font styles to the title text of the message.
- Message: Applies color and font styles to the message text.
- OK Button: Applies font color to the OK button text.
- Cancel Button: Applies font color to the Cancel button text.
APIs¶
setStyle() API for Nested Controls¶
We have enhanced the setStyle() client API to support nested controls. Previously, the setStyle() API only supported a single-level control view. For example, the MultiSorter FormCell control has the following style format:
Styles: {
"Caption": "CaptionStyle",
"MultiSorter": "MultiSorterStyle",
"Items":
{ "DisplayValue": "DisplayValueStyle", "DirectionLabel": "DirectionLabelStyle" }
}
The setStyle() API can set styles for Caption or MultiSorter, but it fails if we try to set a style for DisplayValue. With this enhancement, nested controls can now be specified using a slash (/) to combine the control names. For example, you can now use setStyle("<StyleName>", "Items/DisplayValue") to set the style for DisplayValue.
Mobile Development Kit Editor 2502¶
| Title | Type | Environment | Description | Available as of |
|---|---|---|---|---|
| Improve the Mobile Development Kit project generation | New | Cloud Foundry (SAP Business Application Studio) | Improve the Mobile Development Kit project generation process by populating the on-boarding QR code flow. | Feb 26, 2025 |
Support custom properties in .less file |
New | Cloud Foundry (SAP Business Application Studio) | Support custom properties in .less file |
Feb 26, 2025 |