Oracle APEX 26.1 New Features: What Actually Changes for Real Developers

oracle-apex-26-1-new-features

Oracle APEX 26.1 dropped on May 14, 2026. The release notes run 90+ pages. You have production apps, deadlines, and real work waiting. So here is what actually matters, told straight, by someone who read through all of it.

This is not a press release summary. It is a practitioner’s breakdown.

Three things define this release above everything else: APEXlang changes how APEX applications exist as files. AI Agents with Tools makes APEX apps genuinely agentic, not just chat-enabled. Natural Language Interactive Reports (NL2IR) lets your users filter and query data in plain English. Everything else is important too, and some of it will affect your upgrade. But those three are the ones that change how the platform works at a fundamental level.

Let’s get into it.

What Is Oracle APEX 26.1 and Why This Release Feels Different

Every APEX release adds features. This one adds a direction. Oracle is making a clear bet: APEX should be the platform where AI generates trusted, inspectable, governed applications, rather than generating arbitrary source code that teams then struggle to own and maintain.

That philosophy shows up in every major feature of this release.

The shift from visual-only to code-plus-visual

Until now, APEX lived almost entirely in App Builder. You clicked, configured, and deployed. Source control was an afterthought for most teams. Git diffs on a monolithic SQL export file were painful and nearly unreadable. APEXlang changes that equation directly.

The platform now supports a parallel path: build in App Builder as always, but export as structured .apx text files that developers and AI coding assistants can actually read, edit, diff, and version. This is a foundational shift. It does not replace the visual builder. It extends APEX into the developer toolchain.

AI moves from chat to action

APEX has had Generative AI integrations for a while. In previous releases, those integrations were mostly about generating text: summarize this, answer that, fill this field. In 26.1, the model changes. AI Agents can now call Tools, which means they can retrieve data from your database, execute PL/SQL on the server, and interact with the browser on the client. The agent can take action inside your application, not just talk.

Database and server requirements

Before anything else, confirm your stack. APEX 26.1 requires Oracle Database 19c with patch 19.18 (January 2023) or newer. It also requires ORDS 26.1.1 or later. Oracle now recommends installing ORDS before APEX on new installations. The BOOLEAN session state data type, one of the more interesting low-level additions, requires Oracle AI Database 26ai and will not be available on 19c.

APEXlang: Oracle APEX Finally Gets a Developer-Friendly Export Format

APEXlang is the centrepiece of this release. It is worth understanding clearly, because the marketing summary (“human-readable application files”) undersells both what it is and what it changes.

What APEXlang actually is

When you export an APEX application today, you get a f100.zip containing SQL scripts full of internal API calls and numeric IDs. Those files are executable but not readable. Nobody reviews them in a pull request. Nobody uses AI to reason over them.

APEXlang exports produce an app-alias.zip containing structured .apx files instead. Each file represents a component of your application in a declarative, human-readable format. Page 5, region definitions, dynamic actions, process logic: all of it expressed as text that both a developer and a language model can parse and understand.

This is how Oracle describes the intent: “If you generate it, you own it.” APEXlang gives teams a way to own AI-generated applications because the generated artifact is transparent, inspectable, and governed from the start.

What you can do with it: Git, VS Code, AI coding assistants

APEXlang is natively supported in Oracle SQL Developer for VS Code. That means you get syntax highlighting, direct integration with GitHub Copilot or any other AI coding assistant, and standard Git operations on your application source files. Meaningful diffs. Proper pull requests. Branching strategies that actually make sense for APEX teams. SQLcl 26.1.2 ships with an apex import command that validates APEXlang files before import, which means you can catch errors in your pipeline before they hit the database.

You can also preview any page in APEXlang format directly from Page Designer, using the new APEXlang View option. This is read-only for now, but it gives you an immediate sense of how your existing application translates into the new format.

What to watch out for: Static ID changes and known limitations

APEXlang uses Static IDs as the canonical identifier for every component. In 26.1, all components now carry a unique, human-readable Static ID. When you upgrade an existing application, APEX generates these automatically, based on component names. That is largely seamless.

However, if you have JavaScript code referencing regionStaticId or staticId, those properties are renamed to regionDomId and domId at the page level. This will break existing JavaScript. Check your applications before upgrading. Oracle provides a SQL query in the release notes to identify affected dynamic actions.

One current limitation: APEXlang imports import the entire application. Single-page imports are not supported in this release. That capability will likely come in a future version.

If you build APEX plugins, APEXlang also introduces a new APEXlang Name attribute for plug-in components. Read the Unlimited Attributes section carefully. Your existing plug-in code will need updates if you want to support unlimited custom attributes, which requires switching from the function interface to a procedure interface. Plug-in projects like BioSig Pro will eventually need to adopt this new procedure-based API to take full advantage of the new attribute architecture.

AI Agents and AI Tools: The Feature That Changes How You Build Apps

This is the other headline feature of 26.1. And it is more significant than it sounds in a bullet-point list.

What changed: AI Configurations are now AI Agents

Oracle renamed “AI Configurations” to “AI Agents” across the entire platform: the UI, all API parameters, and every public dictionary view. This is not just cosmetic. The rename reflects a genuine architectural change. An AI Agent in 26.1 is not just a configuration object. It is an active participant in your application that can invoke Tools to accomplish goals.

The old APEX_AI.generate and APEX_AI.chat calls using p_config_static_id still work in 26.1, but they are deprecated. Start migrating to the new overloads that use p_agent_static_id.

The three native tool types

When you create an AI Agent, you can now attach Tools to it. Oracle ships three native types out of the box.

Retrieve Data returns information based on a SQL query, a PL/SQL function body returning a CLOB, or static text. Use this to give the agent access to your database tables without letting it write freeform SQL.

Execute Server-side Code runs PL/SQL or JavaScript MLE on the server. The agent calls this tool when it needs to perform an action, such as inserting a record, sending an email, or starting a workflow. You pass results back to the agent via set_tool_result in the APEX_AI package.

Execute Client-side Code runs in the browser. Use it to request user input, show a confirmation dialog, or call a browser API. The agent can ask a user to approve an action before the server-side tool fires.

Tools use named parameters with data types including VARCHAR2, CLOB, NUMBER, and BOOLEAN. In PL/SQL you reference them as bind variables. In JavaScript they are available via this.data. The implementation is clean and straightforward.

AI Tool Guardrails

Any Tool can require explicit user approval before it executes. The developer configures a dialog title, a confirmation message (which supports substitutions, so it can include contextual information), and the OK and Cancel button labels. When the user denies, the tool does not run, and “user denied” is passed back as the tool result. This is the right design for any tool that writes data or triggers processes.

New AI providers supported

This is big for teams not on OCI. APEX 26.1 adds native support for Anthropic Claude, Google Gemini, Mistral AI, and Ollama as Generative AI providers. Cohere is still there but the older Cohere models are now deprecated. Use cohere.command-a-03-2025 if you are staying on Cohere. This multi-provider support makes APEX AI features accessible to any team regardless of their cloud strategy.

What Are the Most Useful Oracle APEX 26.1 Features for Everyday Development?

Beyond APEXlang and AI Agents, 26.1 ships a long list of quality-of-life improvements. These are the ones that will show up in your work most often.

Natural Language for Interactive Reports (NL2IR)

This is the feature your end users will notice first. Enable NL2IR on an Interactive Report and users can type requests like “show me orders over 5000 placed last month” directly in the search bar. APEX sends that request to your configured Generative AI Service, which translates it into IR filters, breaks, and chart settings automatically. No developer customization is needed for existing reports. You enable it at the application level via the AI Attributes settings. You do need a Generative AI Service configured and selected.

Copy and Paste for Interactive Grid

Finally. Editable Interactive Grids now support full clipboard operations: copy, cut, paste, paste-insert, and drag-and-drop from external spreadsheets. You can paste data between different Interactive Grids in the same application. The feature works in Cell Selection mode and requires a secure URL (HTTPS). Browsers may prompt users for clipboard permission. If you have bulk data entry workflows built on Interactive Grid, this changes the user experience significantly.

New Dynamic Actions for Success and Error Messages

Three new declarative dynamic actions land in the Notification section: Show Success Message, Show Error Message, and Clear Errors. You no longer need JavaScript to display feedback messages after a server-side action completes. This closes a gap that pushed many developers toward custom JS when they just needed a standard notification.

BOOLEAN session state data type

This one is Oracle Database 26ai only, but it is worth knowing. APEX now supports a native BOOLEAN session state type for Checkbox, Switch, and Hidden items. The value maps to a true JavaScript Boolean on the client side, and a PL/SQL BOOLEAN bind variable on the server. This aligns with the BOOLEAN SQL data type that Oracle AI Database 26ai adds to Oracle SQL itself.

Other notable additions

The list goes on. Data Reporter is a new peer of App Builder that lets business users create ad-hoc reports on administrator-defined datasets, without touching Page Designer. Document Generator now supports password-protected PDFs. Infinite scroll for Select One, Select Many, Combobox, and Autocomplete items means users are no longer cut off at the Maximum Values in List setting. Quick Picks can now be driven by SQL queries dynamically. Map Regions gain Vector Tile layer support for rendering large geospatial datasets efficiently. Interactive Reports lose their old 32K per row output limit entirely.

Breaking Changes and Deprecated Features to Check Before You Upgrade

Upgrades break things. Here are the items most likely to affect real applications.

Single-page and component imports from older APEX releases no longer work

In prior versions, you could import a single page or component exported from an older APEX version into a newer one. That is gone in 26.1. Single-page and component imports only work between 26.1 instances. You can still import full applications from APEX 24.2 and earlier. Plan your migration at the application level, not the page level.

The AI Configurations API is renamed

Any PL/SQL code calling APEX_AI.generate or APEX_AI.chat with p_config_static_id will continue working in 26.1, but the parameter is deprecated and will be removed in a future release. Switch to p_agent_static_id. The public views apex_appl_ai_configs and apex_appl_ai_config_rag_srcs are similarly deprecated. Use apex_appl_ai_agents and apex_appl_ai_agent_tools instead.

attribute_01 through attribute_25 return null in many dictionary views

Oracle moved plug-in attributes to a JSON column structure in 24.2 for some plug-in types and extends that across more types in 26.1. The old numbered columns (attribute_01 through attribute_25) now return null in a wide range of public views. If you query these views in custom reports, monitoring scripts, or APEX Advisor custom checks, you need to switch to the attributes JSON column. This affects apex_application_auth, apex_application_authorization, apex_application_page_da_acts, apex_application_page_proc, and several others.

Page Unload dynamic action now uses the pagehide event

Major browsers are deprecating the unload event. APEX 26.1 migrates the Page Unload dynamic action to listen on pagehide instead. In most cases your app behaves the same. But mobile browsers do not always fire pagehide reliably. If you rely on Page Unload for cleanup logic, test it on mobile Safari and Chrome for Android before upgrading production. Oracle provides a query in the release notes to find all apps in your workspace with dynamic actions using the unload event.

JavaScript regionStaticId is now regionDomId

Any JavaScript initialization function referencing config.regionStaticId to configure regions needs updating to config.regionDomId. The same applies to staticId becoming domId for column options, and regionStaticId in error objects. This is not a deprecated-but-working change. APEX cannot maintain backward compatibility here. Update before deploying to production.

Should You Upgrade to Oracle APEX 26.1 Now? My Take

Yes. But not today if you have a major release window coming up.

The breaking changes above are real, but they are scoped. The JavaScript rename affects applications with custom JS initialization functions. The attribute column change affects custom scripts that query dictionary views. The single-page import restriction matters if you use that workflow. Run through the checklist, identify what applies to your applications, fix those things first, then upgrade.

The Oracle Cloud Free Tier is the fastest way to get a 26.1 instance today at no cost. Spin one up, import your application, run through the breaking changes in a safe environment, and validate before touching production. Direct upgrades from APEX 18.1 or later are supported. If you are still on anything older than 18.1, upgrade to 24.2 first.

The features that make this upgrade worth prioritising are APEXlang and AI Agents. Not because every team needs them immediately, but because the longer you stay on an older version, the further behind the toolchain integration gets. Source control for APEX applications is no longer a nice-to-have. This release makes it practical. That alone justifies the upgrade work for most teams.

If you are building or maintaining REST integrations with external APIs, the REST Data Source enhancements in 26.1 are also worth your attention. OAuth2 now supports Refresh Tokens in the Client Credentials flow, dynamic parameter values, and template directives in request body templates. These close gaps that previously required workarounds.

Final Thoughts

Oracle APEX 26.1 is the most architecturally significant release the platform has shipped in years. Three changes define it: APEXlang makes APEX applications portable, versionable, and AI-readable. AI Agents with Tools make APEX applications genuinely agentic. NL2IR makes Interactive Reports accessible to users who do not know how to build filters.

Everything else in the release, the clipboard support, the new dynamic actions, the map enhancements, the security improvements, makes the platform better to build on daily. None of it requires you to change your mental model of what APEX is. APEXlang and AI Agents do.

Read the official release notes before upgrading. Run the breaking changes queries. Test on a non-production instance first.

And then upgrade. This one is worth it.

What feature are you most interested in from APEX 26.1? Drop it in the comments below.

Hassan Raza
An Oracle ACE Associate and Senior Oracle Application Developer at S&H Software Solution. I am specialized in Oracle APEX, SQL, and PL/SQL and writes about Oracle development at oraclewithhassan.com

YOU MAY ALSO LIKE

1 Comment

Comments are closed.