6 Deprecated in Previous Releases

The following section lists features which were deprecated in a previous release but have not been fully removed or desupported from Oracle APEX.

Oracle strongly recommends that developers start to modify their applications as described in this section. Use APEX Advisor to scan existing applications for deprecated attributes.

6.1 CKEditor5 Deprecated

CKEditor5 is deprecated. Existing items based on the CKEditor5 library continue to work. However, these items will be automatically converted to TinyMCE in the next release. Any custom code using CKEditor5 APIs must be re-worked.

6.2 Deprecated Object Browser Features

Some functionality in Object Browser is deprecated:
  • The Model tab for tables is removed.
  • The Create Materialized View Wizard is removed. Create materialized views by using a CREATE MATERIALIZED VIEW statement in SQL Commands or SQL Scripts. You can still view materialized views in Object Browser.

6.3 Preventing Double Escaping of LOV Display Values

By default, APEX automatically HTML-escapes Lists of Values (LOV) display values as necessary. To ensure backward compatibility with legacy apps, APEX checks whether the LOV query already includes a utility function to escape the display value. If it does, APEX avoids double-escaping the value when displaying it in a Select List, Popup LOV, Shuttle, Display Only item, or similar components.

Oracle recommends removing redundant inline escaping calls from your LOVs. In a future version of APEX, this prevention mechanism may be removed, which could cause some display values to appear double-escaped.

To identify whether any of your LOVs are impacted, run the following queries:
select *
  from apex_application_lovs
 where lov_type = 'Dynamic'
   and (   upper(list_of_values_query) like '%HTF.ESCAPE_SC%'
        or upper(list_of_values_query) like '%APEX_ESCAPE.HTML%'
        or upper(list_of_values_query) like '%WWV_FLOW_ESCAPE.HTML%' );
select *
  from apex_application_page_items
 where lov_named_lov is null
   and (   upper(lov_definition) like '%HTF.ESCAPE_SC%'
       or upper(lov_definition) like '%APEX_ESCAPE.HTML%'
       or upper(lov_definition) like '%WWV_FLOW_ESCAPE.HTML%' );

If the queries returns no rows, then no action is required. Otherwise, check the LOV definition and/or page items, remove any manual escaping, and test your applications to ensure that the values still appear as intended.

6.4 Display Only Item with Format HTML (Unsafe) Deprecated

As of APEX 23.1, Format HTML sanitizes the HTML content on the client before displaying it. This simplifies the display of user-provided HTML, including the content of HTML-based rich text editors.

To maintain backward compatibility with existing applications, all current Display Only page items using the Format HTML option will be migrated to HTML (Unsafe) to preserve their current behavior. However, going forward, this option is deprecated, and displaying "unsafe" HTML, such as script tags or javascript: expressions, onclick attributes, and others, is no longer possible, as this content is stripped away.

Although it is not recommended to display unsafe HTML content, you can still choose to display it.

6.5 Deprecated Functions and Procedures

As part of moving existing APIs from APEX_UTIL to APEX_APPLICATION_ADMIN, some comments changed. The following functions and procedures are deprecated:
  • set_build_option_status
  • get_build_option_status (two times, overloaded)
  • set_application_status
  • get_application_status
  • set_global_notification
  • get_global_notification
  • set_app_build_status

6.6 Deprecated APEX Item Markup

Future releases of APEX may include fixes and improvements to the accessibility, usability, and functionality of various items that require changing the markup or using custom elements (web components). These changes may create more dynamic behaviors for items, and will be done in a way that minimizes impact to items and forms in existing apps.

The apex.item namespace and item interface are the only supported APIs for customizing and programmatically working with items. APEX discourages customizations that rely on undocumented item markup or CSS classes, as these may not work as expected in future releases.

Assumptions about the HTML markup used by each of the native APEX items may not hold in the future. Item customization through Advanced attributes (CSS Classes), Custom Attributes, JavaScript code, and CSS rules that assumes particular markup could break.

For example, you could make the text area item character counter bold by adding class important-text to the Advanced: CSS Classes attribute of a text area and then add a custom CSS rule like:
.important-text.apex-item-textarea + .apex-item-textarea-counter { 
    font-weight: bold;
}
This currently works, but may not in the future because it relies on undocumented class names and the counter element directly following the textarea element. It is also not a best practice to add event handlers in Custom Attributes.

Future releases may document new custom element markup, classes, and CSS variables to allow more supportable customization.

6.7 Deprecated jQuery Date Picker

jQuery Date Picker is now deprecated and cannot be used for new pages or applications. The old jQuery Date Picker JavaScript APIs are not supported.

Oracle recommends replacing all old Date Pickers with the new Date Picker.

6.8 Previously Deprecated APIs

The APEX_IR.GET_REPORT API is deprecated. Instead, use APEX_REGION.OPEN_QUERY_CONTEXT to get interactive report data.

6.9 Deprecated Legacy Web Service References

SOAP style Web Service references and legacy support for REST style Web Services references are deprecated.

6.10 jQuery UI Deprecated

jQuery UI is deprecated. Oracle recommends that customers update third-party APEX plug-ins and custom JavaScript code to remove any jQuery UI references. Native APEX components that use jQuery UI will continue to function, but support will be removed in a future release.

Oracle ships a custom bundle of JQuery UI 1.13.2 that includes only the modules that APEX needs. Oracle no longer ships individual widgets or any jQuery UI CSS files.