Skip to Main Content
Click here to see if your APEX version is still supported.
For differences in Oracle Database features, you might want to click here.

Remarks

ReleasePatchset Nr Publish Date DescendingSourceCategoryComponentRef. NrTitleDetails
19.1.0.00.15 29-MAR-2019OracleChanged Behavior Browser RequirementsOracle Application Express requires a JavaScript-enabled browser and supports the current and prior major release of Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Internet Explorer, and Microsoft Edge. Note: Microsoft Internet Explorer 11 is the prior major release, with Microsoft Edge being the current Microsoft browser.
19.1.0.00.15 29-MAR-2019OracleChanged Behavior ORDS Services tree focusPrior to this release, the ORDS Services tree always displayed fully expanded. This became bothersome if you had more than a small number of services and templates. The tree now only displays the currently focused item (the item being edited/viewed) and above in the tree. All others are collapsed. Within a user session, the tree used across the ORDS RESTful Services Workshop remembers which nodes are open and closed.
19.1.0.00.15 29-MAR-2019OracleChanged BehaviorInteractive Grid Interactive Grid EnhancementsThis release includes several updates to interactive grid: Changing views when the grid view has edits no longer warns about unsaved changes and the changes are not lost. The icon and detail views update if the underlying model data changes due to programmatic updates. The Filter and Highlights now have the correct max length for the value field. The chart view now obeys the "Lazy Loading" attribute and uses the "Messages: When No Data Found" attribute. The icon, detail, and chart views no longer fetch data or render if the view is not visible (such as in a collapsible region). The grid view already worked this way. Interactive Grid Attributes New Interactive Grid Attributes: Toolbar / Controls: Search Column Selection Toolbar / Controls: Search Field Toolbar / Controls: Actions Menu Enable Users To: Flashback Enable Users To: Define Chart View Appearance: Select First Row Updated Interactive Grid Attributes: Toolbar / Controls (was Toolbar / Buttons) Toolbar / Controls: Reset Button (was Reset) Toolbar / Controls: Save Button (was Save) Interactive Grid Column Attributes New Interactive Grid Column Attributes: Enable Users To: Hide Enable Users To: Control Break/Aggregate Updated Interactive Grid Column Attributes: Enable Users To: Sort (was Sort/Control Break/Aggregate)
19.1.0.00.15 29-MAR-2019OracleChanged BehaviorjQuery JQUERY AND JQUERY UI UPGRADEOracle APEX 19.1 includes jQuery 3.3.1, which breaks compatibility with earlier 2.x versions. If your application relies on removed 2.x, or 1.x jQuery functionality, then this functionality will no longer work. Workaround: For applications that still rely on removed 2.x functionality, you can use the jQuery Migrate plug-in. To include this plug-in, set the Desktop User Interface Details attribute Include jQuery Migrate to Yes. If your application relies on removed 1.x jQuery APIs, that functionality will no longer work, and you must update the JavaScript to only use jQuery 3.1 APIs. Review the jQuery migration guides to learn more: To migrate from 1.x to 2.x see http://jquery.com/upgrade-guide/1.9/ To migrate from 2.x to 3.x see https://jquery.com/upgrade-guide/3.0 For further information including information about the jQuery UI upgrade, please review section 9.1.3 Known Issues for jQuery and jQuery UI in the release notes.
19.1.0.00.15 29-MAR-2019OracleChanged BehaviorCharts FLASH CHARTS AND GANTT CHARTS NO LONGER DISPLAYStarting with Oracle Application Express 5.1.4 and continuing with later releases, the AnyChart and AnyGantt flash .swf files have been removed from the /images folder. This will result in your map chart and gantt charts no longer rendering. No error message will be displayed, instead the region will be blank. Solution: To install the AnyChart Flash Content in your instance, download the zip file, unzip the contents and follow the instructions outlined in the README.txt file, to update your images folder. Workaround: Please see the Addendum for more details.
19.1.0.00.15 29-MAR-2019OracleChanged BehaviorJET Chart JET Chart Gantt Tooltip EnhancementsNew declarative attributes have been added to JET charts to support the customization of the Gantt chart tooltip. The following attributes are available to declaratively customize the tooltip: Show Row Show Label Show Start Date Show End Date Show Progress Show Baseline The column mapping Custom Tooltip can be used to override the declarative tooltip settings.
19.1.0.00.15 29-MAR-2019OracleChanged BehaviorList apex.item Select List BehaviorPrior to this release, the default behavior of apex.item().setValue for a select element differed from the Select List item setValue behavior. When the value was something other than one of the existing options, each function implemented setValue differently. In this release, both functions behave the same. The Select List page item uses the apex.item default setValue implementation. When you use apex.item().setValue or a dynamic action to set the value of a select element, setting it to a value other than one of the option values results in the value of the first option if the select element is a drop-down; if the select element is not a drop-down, it results in an empty string. Additionally, this release improves the logic to detect if the element is a drop down.
19.1.0.00.15 29-MAR-2019OracleChanged Behavior Enabling Network Services in Oracle Database 11g or LaterYou must enable network services in Oracle Database 11g or later versions to send outbound mail, use Web services, or use PDF report printing in Oracle Application Express. 5.1.4.1 When and Why Network Services Must be Enabled Enabling network services enables support for sending outbound mail in Oracle Application Express, use of Web services in Oracle Application Express, and PDF report printing. By default, the ability to interact with network services is disabled in Oracle Database 11g Release 2 or later. Therefore, if you are running Oracle Application Express with Oracle Database 11g Release 2 or later, you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_190100 database user. Failing to grant these privileges results in issues with: Sending outbound mail in Oracle Application Express. Users can call methods from the APEX_MAIL package, but issues arise when sending outbound email. Using Web services in Oracle Application Express. PDF report printing. Note: When upgrading Application Express on a database 12c or newer,based on the configuration of the old Application Express version the upgrade automatically configures Network Services. Tip: To run the examples described in this section, the compatible initialization parameter of the database must be set to at least 11.1.0.0.0. By default a 11g or 12c database will already have the parameter set properly, but a database upgraded to 11g or 12c from a prior version may not. For information about changing database initialization parameters, see "Creating and Configuring an Oracle Database" in Oracle Database Administrator’s Guide. 5.1.4.2 Granting Connect Privileges Prior to Oracle Database 12c Demonstrates how to grant connect privileges to any host for the APEX_190100 database user. The following example demonstrates how to grant connect privileges to any host for the APEX_190100 database user. This example assumes you connected to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role. DECLARE ACL_PATH VARCHAR2(4000); BEGIN -- Look for the ACL currently assigned to '*' and give APEX_190100 -- the "connect" privilege if APEX_190100 does not have the privilege yet. SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_190100', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_190100', TRUE, 'connect'); END IF; EXCEPTION -- When no ACL has been assigned to '*'. WHEN NO_DATA_FOUND THEN DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml', 'ACL that lets power users to connect to everywhere', 'APEX_190100', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*'); END; / COMMIT; The following example demonstrates how to provide less privileged access to local network resources. This example enables access to servers on the local host only, such as email and report servers. DECLARE ACL_PATH VARCHAR2(4000); BEGIN -- Look for the ACL currently assigned to 'localhost' and give APEX_190100 -- the "connect" privilege if APEX_190100 does not have the privilege yet. SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_190100', 'connect') IS NULL THEN DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 'APEX_190100', TRUE, 'connect'); END IF; EXCEPTION -- When no ACL has been assigned to 'localhost'. WHEN NO_DATA_FOUND THEN DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml', 'ACL that lets users to connect to localhost', 'APEX_190100', TRUE, 'connect'); DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); END; / COMMIT; 5.1.4.3 Granting Connect Privileges in Oracle Database 12c or Later Procedures CREATE_ACL, ASSIGN_ACL, ADD_PRIVILEGE and CHECK_PRIVILEGE in DBMS_NETWORK_ACL_ADMIN are deprecated in Oracle Database 12c. Oracle recommends to use APPEND_HOST_ACE. The following example demonstrates how to grant connect privileges to any host for the APEX_190100 database user. This example assumes you connected to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role. BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => '*', ace => xs$ace_type(privilege_list => xs$name_list('connect'), principal_name => 'APEX_190100', principal_type => xs_acl.ptype_db)); END; / The following example demonstrates how to provide less privileged access to local network resources. This example enables access to servers on the local host only, such as email and report servers. BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'localhost', ace => xs$ace_type(privilege_list => xs$name_list('connect'), principal_name => 'APEX_190100', principal_type => xs_acl.ptype_db)); END; / 5.1.4.4 Troubleshooting an Invalid ACL Error Learn how to identify any invalid ACL error by running the query. If you receive an ORA-44416: Invalid ACL error after running the previous script, use the following query to identify the invalid ACL: REM Show the dangling references to dropped users in the ACL that is assigned REM to '*'. SELECT ACL, PRINCIPAL FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND NACL.ACLID = ACE.ACLID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL); Next, run the following code to fix the ACL: DECLARE ACL_ID RAW(16); CNT NUMBER; BEGIN -- Look for the object ID of the ACL currently assigned to '*' SELECT ACLID INTO ACL_ID FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; -- If just some users referenced in the ACL are invalid, remove just those -- users in the ACL. Otherwise, drop the ACL completely. SELECT COUNT(PRINCIPAL) INTO CNT FROM XDS_ACE WHERE ACLID = ACL_ID AND EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL); IF (CNT > 0) THEN FOR R IN (SELECT PRINCIPAL FROM XDS_ACE WHERE ACLID = ACL_ID AND NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL)) LOOP UPDATE XDB.XDB$ACL SET OBJECT_VALUE = DELETEXML(OBJECT_VALUE, '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]') WHERE OBJECT_ID = ACL_ID; END LOOP; ELSE DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID; END IF; END; / REM commit the changes. COMMIT; Once the ACL has been fixed, you must run the first script in this section to apply the ACL to the APEX_190100 user.
19.1.0.00.15 29-MAR-2019OracleChanged Behavior Read Only Calendar regions Do Not Support Drag and DropAs of Application Express 19.1, the calendar disables drag-and-drop operation of calendar events when the region is set to "Read Only."
19.1.0.00.15 29-MAR-2019OracleChanged Behavior Compatibility ModeThe application attribute Compatibility Mode controls the compatibility mode of the Application Express runtime engine. Certain runtime behaviors change from release to release. You can use the Compatibility Mode attribute to obtain specific application behavior. This section lists Compatibility Mode changes by release. Note that all mode changes are inclusive in that all changes in older releases are included in newer releases. Compatibility Mode Changes in Mode 4.1 In Oracle Application Express release 4.1, Automatic DML forms raised an error when rendering the page if the column name of the source of an item was invalid. Prior to Oracle Application Express release 4.1, an invalid column name of the source of an item would not raise an error when rendering the page but it would also not set session state of the item. Also, in Oracle Application Express release 4.1, there are two new application Security Attributes to control Browser Security: Cache and Embed in Frames. Enabling the Cache attribute enables the browser to save the contents of your application's pages in its cache, both in memory and on disk. The Embed in Frames attribute controls if the browser displays your application's pages within a frame. Applications running in a Pre-4.1 Compatibility Mode function as if the Cache is enabled and as if Embed in Frames is set to allowed. Applications running in Compatibility Mode 4.1 or later respect the specific Browser Security attributes. Also, in Oracle Application Express release 4.1, because of bug 12990445, the following changes were implemented for Automatic Row Processing (DML) process types. The code which performs the INSERT was changed to determine if the columns should be included in the INSERT statement. Note that these are the same checks which occur before an UPDATE. These new checks include: Is the source type a DB Column? Is the page item contained in the POST request? For example, if the page item is conditional it will not be contained in the POST request if the condition evaluates to FALSE during page rendering. Is the page item not of type Display Only where Save State is set to No? To enable these behaviors, set the Compatibility Mode to 4.1 or later. For behavior that matches earlier releases, set the Compatibility Mode to Pre-4.1. Compatibility Mode Changes in Mode 4.2 In Oracle Application Express release 4.2 due to changes for the new grid layout, when a page is rendered, all regions in a certain display point are evaluated before rendering that display point, to find out if they should be displayed or not (so that the grid layout knows how many columns to render). The regions where the evaluation returned true will be executed and displayed. However, this will not work if a PL/SQL based region sets session state which is then used in a subsequent region condition to determine if the region should be displayed. In that scenario, the condition has already been checked before the display point is rendered. Use computations or PL/SQL processes to set session state before any region is displayed. In previous versions, the condition was evaluated right before each region was displayed. In Oracle Application Express release 4.2, computations and processes with a processing point Before Region(s) do now fire before any region gets rendered. Computations and processes with a processing point After Region(s) fire after all regions have been rendered. In previous versions, the computations and processes fired just before and after the region display point Page Template Body (1-3). Oracle Application Express Patch Set 4.2.2 added two new Compatibility Mode changes for Compatibility Mode 4.2: Text areas were changed to always use the Maximum Width attribute to restrict text input. Enhanced security for report column links, where the link contains both JavaScript and references to other report column substitutions, for example: javascript:alert( 'Delete #NAME#' ); In the previous example, NAME is a column name in the report. Prior to Oracle Application Express release 4.2.1, to protect against possible cross-site scripting vulnerabilities, you would have had to explicitly escape any column values in the report source, so that they could safely be used in JavaScript links. When running in Compatibility Mode 4.2, Oracle Application Express automatically JavaScript escapes column name substitutions referenced in JavaScript links if the column is defined to escape special characters. See Also: To learn more, see Oracle Application Express Patch Set Notes and search for Compatibility Mode. Compatibility Mode Changes in Mode 5.0 In Oracle Application Express release 5.0, referencing a Static Application File with #WORKSPACE_IMAGES# no longer returns the application file. Instead, use #APP_IMAGES#. The API calls to wwv_flow_custom_auth_std.logout, wwv_flow_custom_auth_std.logout_then_go_to_page, wwv_flow_custom_auth_std.logout_then_go_to_url, and apex_custom_auth.logout are desupported and will raise a runtime error instead of logging out from the Oracle Application Express session. Instead, use the apex_authentication.logout entry point. Prior to release 5.0, developers using data upload did not have the option to choose a date format. Instead, a parser checked for the best format to match the user's entry or an end user could enter their own format. Oracle Application Express release 5.0 includes a new item that enables the user to choose an application date format or user entered format. Because applications created before release 5.0 do not have an item, a Compatibility Mode of 5.0 checks if the user has entered some data. If no data has been entered, it picks the application date format. When a session timeout occurs and no timeout URL is specified, Oracle Application Express raises an error instead of redirecting to the application's home page. If the session setup for an Ajax requests fails, Oracle Application Express also raises an error. For Ajax requests that expect JSON, the response is a JSON string with members that describe the error. For other requests, the error appears on an error page. Page items based on a database column where the attribute Source Used is set to Only when current value in session state is null will raise an error when the page item gets rendered. Using this setting for a database column is very dangerous and can result in accidentally overwriting data when viewing and saving multiple records. Always set the Source Used attribute to Always, replacing any existing value in session state. Compatibility Mode Changes in Mode 5.1 / 18.1 In Oracle Application Express 18.1, buttons where the Execute Validations attribute is set to Yes also perform some client-side validations (such as item required checks) and will not submit the page until all issues are fixed. In previous versions this flag was just used to determine if server-side validations should be executed. Tip: Please pay attention when changing the Compatibility Mode to 5.1/18.1. Buttons, such as Cancel or Previous, where the Execute Validation flag has incorrectly been set to Yes and which use an After Submit branch, never execute validations when the user clicks the button. You can address this issue by using the new client-side validations, or by setting Execute Validations to No. In release 5.1, any Ajax-based Dynamic Actions where the "Wait for Result" attribute is set to Yes perform an asynchronous Ajax call. Prior to 5.1, such calls would be made synchronously. Compatibility Mode Changes in Mode 19.1 In Oracle Application Express 19.1, the Rich Text editor now enforces validation of the Max Length item attribute. When the length of the HTML markup exceeds the Max Length value, the system produces an error message.
19.1.0.00.15 29-MAR-2019OracleDeprecated Team Development DeprecatedTeam Development is deprecated as of this release. It will be removed in a future release. A new system to track feedback, issues, and milestones will replace it.
19.1.0.00.15 29-MAR-2019OracleDeprecated apex.navigation.dialog.fireCloseHandler function is DeprecatedThe apex.navigation.dialog.fireCloseHandler function is deprecated. It will be removed in a future release.
19.1.0.00.15 29-MAR-2019OracleDeprecated apex.page.confirm pMessage Parameter is DeprecatedThe default value for the apex.page.confirm parameter pMessage is deprecated. In the future this parameter will be required.
19.1.0.00.15 29-MAR-2019OracleDeprecated afterModify is DeprecatedThe apex.item callback afterModify is deprecated. It was used primarily for jQuery Mobile, which is no longer supported.
19.1.0.00.15 29-MAR-2019OracleDeprecated openModal and closeModal are DeprecatedThe undocumented theme specific functions openModal and closeModal are deprecated. Resolution Use the apex.theme.openRegion and apex.theme.closeRegion functions or the corresponding dynamic actions "Open Region" and "Close Region."
19.1.0.00.15 29-MAR-2019OracleDeprecated APEX_PAGE.IS_JQM_SMARTPHONE_UI is DeprecatedThe PL/SQL function APEX_PAGE.IS_JQM_SMARTPHONE_UI is Deprecated is deprecated and will be removed in a future release.
19.1.0.00.15 29-MAR-2019OracleDeprecated Popup LOV Template DeprecatedThe Popup LOV template type is deprecated. A future release of Application Express will not use this template to render Popup LOV dialogs.
19.1.0.00.15 29-MAR-2019OracleDeprecatedJavaScript Deprecated JavaScript FunctionsThe following functions are deprecated as of this release: Theme-specific global functions: openModal closeModal apex.item namespace: afterModify apex.page.confirm parameter: pMessage default value Other: apex.navigation.dialog.fireCloseHandler $d_Find $d_LOV_from_JSON $dom_JoinNodeLists $dom_Replace $f_Enter $f_First_field $s_Split $tr_RowMoveFollow $u_ArrayToString $u_js_temp_drop $u_SubString $x_Check_For_Compound $x_object $x_Show_Hide addLoadEvent ajax_Loading base_disableItem confirmDelete2 dhtml_ShuttleObject doMultiple findPosX findPosY flowSelectAll getScrollXY hideShow html_GetTarget html_ReturnToTextSelection html_RowDown html_RowUp html_StringReplace htmldb_ch htmldb_ch_message htmldb_doUpdate htmldb_goSubmit htmldb_item_change ie_RowFixFinish ie_RowFixStart json_SetItems lc_SetChange selectString setCaretToBegin setCaretToEnd setCaretToPos setSelectionRange setValue2 widget.util.disableIcon wiget.util.enableIcon
19.1.0.00.15 29-MAR-2019OracleDeprecated APEX_UTIL.TABLE_TO_STRING Function DeprecatedAs of Oracle Application Express 5.1, APEX_STRING.TABLE_TO_STRING is deprecated. Use APEX_STRING.TABLE_TO_STRING instead.
19.1.0.00.15 29-MAR-2019OracleDeprecated APEX_UTIL.STRING_TO_TABLE Function DeprecatedAs of Oracle Application Express 5.1, APEX_STRING.STRING_TO_TABLE is deprecated. Use APEX_STRING.STRING_TO_TABLE instead.
  • 1 - 20 of 2171