Oracle APEX 21.1.0 was released on May 12, 2021.
Here is the shortcut link to the download: apex.oracle.com/download/ and don’t forget to apply the Patch Set Bundle for Oracle APEX 21.1
As you already know from my previous comparison posts (e.g. this one), I always start by looking at the changes on APEX View’s and API’s. This will reveal all the important fundamental changes.
Of course we won’t catch UI changes this way, but most features are based on Metadata/View/API changes, so this approach will give us a good overview of changes.
This will most likely be the last detailed blog post of version changes. I’m working on a new tool to list and visualize changes between APEX versions, which will be made public as a free service for everyone. Stay tuned…
General Changes
Several Views have been enhanced with a “comments” column for developer comments, helping us to document our work better.
The Data-Generator (Blueprint) feature already snuck into this release, although it isn’t documented, yet, and will be made public with APEX 21.2 (according to the APEX SOD).
Data Loading has been overhauled / replaced, thus we have some changed/new views and APIs.
And, of course, the fabulous map region was released with APEX 21.1.
Views
APEX_APPLICATIONS
+ created_by – APEX developer who created the application
+ created_on – Date of creation
+ referrer_policy – Determines the referrer-policy HTTP response header
APEX_APPLICATION_ITEMS
+ escape_on_http_output – If Yes values will be escaped when they are used in substitutions.
APEX_APPLICATION_PAGE_BUTTONS
+ grid_row_css_classes – Additional CSS classes which are substituted if the grid row template contains the substitution string #CSS_CLASSES#
APEX_APPLICATION_PAGE_DA_ACTS
+ client_condition_type – Identifies the client-side condition that can be used to control when the Action fires
+ client_condition_type_code – Internal code of CLIENT_CONDITION_TYPE
+ client_condition_element_type – Identifies the type of element used for the client-side Condition
+ client_condition_element – Identifies the element that will be used for the client-side Condition
+ client_condition_expression – Identifies the client-side condition expression used to control when the Action fires
+ server_condition_type – Identifies a server-side condition that must be met in order for this Action of a Dynamic Action to be processed
+ server_condition_type_code – Internal code of SERVER_CONDITION_TYPE
+ server_condition_expression1 – Specifies an expression based on the specific server condition type selected.
+ server_condition_expression2 – Specifies an expression based on the specific server condition type selected.
+ build_option – Dynamic Action will be processed if the Build Option is enabled
+ build_option_id – Foreign Key
+ authorization_scheme – An authorization scheme must evaluate to TRUE in order for this Action of a Dynamic Action to be processed
+ authorization_scheme_id – Foreign Key
removed: APEX_APPLICATION_PAGE_FLASH5
removed: APEX_APPLICATION_PAGE_FLASH5_S
APEX_APPLICATION_PAGE_IR_COL
+ rich_text_format – Identifies the format of a Rich Text column.
APEX_APPLICATION_PAGE_IR
+ lazy_loading – Identifies whether to defer getting initial set of data from the server until needed
APEX_APPLICATION_PAGE_ITEMS
+ grid_row_css_classes – Additional CSS classes which are substituted if the grid row template contains the substitution string #CSS_CLASSES#
APEX_APPLICATION_PAGE_REGIONS
+ grid_row_css_classes – Additional CSS classes which are substituted if the grid row template contains the substitution string #CSS_CLASSES#
APEX_APPLICATION_THEME_STYLES
+ css_classes – Identifies CSS classes to be applied to all pages
new: APEX_APPL_DATA_LOADS – Identifies Application Data Load definitions
APEX_APPL_DATA_PROFILES
+ csv_separator – The column delimiter character
+ csv_enclosed – The column enclosed by character
+ default_xlsx_sheet_name – The name of the XLSX worksheet to parse by default
+ skip_rows – The number of rows to skip from the first row when parsing
+ has_header_row – Indicates if the data contains column names in the first row
+ comments – Developer comments
APEX_APPL_DATA_PROFILE_COLS
+ column_type – Identifies the column type
+ decimal_char – Decimal character for NUMBER type
+ group_char – Group separator for NUMBER type
+ column_selector_type – Identifies if column expression is based on name or sequence for CSV and XLSX data format
+ transform_type – Identifies the type of column transformation rule
+ expression1 – Specifies an expression 1 based on the specific transformation type selected
+ expression2 – Specifies an expression 2 based on the specific transformation type selected
+ lookup_owner – Identifies the name of the schema to which the lookup table belongs to
+ lookup_table – Identifies the name of the table name for which the lookup will be defined
+ lookup_column1 – Identifies the first column name to be used to retrieve the return column from the lookup table
+ lookup_value1 – Identifies the data profile column that matches the first lookup table column value
+ lookup_column2 – Identifies the second column name to be used to retrieve the return column from the lookup table
+ lookup_value2 – Identifies the data profile column that matches the second lookup table column value
+ lookup_column3 – Identifies the third column name to be used to retrieve the return column from the lookup table
+ lookup_value3 – Identifies the data profile column that matches the third lookup table column value
+ lookup_key_column – Identifies the name of the return column in the lookup table
+ lookup_where_clause – Identifies the lookup where clause
+ comments – Developer comments
APEX_APPL_PAGE_FACETS
+ is_toggleable – Identifies whether end-users can toggle the visibility of the facet
+ is_initial_toggled – Identifies whether the facet is displayed by default
APEX_APPL_PAGE_ITEM_GROUPS
+ show_chart – Identifies whether the facet values can be shown as a chart.
+ initial_chart – Identifies whether the chart displaying facet values is initially shown.
+ is_toggleable – Identifies whether end-users can toggle the visibility of the facet group
+ is_initial_toggled – Identifies whether the facet group is displayed by default
new: APEX_APPL_PAGE_MAPS
new: APEX_APPL_PAGE_MAP_LAYERS
APEX_APPL_WEB_SRC_OPERATIONS
+ force_error_for_http_404 – Whether to always raise an error if the REST API responds with HTTP-404
+ comments – Developer comments
APEX_APPL_WEB_SRC_PARAMETERS
+ array_separator_char – Character to separate values when IS_ARRAY is enabled.
+ comments – Developer comments
new views (36!!) for APEX 21.2 (!) feature for Blueprints: APEX_DG_*
removed: APEX_INST_RESTADM_CLIENTS
removed: APEX_INST_RESTADM_CLIENT_ROLES
removed 10 views for deprecated Forms/APEX Migrations: APEX_MIGRATION_*
APEX_PATCHES
+ images_version – Identifies the version of the images for the patch
removed 6 views for deprecated Packaged Applications: APEX_PKG_*
APEX_REST_SOURCE_SYNC_LOG
+ synchronization_run_id – Internal ID of this synchronization run; used to group multiple synchronization steps
APEX_WORKSPACES
– allow_packaged_app_ins_yn – Controls availability of identified component
PL/SQL API’s
APEX_APPLICATION
- removed: Apps_Only_Workspace
- Js_Messages
- remove p_operation
APEX_APP_SETTING
- Get_Value / Set_Value
- + p_raise_error
APEX_DATA_LOAD
- removed: Validate_Plsql_Expressions
new: APEX_DATA_LOADING – Implementation for the new data loading process type
APEX_DATA_PARSER
- new: Assert_File_Type
new: APEX_DG_DATA_GEN – not, yet, public feature for data generation (Enable intelligent generation of sample data) -> wait for APEX 21.2
new: APEX_DG_OUTPUT not, yet, public feature for data generation (Enable intelligent generation of sample data) -> wait for APEX 21.2
APEX_EXEC
- new function overloads for add_filter, add_parameter, set_value
- new: Get_Sdo_Geometry
- new: Set_Current_Row
APEX_JSON
- new: Get_Sdo_Geometry
- new function overloads for Stringify and Write/Write_Raw
removed: APEX_MIG_PROJECTS_UPDATE
new: APEX_MARKDOWN – convert Markdown to HTML directly in the database
removed: APEX_PKG_APP_INSTALL
APEX_SPATIAL
- new: Spatial_Is_Available
APEX_STRING
- new: Plist_Get_Key
APEX_UTIL
- Count_Click
- + p_referrer_policy
- new: Prn – to output a CLOB
WWV_FLOW_UTILITIES
- new: Striphtml_Clob