What's New in Oracle APEX 24.1

Read Announcement

APEX Brings Gen AI to Developers

AI-Assisted App Development

Introducing APEX AI Assistant, an integrated, conversational companion that uses generative AI to help with many development activities, from creating apps to authoring code. With APEX AI Assistant, you can generate, optimize, explain, or debug SQL queries, or get help with HTML, CSS, JavaScript, and PL/SQL - in any code editor across APEX.

Oracle APEX 24.1 offers developers the ability to configure an AI provider to enable the AI-assisted app development experience. Read the blog post.
  • Create Apps using Natural Language

    Simply describe the kinds of pages, data, and features you want, and APEX AI Assistant puts together an application blueprint to get you started. You can further refine the application using the full Create App wizard or generate the application immediately.

  • AI-Assisted SQL Authoring

    APEX AI Assistant helps you author SQL queries over your application data model by understanding your natural language description of what data you want to retrieve. Augment existing queries by explaining the additional information to include. This frees you from having to lookup exact database table and column names or precise SQL syntax to achieve a result.

  • AI-Assisted Debugging

    Need to debug errors within your SQL or PL/SQL code? Use the "Help me fix this" link below the error message to invoke the APEX AI Assistant to help you diagnose the issue and suggest solutions.

AI-Powered Apps

Oracle APEX 24.1 makes it easier than ever to integrate AI capabilities into your own applications. Simply configure one or more Al providers, then build custom AI features using them declaratively or programmatically with the new APEX_AI API.

  • Configure Generative AI Services

    APEX offers an abstraction layer for AI services at the Workspace level. This enables seamless integration with these services across applications and makes for easy portability during import/export.

  • Conversational AI Dialogs

    Easily configure AI-powered conversational experiences using a new dedicated Dynamic Action. Simply provide the system prompt, welcome message, and customize the appearance, choosing whether to display the AI assistant within a modal dialog or inline directly on your page.

  • APEX_AI API

    Unlock deeper AI integrations using the new APEX_AI API. Its chat() and generate() methods simplify building intelligent features using the generative AI services configured within your APEX Workspace. They save you from having to understand the differences of individual provider's APIs and interaction flows.

New and Updated Components

New Select One and Select Many Items

Two new page items let users choose one or more options from a list of values, with more flexible styling and searching than browser native select lists.

  • Search and Select with Ease

    Search across multiple columns and select multiple options, all while keeping the select dropdown open.

  • Flexible and Friendly UI

    Style search results using custom HTML with Template Directives, and optionally include icons and groups. Selected options appear as chips while editing, or as a delimited list otherwise.

Faster, More Flexible Template Components

Template Components now render faster, support selection and slots for nesting, and can be used without a data source.

  • Selection Support

    Declaratively enable single- or multi-row selection when using template component reports, and easily access primary keys of selected rows.

  • Region-Only Template Components

    Simplify recurring UI patterns using template components that don't require a data source. Their markup can reference custom attributes and slots that can contain other components with built-in Page Designer support.

  • Improved Rendering Performance

    Template Components now render 33% faster than before thanks to improvements to the rendering process.

  • Easy Component Composition

    Page positions and display points have been standardized into one term: Slots. Template Component developers can define slots at the Template Component level, allowing developers to nest components inside Template Components in Page Designer.

Support for Hierarchical REST Source Data Profiles

APEX Components can now consume data from REST Sources on every hierarchy level.

Read Blog Post
  • Array Columns in Data Profiles

    New data profile Array columns in REST Data Sources let you model the entire JSON data hierarchy to any level.

  • REST Source Catalog Support

    REST Source Catalogs now support array columns and hierarchies.

  • API Support

    Use an enhanced APEX_EXEC API to fetch hierarchical JSON data programmatically and build DML requests with array columns.

Workflow and Approvals Enhancements

Read the Workflow Blog Post
  • Embeddable Workflow Diagrams

    The new Workflow Diagram region enables you to embed and display the status of your workflow directly within your own applications.

  • New Workflow Dashboard Page

    Creating a Workflow Console page now includes an option for a Workflow Dashboard displaying analytics such as workflows by state, active and fault workloads, and average completion time.

  • Flexible Vacation Handling for Tasks

    Add vacation rules at the task definition or application level, using a procedure to substitute task participants during runtime. APEX evaluates these rules when creating or delegating task instances. Read the Vacation Rules blog post.

  • Developers can specify if a task initiator is also entitled to approve or reject the task.
  • Enhanced APIs enable you to to retrieve task and workflow instances that are purgeable and process them before they are archived.
  • Custom activities that do asynchronous work can now specify a termination function to react as necessary when a workflow instance gets terminated.
  • The workflow instance ID can now be included in debug messages.
  • Developers can specify if a task initiator is also entitled to approve or reject the task using a switch in the Task Definition Editor or the Human Task - Create Page process.

Developer Experience

Component Groups

  • New Shared Component Type

    A new Shared Component type, Component Group, is a collection of other Shared Components. This lets you easily copy, subscribe to, or refresh all components in the group with a single action. All shared components that support subscription can be added to a component group.

  • Subscription Enhancements

    We've expanded support for full subscription functionality, which includes setting subscribed components as read-only, automatic dependency resolution, a subscription status column, and bulk refresh or deletion of subscriptions, for the following shared components: Lists, Data Load Definitions, REST Data Sources, Authentication Schemes, Authorization Schemes, List of Values, Plug-ins, Shortcuts, and Search Configurations.

Improvements to Working Copies

The Application Working Copies feature set has been enhanced to provide a more efficient development experience when changes exist to pages across copies. New options in Page Designer allow developers to find and compare changes between a single page in other Working Copies and Main.

  • Flag Pages Changed in Other Copies

    The Page Designer toolbar now has a visual indication when the current page has been modified or locked in another Working Copy or in Main. Use this tool to open a full report to see which developers have made changes or locked pages in which copies.

  • Compare Changes Between Copies

    Open the YAML diff editor from the page changes and locks report to view the differences between the current page in Page Designer and the same page that has been changed in another copy. Alternatively, quickly compare the current page with the version in the Main application using the new Compare Current Page with Main utility from the Working Copy menu.

  • Notify Developers Working in Main

    Avoid accidental modifications to the Main application with the help of a new alert banner that notifies developers when they are working in Main.

Document Generator Remote Printing

Leverage the OCI Document Generator pre-built function with a new remote print server type to generate PDF documents.

Read Blog Post
  • Report Layout Management

    Define templates using Microsoft Word, then drag and drop them into APEX to create Report Layouts. It's that simple - APEX manages the rest!

  • Pixel Perfect Printing

    Use the new page process type, Print Report, to target report queries and easily print report layouts exactly as you want them, without a pixel out of place! Use the new APEX_PRINT API to generate PDF documents programmatically, for example as part of a workflow or in a background execution chain.

Builder Extensions Enhancements

A workspace can now be configured to host APEX Builder extensions that other workspaces on the same instance can invoke. If an invoking workspace grants read-access to a builder extension, then the extension can see the invoking workspace's metadata in the APEX dictionary views.

  • Extension Apps

    These apps can be opened from the current Builder session without needing to sign in again, providing insight into your workspace's application metadata.

  • Publish and Subscribe

    Publish Extension apps using the Extension menu, and subscribe workspaces to Extension menus in Extension Workspaces or invoke published Extensions.

  • New API

    A new API for Builder extension apps provides an Extension workspace access to the application metadata of a workspace.

General Builder Improvements

  • Spotlight Search Enhancements

    The APEX Builder Spotlight Search has been improved to display results in categories and highlight the search term within each result.

  • REST Data Source Improvements

    A new REST Source parameter type Parent Column allows to pass the value of a Parent IG in a Master Detail relationship to the REST Source. New "Is Common" Data Profile Column attribute allows Create Page wizards to focus on the important attributes when creating new pages.

  • Export Pages in Readable Format

    Export pages in readable YAML format through the Export Page option in App Builder, or through SQLCL and the command line, and use this format to easily compare different versions of a page.

  • Page Designer Enhancements

    The icon picker in Page Designer is now resizable, and a region title can now be distinct from the region's name.

User Experience

Universal Theme and Font APEX Updates

  • Font APEX 2.3

    The next version of Font APEX brings 70 brand new icons to Universal Theme, including AI, business, calendar, and web application icons, as well as a Badgerine icon in memory of our friend and colleague, Allan Sitterson.

  • Redwood Light

    Updates to Redwood Light include minor UI enhancements for the Avatar and Badge Template Components, the Combobox and LOV chips, the Wizard File Drop Train, Input focus styles, Interactive Grid and Interactive Report filters and chips, and Page header.

  • Additional Theme Changes

    New template option to hide empty results for value-pair and contextual info templates.

Accessibility Improvements

  • Read-Only Items

    Read-only items have been updated to support accessible rendering. This includes new APIs for numerous native items: Color Picker, Combobox, Date Picker, Number, Display Only, Popup LOV, Select List, Select One, Select Many, Switch Text, Textfield, Text with Autocomplete, and Textarea. Plug-in developers can leverage APEX_PLUGIN_UTIL.PRINT_READ_ONLY API to support the new accessible rendering.

  • Accessibility Help Text

    There are many attributes that are very important for accessibility. To simplify the process and emphasize the significance of these attributes, new accessibility-specific help text has been added to these attributes in Page Designer, to better guide developers into creating accessible APEX apps.

  • Bug Fixes

    Numerous accessibility-centered bug fixes have been made across APEX to enhance the user experience for all users.

Auto-Dismissing Success Messages

  • Application Level Control

    A new application-level setting, Auto-Dismiss Success Messages provides developers with easy control over the behavior of application success messages. Turn this new application User Interface attribute on to make all success messages in an application dismiss automatically.

  • Set Dismiss Preferences

    Use the new setDismissPreferences API to control dismiss preferences and customize the timing of the auto-dismiss functionality.

Additional Updates and Enhancements

  • Unlimited Attributes for Regions

    With the 23.2 release, the custom attribute limit for Template Components was removed. This update extends the same functionality to Region Plug-ins. New region plug-ins now utilize the updated infrastructure by default, allowing developers to configure an unlimited number of plug-in attributes.

  • Date Picker Support for Filters

    Filter results in Faceted Search and Smart Filters regions using the Date Picker in Input facets and Manual Range inputs, and set format masks to customize date representation. Read the blog post about Date Picker support for Faceted Search and Smart Filters.

  • Declarative File Download Support

    Easily trigger the download of BLOB and CLOB files with the new Download Dynamic Action and Process Type. Download a single file or multiple files as a zip, and choose between showing a file as a downloaded attachment or inline in the browser.

  • Dynamic Action Enhancements

    Trigger actions every time the value of an element changes with the new Input Dynamic Action Event. Plus, the JavaScript Code and Execute Server-side Code actions have been added to the Quick Pick options for Dynamic Action action types to easily access these commonly used options.

  • Button Processing

    Avoid accidental multiple page submissions by displaying a processing animation and temporarily disabling page interaction using the new Show Processing attribute available for page buttons.

  • New Language Support for Runtime Messages

    Language support for runtime messages in APEX has been extended to include Ukrainian and Vietnamese, increasing support to 34 total languages.

  • Built-in Oracle TEXT Search Functions

    Enable advanced, full text search features, including fuzzy and proximity search, with new Oracle Text Query functions, Search Engine and Expert Search, both available as part of the APEX_SEARCH API.

  • Support for Database Credentials

    Basic Authentication or OAuth2 Client Web Credentials can reference a Database Credential storing the Client ID and Client Secret. This feature is only available on Oracle Database 23ai or Autonomous Database release 19c or later.

  • Custom Separators for Multi-Value Items

    Define custom separators for multi-value-based items and avoid individual item implementations with new custom separator support for the Combobox, List Manager, Popup LOV, Select List, Select Many, and Shuttle types.

  • Multi-Domain Support for SAML Authentication

    With new support for the "AssertionConsumerServiceIndex" attribute in SAML authentications, APEX Instance Administrators can configure SAML callbacks for Supported Callback URLs of multiple domains in the Instance Administration settings.

  • Database Dependency

    APEX developers can use the new APEX_APP_OBJECT_DEPENDENCY API to analyze their applications and report all references to database objects by page and application.

  • Server Side Geocoding

    The new process type available in APEX ADB instances, Server Side Geocoding, allows users to turn postal addresses into coordinates independently from the UI.

  • Alternative Report Column Labels

    The Alternative Label attribute is now available for Interactive Report columns, allowing developers to customize column headings with markup for use in dialogs and additional various column heading placements.

  • Limited Mail Requests

    Instance Administrators can control the number of mail requests made by a single tenant by defining a maximum number of emails to be processed during each invocation of the ORACLE_APEX_MAIL_QUEUE scheduler job.

  • PL/SQL API Updates

    The addition of new PL/SQL APIs bring new functionality to developers. A new TERMINATE function within the APEX_AUTOMATION API allows developers to terminate a currently executing automation. Describe columns and data types of a data source using the new DESCRIBE_QUERY function in APEX_EXEC. And the APEX_INSTANCE_ADMIN API has been updated to provide new levels of control over creating and unlocking accounts and instances and granting APEX privileges.

  • JavaScript Library Upgrades

    We've updated several JavaScript libraries to newer releases, including Oracle JET 16.0.1, FullCalendar 6.1.11, Monaco Editor 0.47.0, MarkedJS 12.0.1, Less.js 4.2.0, DOMPurify 3.0.11, Terser 5.30.3, TinyMCE 6.8.3, PrismJS 1.29.0, CSSO 5.0.5, Cropper.js 1.6.1, Turndown 7.1.2, Font APEX 2.3, Oracle Rich Text Library. Additionally, Mapbox has been upgraded to MapLibre 4.0.1.

APEX 24.1 also delivers on 40+ community submitted ideas!

Explore Previous Releases

View Release Notes