Skip to content

Release Notes

See Deprecations for what is superseded but still shipping, and for the full removal list with migration notes.

1.144.0

2026-08-30

  • Added client->_event( arg = … ), the one-value spelling of t_arg. arg = x is exactly t_arg = VALUE #( ( x ) ) — the client folds it into the same table, so the wire and get_event_arg( ) are unchanged — and it exists because most event wires carry a single value (a row key, a ${$source>/…}, one event parameter), where the table constructor is longer than the value inside it. Passing both appends arg behind the t_arg rows. From two values on, t_arg stays the right parameter: there is deliberately no arg2/arg3
  • Added client->_bind_path( val ), the path form of _bind( ) under a name of its own — what a bound aggregation, a binding_call filter/sorter and bindElement need. It is _bind( val = … path = abap_true ), byte for byte, and takes one parameter; combine path with tab/tab_index, omit_initial, json or switch_default_model and _bind( ) is still the call. path stays on _bind( ) and is not deprecated
  • Frontend actions: expandSelected / collapseSelected on a tree table, setBadgeMinValue / setBadgeMaxValue, IconPool.registerFont for a custom icon font (sap.tnt's SAP-icons-TNT is the common one — without the registration such an icon renders no glyph and logs nothing), and addCustomCurrencies, which MERGES codes rather than replacing the whole registration the way setCustomCurrencies does
  • NavContainer to( ) takes a typed page id plus an optional transition name, and backToPage( ) no longer silently does nothing when handed a plain page id
  • Event arguments: an empty string arrives as an empty string, and a date-valued argument travels as the LOCAL date instead of shifting a day west of the system's timezone
  • client->get( )-t_model_skipped names the cells a model delta could not convert, instead of dropping them without a trace
  • The page-location block is latched when its request is confirmed rather than when it is built, so an aborted first request no longer suppresses it for the rest of the session
  • 7.02 / 7.31: a built-in function in a table-expression key no longer takes the whole class pool down at compile time (report #2664)
  • MultiInputExt gained the suggestion-row half of addValidator
  • Developer Tools: the cross-tab search moved onto a tab of its own

Renamed — the old name still ships

  • z2ui5_if_exit is now z2ui5_if_ui5_exit. The old interface still ships and is still looked up and called, so every existing exit keeps working; rename at your leisure

Removed

  • BREAKING: z2ui5_if_types is retired to src/99 — every type it held now sits on the object that uses it (ty_s_get / ty_s_event_control / ty_s_name_value / ty_t_name_value / cs_device on z2ui5_if_client, the three HTTP config types on z2ui5_if_ui5_exit, ty_s_draft on z2ui5_cl_ui5_srv_draft). Nothing is deleted or reshaped: the interface ships unchanged from the frozen package, so z2ui5_if_types=>… still compiles, and every moved type is identical field for field

1.143.0

2026-08-16

  • Added z2ui5_cl_ui5_view_builder, the view builder this documentation is written against: factory( ) / ele( ) / tag( ) / a( ) / end( ) / stringify( ), with every UI5 control and property reachable because the builder knows none of them by name. z2ui5_cl_xml_view is frozen, not removed — it ships unchanged and keeps working
  • The model is pushed automatically when an event roundtrip changed it. The framework compares the model before and after main( ) and sends it to every open view slot when it differs, so a handler can no longer render stale by forgetting a call. An unchanged model sends no payload at all
  • Error output: a 500 now carries the full diagnostic — the message chain, one block per exception (class, text, source position, kernel error id, public attributes) and the app / event / draft / url / system context. The error popup shows the messages only, with the detail one click away behind Details and in Copy
  • The HTTP handler asks ICF to gzip its responses where the client accepts it — 70–85% less transfer on installations whose ICM profile does not compress already
  • Added _bind( json = abap_true ): a bound string that already contains JSON is spliced into the model as a JSON node, for control properties that must receive an object (a sap.ui.integration Card manifest, whose keys are not valid ABAP field names)
  • Control-valued event arguments now reach the backend as data — ViewSettingsDialog.confirm, SinglePlanningCalendar.selectedDatesChange and the like used to break serialization entirely
  • Added setP13nData to CONTROL_METHODS, so seeding a sap.m.p13n panel no longer needs hand-written JavaScript
  • message_toast_display( ) / message_box_display( ) queue follow-up actions: several calls in one roundtrip all show, in call order, after the view rendered
  • The startup page was rebuilt — the five quickstart steps top to bottom, then one row per sample repository with its install status, and the system information as a popup
  • Developer Tools: the POPUP/POPOVER tabs now follow a dialog closed without a roundtrip; empty tabs grey out instead of opening blank; the NEST/NEST2 and System tabs are gone
  • The wire got leaner throughout (internal): action lists travel as real JSON arrays, session-constant browser data travels once per page load, a display action implies the slot teardown, and the routing mode is only re-sent when the frontend may not hold it
  • Fixes: a pending backend timer no longer fires into a destroyed controller; an app switch clears the previous app's keyboard shortcuts; a nested view re-displayed without its MAIN view gets the model too; cc/Storage compares by value, so a structure can be stored and read back; the MessageToast Popup.Dock warning is gone; the default CSP no longer names frame-ancestors in the <meta> tag
  • src/99 test classes are back in CI: all 27 restored, the two disabled xml_view suites re-enabled, and the freeze now covers production code only

Obsolete — still compiles, still works

  • view_model_update( ), popup_model_update( ), popover_model_update( ) and the two nested variants now do nothing. The push is automatic; delete the calls when you next touch the app
  • _event_client( )follow_up_action( ), which is the same call in the same position
  • _bind( custom_mapper = … custom_filter = … )omit_initial / omit_initial_paths / json, or shape it in ABAP
  • cs_event-wizard_set_next_step → two control_by_id calls, which additionally reach goToStep

Removed

  • set_nav_back( ) and set_nav_routing( ) from z2ui5_if_client. Routing is follow_up_action( val = cs_event-set_nav_routing t_arg = ( mode ) ) now; set_push_state( ) and set_app_state_active( ) stay and delegate to the events
  • cs_event-nav_to_routenav_app_call( ), which is the real navigation and pushes the same route history entry when routing is on
  • cs_event-history_backfollow_up_action( |history.back()| ), or nav_app_leave( ) to return through the app stack
  • VIEWNAME from z2ui5_if_types=>ty_s_get. The framework never filled it — an app reading client->get( )-viewname has to drop the read
  • z2ui5_if_app~check_sticky / check_initialized moved to the framework's own app wrapper. Both attributes stay and are kept in sync, so a read still sees the truth; a direct write is no longer honored — use set_session_stateful( ) and check_on_init( )
  • Curated formatter: round2DP, dimensions, stockStatusState, stockStatusIcon, deliveryStatusState. Rounding, joining and status-to-ValueState mapping are things ABAP finishes — bind the result. The date helpers and expandInlineIcons remain
  • render_documentation( ), render_system_popup( ) and render_contribution( ) from z2ui5_cl_ui5_app_start, with cs_event-open_info, cs_event-close and cs_event-open_debug — internals of the framework's own start page

1.142.0

2026-07-20

  • Added frontend action functions: control_by_id, binding_call
  • Added new frontend events, e.g. SYSTEM_LOGOUT and KEYBOARD_SET_MODE
  • Extended the Debug Tool with error/log tabs and export (renamed to Developer Tools)
  • Performance: introduced delta data transfer — only changed fields/rows are sent to the backend
  • Compatibility: UI5 1.71 / UI5 2.x fixes (lazy module loading, lifecycle, aggregation escaping)
  • Security: error message sanitization, security response headers, fatal-error overlay
  • Samples repository fully reworked
  • Various small improvements and bug fixes

Removed

  • z2ui5_cl_util_api and its environment-specific variants z2ui5_cl_util_api_c / z2ui5_cl_util_api_s. The methods were kept: bal_*, tr_*, conv_get_itab_by_xlsx / conv_get_xlsx_by_itab and source_get_method are now on z2ui5_cl_util_ext, the remaining ones on z2ui5_cl_util. Replace the z2ui5_cl_util_api=> prefix with the class that now holds the method
  • z2ui5_cl_pop_bal (BAL message popup) — removed without a replacement. The other built-in popups were not removed; they moved into the frozen package and keep working unchanged

1.141.0

2025-12-14

  • Added Image Editor popup for image manipulation
  • Added Camera Selector control with facing mode support
  • Added Camera Picture control with configurable height/width
  • Implemented security headers in HTTP response handling
  • Added experimental check_on_event method for improved event handling (since adopted as a fully supported dispatch API alongside CASE client->get( )-event)
  • Added experimental _event_nav_app_leave method for navigation
  • Improved error handling with enhanced error popup
  • Updated ajson library to latest version
  • Code quality improvements: refactoring, formatting, and ABAP Cloud ATC findings
  • Various bug fixes and performance improvements

1.140.0

2025-09-15

  • New User Exit Logic with greater customization options
  • Added Data Binding with References
  • Optimized Data Binding Logic for faster performance
  • ABAP Cloud Compatibility Adjustments
  • Bug fixes for Data Loss Protection
  • Bug fixes for Stateful Functionality
  • Various bug fixes and performance improvements

1.139.0

2025-06-26

  • Improved documentation
  • Added multiple new control properties
  • Fixed Launchpad compatibility issues
  • Various bug fixes and performance improvements

1.138.0

2025-03-31

  • Introduced a Copy to Clipboard feature for improved usability
  • Enhanced the BAL message popup with multiple improvements
  • Resolved serialization issues for numeric values
  • Fixed Launchpad compatibility problems with older UI5 versions
  • Updated the bundled ajson library to the latest version

1.137.0

2025-01-26

  • Introduced App State feature
  • Added App State Persistence for Navigation
  • Fixed long string bugs for older releases
  • Resolved popup get value issues
  • Ensured Launchpad compatibility with OpenUI5 2.x
  • Multiple bug fixes and new properties added

1.136.0

2024-12-15

  • Extended Model Handling with OData Support
  • UI5 2.x Compatibility
  • New Documentation
  • Navigation Container in Popover
  • New UI Controls: AvatarGroup, Viz Charts, and more
  • SetMaxWidth for Launchpads
  • Multiple bug fixes and new properties added

1.135.0

2024-10-27

  • Stateful Session Handling
  • Object List Item now supports "type" attribute
  • Message Strip with formatted text options
  • Customizable Icons for Links, Expandable Text with class attributes
  • Improved Frontend File Organization
  • Various bug fixes for Launchpad compatibility

1.134.0

2024-09-22

  • Added Tile Controls
  • Added Color Control
  • Added Multiselect Feature for Popup to Select
  • Added Data Loss Feature
  • Separated Custom Controls & Layouts from abap2UI5 Core
  • Multiple bug fixes and new properties added

1.133.0

2024-08-24

  • Added Controls & Properties for Splitter, Grid, Generic Tag, Content Areas, Step Input, News Content, Numeric Content, etc.
  • Added Shell Bar Properties & Events
  • Added Side Navigation Properties & Events
  • Added Color Picker Properties
  • Updated Layout Management of Table Popups
  • Fixed Low Release Compatibility of Method to Read Fix Values
  • Multiple bug fixes and new properties added

1.132.0

2024-07-28

  • Added Properties for Multi Input, Slider, Search Field, etc.
  • Added Date Range Selection Control, etc.
  • Fixed Generic Tile & Avatar Control
  • Fixed Binding with Custom Mapper
  • Fixed Downport Functionality
  • Fixed ABAP 750 Syntax
  • Multiple bug fixes and new properties added

1.131.0

2024-07-03

  • Added Radio Button, Radio Button Group, Date Range Selector
  • Added Popup Layout V2
  • Fixed Launchpad Title
  • Fixed Syntax for 7.50

1.130.0

2024-06-13

  • Added Wizard Control, Wizard Steps
  • Added Frontend Info CC with Device Information
  • Fixed Binding Logic, bind_clear replaced
  • Fixed Multiple Issues for Focus CC
  • Added Message Strip Visible Property

1.129.0

2024-06-01

  • Added New Attributes for FilterGroupItem Control
  • Added New Attributes for VariantManagement Control
  • Fixed Issues with Data Model & Binding Logic
  • Addressed Fixes for SAP Fiori Launchpad Integration

1.128.0

2024-05-20

  • Fixed Popover and Message Toast Adjustments
  • Fixed Launchpad Compatibility
  • Fixed Data Binding with Generic Data References
  • Added New Properties for the XML View

1.127.0

2024-05-05

  • Added New Properties for Range Slider and Status Indicator
  • Added Message Toast & Message Box Improvements
  • Added Support for Automatic Renaming
  • Bug fixes and small improvements

1.126.0

2024-04-17

  • Fixed XML View Extensions
  • Improved Support for Attributes created with RTTI
  • Updated Spreadsheet CC for OpenUI5 Compatibility

1.125.0

2024-04-06

  • Fixed Binding for Attributes created with RTTI
  • Added XML View Extensions
  • Replaced Magic Numbers and Fixed Auto Renaming
  • Added Download base64 Files
  • Added Features for Interactive Charts

1.124.0

2024-04-01

  • Data Binding Improvements
  • Fixed Popup Handling
  • Fixed App in App Handling
  • Added New XML Properties for MultiInput and Table
  • Added Table with Column Menu

1.123.0

2024-03-20

  • Added Card Control
  • Fixed Nested View Data Binding
  • Fixed Boolean Type Conversion
  • Added Popover in Popup
  • Added New Control Properties

1.122.0

2024-03-11

  • Added New Control Properties
  • Improved F4-Dialog with Description
  • Fixed JSON Handling for Type P
  • Fixed Launchpad Compatibility for BTP and Title Handling

1.121.0

2024-03-01

  • Fixed Launchpad Compatibility
  • Added Custom Control Message Manager
  • Fixed Issues for low UI5 releases

1.120.0

2024-02-25

  • Added Templating
  • Added Popup & Layout Functionality
  • Fixed Debugging Tools XML Output
  • Fixed Messaging

1.119.0

2024-02-16

  • Added Source Code View for Debugging Tools
  • Added New Parameters for the UI5 Tree Control
  • Changed Design for Start Page

1.118.0

2024-02-08

  • Replaced /ui2/cl_json with ajson
  • Fixed Compatibility for Low Releases

1.117.0

2024-02-02

  • Added NavContainer in Popups
  • Added New Properties to XML View
  • Improved POPUP_TO_SELECT (title, sorting, descriptions)
  • Fixed Issues for ABAP for Cloud Readiness

1.116.0

2024-01-26

  • Added StartUp App with Value Help
  • Added Popup Error, Popup Range, Popup Table
  • Added Custom Control Chart.js
  • Fixed Popup Model Handling
  • Bug fixes

1.115.0

2024-01-19

  • Fixed Binding Logic
  • Added Popups (Confirm, Inform, Select Entry, PDF View, Message View)

1.114.0

2024-01-12

  • Fixed Cross App Navigation
  • Fixed Table Output
  • Changed Debugger Tools

1.113.0

2024-01-03

  • Added New Debugging Tools
  • Changed UI5 Module Loading