25.9 Release Notes¶
Patch Release Notes Mobile Development Kit Client 25.9.2¶
This patch release includes the following minor updates and important bug fixes for Mobile Development Kit Client 25.9.2:
Cross Platform Fixes:
- Support Dynamic Fields in
OpenTypeEntities - Fixed discard OData draft failure issue
- Fixed Mobile Development Kit Dependencies Installer issue in Windows when use
Electron38.1.2 - Fixed blank white screen when opening Mobile Development Kit Dependencies Installer on Windows
- Fixed app update dialog pops up twice after coming from sleep mode
iOS Specific Fixes:
- Fixed crash when opening search bar with empty placeholder text
- Fixed Create Entity action crash issue when complex value property contains null
- Fixed Barcode Scanner action receiving invalid scan result issue
- Fixed scroll jumping when pull to refresh is executed
- Fixed Key Value Section cut-off issue on very long text
- Fixed app crash on second redraw of
Signature Form Celland improved form cell styling reset - Fixed
Validationstyles not getting applied to some form cell controls - Fixed List Picker search returning empty list
- Fixed Button Form Cell flashing when redrawn at control level
- Fixed
PrefersLargeCaptionnot working after iOS 26.0 - Fixed font sizes work differently for icons in iPhone and iPad
- Fixed styling in Avatar
ImageText - Fixed Date Picker Form Cell not working in multi column Form Cell Section
- Removed icon from
BannerMessageaction - Fixed alignment of Object Cells with icons
- Fixed Switch Form Cell is reset when clearing validation
- Fixed height issue after hiding sections
- Fixed Multi-Column Form Cell Section not supporting required indicator
- Fixed "Agree" button missing on the EULA screen when adding user in a multi-user scenario
- Supported dynamic configuration of Max Stream Concurrent Operation Count
- Fixed incorrect back button text issue
- Updated to SAP BTP SDK for iOS 25.8.6
- Updated to Xcode 26.2
Android Specific Fixes:
- Updated Android certificates to support API 13 and earlier devices
- Fixed
MultiUserSettingschanges not taking effect until app is reinstalled - Fixed a
Numberkeyboard issue for Simple Property Form Cell control - Fixed toolbar item icon size
- Fixed Object Header's
Subheadto support multiline - Fixed styles set with
Validationproperty not taking any effect - Added preventive fix for crash error related to
backStackaccess - Fixed extra separator line in Form Cell Section
- Fixed Action Bar Item is drawn as blue square for a while on wide screens
- Fixed blank screen issue when returning to app after fast theme toggle
- Fixed calendar view when device orientation changes
- Fixed dark mode not getting applied to modal page top and bottom portion
- Fixed
sap-iconsbeing too bold inSide DrawerandTabcontrol - Fixed Navigation Bar styling when no background color is specified
- Fixed navigation issues when gestures and theme configuration is updated while app is suspended
- Fixed crash issue on swiping tabs and redrawing Sectioned Table
- Fixed
Attachment Form Cellout of memory handling issue on Android through caching - Addressed
AddedAttachmentsmissing attachments when user attached multiple files in one go - Fixed
Popover Menudisplay position issue for when opened against certain controls that are Jetpack Compose based - Fixed
Toastmessage incorrect position issue when Android API level >= 35 - Added support for showing an upload size warning message on modal pages
- Updated to SAP BTP SDK for Android 25.8.4
- Updated NativeScript Android runtime: 8.9.2-sap.2 to fix Attachment control crash issue
Web Client Specific Fixes:
Updated SAPUI5 Web Component to version 1.24.24. If you want to use .TabStripStyle style in their .less file, it is required to use the below style definition.
.TabStripStyle
{
--_ui5-v1-24-24_tc_headerItem_color: white;
--_ui5-v1-24-24_tc_headerItemIcon_border: 1px #EEEEEF;
--_ui5-v1-24-24_tc_headerItemIcon_selected_background: purple;
--_ui5-v1-24-24_tc_headerItemIcon_selected_color: #c533ff;
--_ui5-v1-24-24_tc_headerItemIcon_color: #85ff33;
--_ui5-v1-24-24_tc_header_background: #cc6600;
}
Patch Release Notes Mobile Development Kit Client 25.9.1¶
This patch release includes the following minor updates and important bug fixes for Mobile Development Kit Client 25.9.1:
Cross Platform Fixes:
- Fixed
SideDrawerpage rendering issue in demo mode - Fixed action result issues for draft enabled actions
- Fixed an issue of checking URL of
ODataimage - Fixed Calendar binding issue for date selection change event
- Added support of showing a warning message when uploading a large size of file on modal pages
- Update metadata reference for
List PickerFormCellproperties
iOS Specific Fixes:
- Fixed incorrect
Date Picker Form CellPickerStyleon re-rendering - Fixed
SectionTableheader and footer caption/attribute not being accessible - Fixed
Helper Text Stylingin form cell signature capture - Fixed styling for Category
Titlesin Chart content - Fixed
Extension Form Cellrendering issue with full content - Fixed issue toggling
Duration Picker'sRequired Indicator off setsCaptionasred - Fixed
Object Tableleft padding issue on iPad if Icons are defined - Fixed multiple select list picker issue that creates an extra
XCUIElementTypeCell - Fixed incorrect Calendar height in
DateRangemode when there is only one section - Fixed
Object Table Sectioncertain selection not highlighted issue - Fixed
Data TablegetChanges()not working whenEntitySetis rule - Fixed
Action Bar Itemnot displaying icon when there is aIconText - Fixed incorrect Calendar height in
DateRangemode when there is only one section - Fixed visibility issue of Agree button of
EULApage oniOS 26 - Fixed incorrect Popover placement when an
ActionBarredraw occurs while pressing theActionBarItem - Fixed display issue of tap row without
onpressevent in simple property - Fixed incorrect
HelperTextstyling for simple property - Fixed
Action BarLargeCaptionnot collapsing with Toolbar and blinking without one - Fixed font icon styling issue when changing from
darktolightmode iOS - Enhanced the behave of switching user process after rejecting
EULA - Additionally, we updated
SAP BTP SDK for iOS to version 25.8.3andNativeScript iOS Runtime to version 8.9.5.
Android Specific Fixes:
- Fixed modal page insets issue
- Fixed
SideDrawermenu display issue on switch theme - Fixed display issue after switched to light / dark mode from quick settings panel
- Fixed
SideDrawerStatus Barcolor issue after switch betweenlightanddarkmode - Fixed
Status Barcolor issue after switch betweenlightanddarkmode - Fixed Bottom Navigation redraw tab pages issue
- Fixed
SideDrawerpartially opening when swipe gesture is enabled - Fixed incorrect default values for
NumberOfLinesof NoteForm Celland updated documentation forTitle Form Cell - Fixed Calendar
setSelectedDateRangeAPI not applied correctly - Fixed
Form CellsetRequiredIndicatordoes not clear indicator - Fixed
StatusBarstyle inconsistent issue - Fixed timeline section not redrawing when out of screen
- Fixed a crash issue when resetting (SSAM) client
- Fixed a redraw issue in Calendar control
- Fixed fast filters disappearing when navigating between Tab
- Additionally, we updated
SAP BTP SDK for iOS to version 25.8.3andNativeScript Android Runtime version to 8.9.2-sap.2to fix attachment control crash issue.
Web Client Specific Fixes:
- Fixed
ActionBaritemOnPressevent is not working on Web Client
Mobile Development Kit Client 25.9.0¶
New Features and Enhancements Mobile Development Kit Client 25.9.0¶
Enhanced Calendar with Date Range Selection¶
- We have introduced new Calendar features that offers a comprehensive view. You can select a single date or a date range and navigate through weeks and months seamlessly. These features are ideal if you need to plan events or manage schedules over extended periods. They provide flexibility and customization in date selection and navigation.
Calendar Section¶
- The calendar section provides a visual overview of a week, a month, or multiple months. The calendar section consists of three parts: header, weekday label, and dates.
Header¶
- The header displays the current month or selected date information if a date is selected. For Android, there are components on the right side (not applicable for
DateRangetype): a back-to-today button (small calendar icon) allows you to return to the current month or week by tapping the button. Left and right arrow buttons enable navigation between months or weeks.
Weekday Label¶
- A one-letter label shows the weekday as the column header of the calendar.
StartDayOfWeekcustomizes the start day of the week to either Sunday, Saturday, or Monday. The default is Sunday.
Dates¶
- Depending on the
CalendarTypedefined, the calendar presents different views:
Month¶
- Displays the calendar in month view. Only single date selection is applicable.
Week¶
- Displays the calendar in week view. Only single date selection is applicable.
Expandable¶
- Displays the calendar in either week or month view. A dragging handle allows you to expand from week view to month view by swiping down. You can collapse from month view to week view by swiping up. Only single date selection is applicable.
DateRange¶
- Displays the calendar similar to month view but allows more than one month to be displayed. You may scroll vertically through the calendar months. Use this type to allow range selection. The first date selected is the start date of the range, and when a second date is selected, it becomes the end date of the range, with the entire range of dates between the start and end dates (inclusive) being selected. To modify the set of selected dates on iOS, click on a selected date within the range, and it becomes the new end date, with all later dates deselected. To deselect the entire range, click outside the range, anywhere in the calendar view. For Android, any click on a date within or outside the selected range results in deactivating the existing range. The end date of the range must be later than the start date. If you click on a date earlier than the start date, the newly selected date becomes the start date, and the original start date is deselected. Specifically for
DateRangetype, in multi-section scenarios, the calendar displays with default height (600 for Android and 450 for iOS), while in single-section scenarios, the calendar displays in full screen. You may customize the height of the calendar by specifying theHeightproperty in the metadata definition for both single and multi-section scenarios.
Navigation¶
- To navigate between months or weeks in sequence, use left and right arrow buttons for Android, and scroll for iOS.
Selection¶
- The selected date is displayed based on today's date by default. You can customize it through metadata definition or Client API. You may change the selected date by tapping the desired date. For
DateRangetype, you need to select two dates to form a valid range.IsPersistentSelectionis a flag that determines the behavior of the selection. When set to true (the default), the selected date is retained even when you navigate to other months. If the flag is set to false, when you navigate to another month, the first day of the displayed month is shown as selected.IsPersistentSelectionis not applicable forDateRangetype and defaults to true.
Calendar Limit¶
There is a limit to the months you can navigate. The calendar is limited with a start date and end date. The start date defaults to January 1st of two years prior to the initially selected date. The end date defaults to December 31st of two years following the initially selected date. You may customize the limit by defining StartDate and EndDate on metadata definition.
Calendar Indicators¶
- You can now use new Calendar Indicators to identify special events or statuses directly on the calendar. This feature helps you quickly spot important dates and plan effectively. The indicators have customizable appearances and can be dynamically assigned based on metadata or runtime data. This provides an efficient way to manage and view calendar events.
The enhancement includes:
- Support for displaying one or more indicators on specific calendar days.
- Customizable indicator appearance and legend.
- Static and dynamic assignment of indicators based on metadata or runtime data.
How it works for static indicators:
- Indicators are defined in the metadata under the
Indicatorsproperty. This specifies the icon, title, style, and a unique name. - Events are mapped to dates using the
Eventsproperty, referencing the indicator by name. - When the visible date range changes, such as when you scroll to a new month or week, the app updates the indicators shown for the currently visible dates.
How it works for dynamic indicators:
- The
Event.IndicatorNameproperty points to a rule that returns the indicator name for each event based on your logic. - The
Targetsarray defines the data source and which properties to use for event dates. - The calendar calls your rule for each event to determine which indicator to display dynamically.
For more information refer to the Calendar topic.
Customizable Mandatory Fields Indicator for Form Cells¶
-
The Mandatory Fields Indicator visually marks required form cells without enforcing completion, enhancing user awareness. Customization options allow for personalized indicators and styling, making it a versatile tool for improving form usability and clarity.
-
The default indicator is a red asterisk (*) placed at the end of the Caption. You can customize the indicator with a different character in the metadata using the
RequiredIndicatorproperty. You can use only one character for customization. If you define more than one character, the system defaults to the asterisk. -
The form cells that support this feature include:
-
AttachmentForm Cell DatePickerForm CellDurationPickerForm CellInlineSignatureCaptureForm CellListPickerForm CellNoteForm CellSignatureCaptureForm Cell-
SimplePropertyForm Cell -
You can implement a custom style for the indicator in the
Stylesproperty using the nameRequiredIndicator. Style Classes support this feature, and you can set the indicator color through thefont-colororcolorproperty.
Maximum Attachment Limit Feature for Attachment Form Cell¶
-
The maximum attachment limit feature allows users to set a maximum number of attachments in a form cell, enhancing control over file uploads. This feature is useful for managing data efficiently and preventing excessive file uploads, ensuring streamlined and organized attachment handling.
-
This feature allows you to set a limit on the number of attachments you can upload to the attachment form cell. The limit is enforced by deactivating the add button of the attachment form cell once the limit is reached. If this property is not set, or if the value is zero or less, no limit is applied by default.
-
On iOS, the limit is applied to the native file picker, which stops further selection once the limit is reached.
-
On Android, the native file picker does not support limiting file selection. Therefore, users can select as many files as they want, but only the first M attachments are chosen after confirmation, where M is the maximum attachment limit, if any.
-
In the metadata, you set the value of the
MaxAttachmentsproperty in the attachment form cell as follows:
"MaxAttachments": 4
- To set or retrieve the value through a rule, use
setMaxAttachments()andgetMaxAttachments().
attachment.setMaxAttachments(4);
maxAttachments = attachment.getMaxAttachments();
Enhanced Text Properties for Timeline Cell¶
-
With this release, the
"StatusText","SubstatusText", and"Subattribute"properties provide additional annotation capabilities forTimelineCell, enhancing the clarity and detail of timeline events. These properties allow users to easily distinguish and understand the status and substatus of events, improving the overall user experience in timeline navigation. -
"StatusText","SubstatusText", and"Subattribute"are additional text properties that you can annotate on a specifiedTimelineCell. These attributes appear on the right side of the timeline cell."StatusText"appears at the top, followed by"SubstatusText", and"Subattribute"at the bottom. Note their positions on theTimelineViewPage -
In the metadata, set the
"StatusText","SubstatusText", and"Subattribute"properties in theTimelineCellControl as follows:
"StatusText": "Status1", "SubstatusText": "Status2",
"Subattribute": "Subattribute"
Read-only State for Attachment Form Cell¶
-
We've introduced a feature that allows you to deactivate the ability to add or remove attachments from an attachment form cell. It does this by removing the add button from the form cell and the remove button from each attachment entry.
-
In the metadata, you can toggle this by setting the
"IsEditable"property with a boolean. The default is true:
"IsEditable": true
To set or get the value through a rule, call setEditable() and getEditable() as you would with most form cells.
formcell.setEditable(true)
editable = formcell.getEditable()
Attachment File Size Limit¶
-
With this release, you can set the attachment file size limit using the
MaxFileSizeproperty. This property defines the maximum file size in megabytes for each attachment you add to the form. If you do not specify a limit or set it to zero or less, there is no restriction. -
Type:
number
New Supported Features for Android Only¶
-
You can now view password-protected PDF files in a Native file viewer.
-
If you use a Section Extension control for your custom extension implementation and if the height of the extension area cannot display the full content, you can use the new
IsScrollableproperty. -
Type:
boolean - Default:
false