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.
Deprecated Public Views and Public View Columns
Public Views
As of APEX 26.1, the apex_appl_ai_configs and apex_appl_ai_config_rag_srcs views are deprecated, and will be removed in a future release. Instead, use apex_appl_ai_agents and apex_appl_ai_agent_tools.
AI Configuration Columns
With the APEX 26.1 rename of AI Configurations to AI Agents, the ai_config_id and ai_config_name columns are deprecated, and will be removed in a future release. Instead, use ai_agent_id and ai_agent_name. This change affects the following views:
-
apex_application_page_items -
apex_application_page_regions -
apex_application_page_da_acts
STATIC_ID Column
As of APEX 26.1, the STATIC_ID column in the following public views is deprecated:
-
apex_application_page_regions -
apex_application_page_rpt_cols -
apex_application_page_buttons -
apex_application_page_ir_col -
apex_appl_page_ig_columns
While APEX retains the STATIC_ID column for backward compatibility, Oracle recommends using the new HTML_DOM_ID column.
Deprecated Substitution Strings
As of APEX 26.1, the following substitution strings are deprecated:
-
#REGION_STATIC_ID# -
#BUTTON_ID# -
APP_REGION_STATIC_ID
While these substitutions still function, Oracle recommends developers update their environments to use the replacements below:
-
For
#REGION_STATIC_ID#and#BUTTON_ID#, use#DOM_ID# -
For
APP_REGION_STATIC_ID, useAPP_REGION_DOM_ID
Deprecated JavaScript APIs
As of APEX 26.1, the following JavaScript APIs are deprecated:
-
apex.utilfunctionscancelInvokeAfterPaintandinvokeAfterPaintare now deprecated. Use the native browser functionsrequestAnimationFrameandcancelAnimationFrameinstead. -
widget.gridmethodgetSelectedRangeis deprecated. UsegetSelectedRangesinstead.
Deprecated Property
As of APEX 26.1, the JavaScript Static ID property, introduced for JET Chart Series components to maintain backward compatibility, is deprecated and displays in Page Designer only if it already has a value. Going forward, use the unique Static ID property in new applications.
Legacy Calendar Templates Deprecated
As of APEX 26.1, Legacy Calendar Templates are now deprecated. The Legacy Calendar template is no longer present in Universal Theme 26.1, and APEXlang exports raise an error if Legacy Calendar regions are present. When upgrading your application, APEX automatically removes unreferenced Legacy Calendar Templates.
Deprecated APIs
As of APEX 26.1, the following APIs are deprecated:
In APEX_AI, the following procedures are deprecated:
-
GENERATE Function Signature 3
-
CHAT Function Signature 3
Instead, use the two new signatures that contain a p_agent_static_id parameter instead of the deprecated p_config_static_id parameter.
The following fields in APEX_PLUGIN.T_REGION are deprecated:
-
static_id -
filter_region_static_id
Use dom_id and filter_region_dom_id for new development.
The name member of the APEX_PLUGIN.t_plugin record is deprecated. Use the new static_id member instead.
In APEX_UTIL, the following APIs are deprecated:
-
CACHE_GET_DATE_OF_PAGE_CACHE- Instead, use
APEX_PAGE.GET_CACHE_DATE
- Instead, use
-
CACHE_GET_DATE_OF_REGION_CACHE- Instead, use
APEX_REGION.GET_CACHE_DATE
- Instead, use
-
PUBLIC_CHECK_AUTHORIZATION- Instead, use
APEX_AUTHORIZATION.HAS_ACCESS
- Instead, use
-
PURGE_REGIONS_BY_NAME -
PURGE_REGIONS_BY_PAGE -
PURGE_REGIONS_BY_APP
As of APEX 24.2, the following APIs are deprecated:
-
APEX_LANG.MESSAGEis deprecated. Instead, useAPEX_LANG.GET_MESSAGEto support named substitution parameters. -
APEX_PLUGIN_UTIL.EXECUTE_PLSQL_CODEis now deprecated. Instead, useAPEX_EXEC.EXECUTE_PLSQLSignature 1 or Signature 2. -
In
APEX_UTIL, the following APIs are deprecated:-
custom_calendar -
increment_calendar
-
As of APEX 24.1, the following APIs are deprecated:
-
The
APEX_APPROVALpackage is deprecated. UseAPEX_HUMAN_TASKinstead. -
The
URL_ENCODEfunction inAPEX_UTILis now deprecated. Instead, use the built-in database functionUTL_URL.ESCAPE. -
The
apex_plugin_util.print_display_onlyAPI is deprecated. Instead, useapex_plugin_util.print_read_only. -
The
ABORTfunction inAPEX_AUTOMATIONis now deprecated. Instead, useTERMINATEto terminate a currently executing automation.
Deprecated Dynamic Action Event
As of APEX 24.1, the APEX Dynamic Action event “Page Unload” is deprecated because the underlying browser event unload is deprecated. For more information, see Window: unload event.
Deprecated Plug-In Attribute
As of APEX 24.1, when editing a region plug-in, the Substitute Attribute Values switch is now deprecated. When you move to the Procedure interface, this switch disappears. To perform substitutions on the attribute value, use apex_plugin_util.replace_substitutions.
Number Field Substitutions
As of APEX 24.1, dynamic substitutions for Min/Max Value attributes for the Number field page item, including &P1_MIN., are deprecated. This will be fixed in a future release by allowing developers to declaratively pick an item to use for Min/Max Value attributes.
Quick SQL Deprecated Functionality
Deprecated Settings
As of APEX 23.2, the following Quick SQL settings are deprecated:
-
Data Language (
#language:"DE"): No longer generates sample data into different languages (German, Korean, Japanese, Spanish). -
Tags Framework (
#tags:true): No longer generates tag framework objects (table, trigger, sync procedure). -
On Delete (
#ondelete:"cascade"): No longer supports system-wideondeletesettings. Handle these settings through the new/cascadecolumn directive. -
Longer Varchar2 (
#longVC:true): No longer supports artificially shortening or increasingVARCHAR2size. -
Tenant ID (
#tenantID:true): No longer supported.
Deprecated Directives
As of APEX 23.2, the following Quick SQL directives are deprecated:
/select: No longer generates a SQLSELECTstatement after generating data for each table.
Deprecated Object Browser Features
As of APEX 23.1, 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 VIEWstatement in SQL Commands or SQL Scripts. You can still view materialized views in Object Browser.
Preventing Double Escaping of LOV Display Values
As of APEX 23.1, APEX prevents 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.
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.
Deprecated Functions and Procedures
As part of moving existing APIs from APEX_UTIL to APEX_APPLICATION_ADMIN, some comments changed. As of APEX 23.1, 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
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.
As of APEX 22.2, 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.
Deprecated jQuery Date Picker
As of APEX 22.2, 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.
Previously Deprecated APIs
As of APEX 22.1, the APEX_IR.GET_REPORT API is deprecated. Instead, use APEX_REGION.OPEN_QUERY_CONTEXT to get interactive report data.
Deprecated Legacy Web Service References
As of APEX 22.1, SOAP style Web Service references and legacy support for REST style Web Services references are deprecated.
jQuery UI Deprecated
As of APEX 20.1, 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.14.1 that includes only the modules that APEX needs. Oracle no longer ships individual widgets or any jQuery UI CSS files.