SQLcl Changelog

Download the latest release version - 26.2.1

26.2.1 - Aug 2026

Issues Fixed

  • Security fixes

26.2 - Jul 2026

New Features

  • SQLcl Projects now support APEXLang applications.
  • Shell execution for SQLcl commands.
  • SQLcl commands can be run from the shell with repeatable -e or -execute options before SQLcl exits.
  • Example: sql -e 'select date' -e 'select user' -name myconn.
  • SQLcl project stage changelog processing has improved performance and error handling.
  • Project release adds Liquibase tags for generated release changelogs.
  • All keyboard shortcuts are now fully customizable.
  • Example: KEYMAP bind emacs ^E history-incremental-search-backward binds Ctrl-E to reverse history search in Emacs mode.
  • SET now supports default values.
  • SET now supports default values.

Issues Fixed

  • DIFF artifact output paths outside the current working directory.
  • Project stage 'revoke generation' for object names that contain the substring to '.'.
  • Project changelog generation so object grants are ordered after their referenced objects.
  • Project stage output so action comments are preserved in generated changelogs.
  • Project stage failures when SQLcl snapshot metadata contains large SXML text.
  • SQLcl project deploy so generated Oracle APEX deploy controllers apply fixed import offsets.
  • Oracle APEX export so existing files are not overwritten unless -overwrite-files is specified.
  • Oracle APEX component export so multiple export types create all requested files.
  • Command help navigation when using command aliases.
  • DESCRIBE output for object types so method signatures are shown.
  • DESCRIBE behavior for synonyms whose target object is not visible to the current user.
  • SQLcl startup so Oracle Cloud Infrastructure profile refresh failures do not terminate command startup.
  • Liquibase formatted SQL execution so PL/SQL blocks and colon-containing comments run correctly with the default engine.
  • Liquibase action logging so DATABASECHANGELOG_DETAILS is recreated as a valid view during update repair.
  • Liquibase action logging for long SQL and SXML changeset content.

Supported Java Versions

  • Oracle Java 17, 21 or Java 25
  • Local JavaScript scripting support requires a supported GraalVM runtime with the JavaScript Plugin.

26.1.2 - May 2026

New Features

APEXlang support

  • Full SQLcl support for the Open Application Specification Language (APEXlang), Oracle's new declarative language for APEX applications. APEXlang gives APEX apps an AI-friendly, human-readable representation, meaning agents like Claude and Codex can generate, modify, and review them directly. Its available in the APEX command. SQLcl Projects will support this in the next major release.
  • Added a new Skills command to install Oracle prescribed skills from Oracle Github repository to your local model skills folder. Use this to install skills to support APEXLang use with APEX 26.1

Issues Fixed

  • SQLcl MCP startup now defaults to unrestricted. This was previously set to restriction level 4
  • SQLcl MCP startup now defaults to unrestricted. This was previously set to restriction level 4SQLcl Project exports now working for large APEX applications
  • SQLcl Projects updated default filters to exclude all default liquibase generated objects

Supported Java Versions

  • Oracle Java 17, 21
  • Oracle GraalVM Enterprise Edition for Java 17, 21
  • JavaScript support requires GraalVM for Java 17 with the JavaScript Runtime plugin

26.1 - Apr 2026

New Features

  • SQLcl MCP
    • Schema-information tool now supports filtering and ability to retrieve details for other schemas.
    • New prompts.
    • Connection helper.
    • Develop ORDS REST API.
  • CI/CD Projects
    • Now supports schema substitution, allowing you to export objects with a schema prefix and deploy them into a different schema.
    • Project stage now handles dependent objects more reliably during drop-and-recreate flows (for example, preserving related indexes and grants when a base object such as a materialized view is recreated).
    • Now includes scheduler job arguments and program arguments in export and stage operations, expanding support for Oracle Database Scheduler objects.
    • Cleaner hotfix releases with new selective controls (-include/-exclude), enabling you to choose exactly which changes ship and automatically generate a focused changelog.
  • General
    • New DIFF command compares a source and target database connection, detects schema drift, and generates the DDL changes needed to synchronize the target.
    • Enhanced LOAD XLS adds support for quoted identifiers and column reordering; the SQL Developer Extension for VS Code now also shows richer worksheet preview details.
    • New connection export/import supports SQLcl connection definitions.
    • OBJECTSTORAGE now supports listing and deleting objects in OCI Object Storage buckets, expanding SQLcl’s built-in access to bucket contents.
    • ORAPKI now supports certificate download, simplifying Oracle PKI wallet setup.

Issues Fixed

  • Project export omitted identity‑column attributes, role grants, system grants, and other required metadata
  • Project stage could generate incorrect diffs, duplicate changelog entries, or invalid output for specific object types
  • Fixed terminal input handling, including backspace behavior and line‑number display
  • Fixed tab completions in connection handling and connection‑parameter processing

25.4.1 - Jan 2026

New Features

MCP Tool, run-sql-aync

  • This feature was previously released as part of the run-sql tool, but was causing issues for certain Agent frameworks. We have added explicit support for this feature to run queries on a background thread via a named tool.

Issues Fixed

  • Forums - Backspace character not being recognized on Windows GIT Bash terminals

25.4 - Dec 2025

New Features

  • MCP Updates
    • run-sql, asynchronous queries
      • The run-sql tool supports submitting a query to be ran on a background task.
      • The agent will be given a job-id that can be used to retrieve the results of the query or script at a later point in time.
    • Configuration
      • A new argument -home allows you to specify the directory where your database connections will be stored.
      • This allows for a developer to use one set of connections for regular work via SQL Developer Extension for VS Code and SQLcl, and another set specifically for AI Agents via the MCP Server.
  • Project Enhancements
    • Object Support
      • CI/CD support for DBMS_SCHEDULER now includes:
        • Job classes
        • Scheduler groups
        • Chains
    • Verifications
      • project verify allows you to validate the structure of your project with many new tests.
      • Enforce the use of the correct named connection whenever a project command is executed.
      • Respect the version of SQLcl the project requires.
      • Validate the source code formatter rules.
      • Validate syntactic and semantic errors for filters used in export.
      • Ensure there are no change entries pointing to invalid or external files.
      • Ensure there are no duplicate release pointers, changelog pointers, or file pointers across releases.
      • Ensure all changes under src/database are accounted for in the current ticket.
      • Verify project folder structure based on the SoftObjectIsolation value.
      • Ensure SoftObjectIsolation is not modified during a release.
  • SQL History
    • Incremental search: Alt+R, enter search term, Ctrl+R to execute.
    • Automatic suggestions: enable with SET AUTOSUGGESTIONS on; suggestions appear from SQL history and can be accepted with the right arrow key.
  • VERSION Command
    • version replaces show version and displays the SQLcl version.
    • Can be used to restrict usage to approved versions.
    • Examples:
      • version
      • version -check-in 25.2.0,25.3.0,25.4
  • Console/Editor Improvements
    • Tab completion for SQLcl commands and command arguments.
    • set linenumbers on|off provides flexible control over line number visibility in multi-line SQL statements (on by default).
    • Help for all commands has been updated to a more verbose, descriptive, paginated, and searchable format (use /search term).
    • For help on a topic, use help <topic>.
    • Sample Help Topics
      • / — Executes the most recently executed SQL command or PL/SQL block.
      • @ — Runs SQLcl statements in a specified script (local or web).
      • @@ — Runs nested scripts, resolving relative paths from the calling script.
      • ACCEPT — Reads input and stores it in a substitution variable.
      • ALIAS — Saves SQL/PLSQL/SQL*Plus scripts as shortcut commands.
      • APEX — Exports APEX applications.

Issues Fixed

  • Projects
    • 38620219 project export does not respect session edition (EBR)
    • 38716180 project export adds trailing semicolon (;) to view DDL
    • 38651814 project export does not sort unique indexes consistently
    • 38688471 project stage recreates ORDS modules vs updates even if already exists
    • 38688658 project stage generates incorrect ALTER DDL when column has DEFAULT value
    • 38688658 project stage now generates correct alters for changes to tables with 'not null' columns
    • 38581517 project deploy does not generate log files on Windows
  • Liquibase
    • 38743930 updates for packages, package bodies, and synonyms have incorrect DDL
    • 38655790 generate-schema -split -sql fails in Windows CMD terminal
    • 38303058 generate-schema including FLASHBACK DATA ARCHIVE (FDA) INDEXES
    • 38654885 table column changes not being picked up
    • 38566458 quoted schema names cause generated objects to be unusable
  • General
    • 38412159 set define off after a merge statement causes re-execution of MERGE
    • 33094416 BREAK on multiple columns now works in SQLcl (e.g., BREAK ON COLUMN_N)
    • 38566458 script parsers now recognize comments at the end of a PL/SQL unit
    • 38538544 apex export -exptype readable_yaml fails
    • 38536583 SPOOL now respects SET HEADING OFF in ansiconsole format

25.3 - Oct 2025

New Features

  • RCV command "Oracle Database backup integration with Zero Data Loss Autonomous Recovery Service." Learn more here
  • Project verification feature (project verify) now offers more comprehensive error checking with your snapshots, stages, and artifacts
  • Project CI/CD feature now supports DBMS_SCHEDULER objects including jobs, programs and schedules
  • Projects can now export ORDS schema objects using ORDS_ADMIN API

Issues Fixed

  • 38329182 MCP connections are not closed after calling close function
  • 37884237 Some statements in a SQL file are not executed when using SET DEFINE
  • 37481464 SELECT /*INSERT*/ concatenates BLOB column leads to ORA-01465
  • 38343426 Cannot connect and save a cloud wallet connection
  • 37339395 Using ORAPKI with JDK 21 and JDK 23 fails ("Security Manager is deprecated")
  • 37998699 Cannot drop or replace a type with table dependents
  • 38049779 Invalid drop statements for the index
  • 37679187 Logon help syntax does not include SYSBACKUP and SYSDG roles
  • 38413946 Help SET DDL command text has formatting problems
  • 36486442 Liquibase generate-schema suppresses byte information from VARCHAR2 data type
  • 37301575 Liquibase SQL changeset doesn't print DBMS_OUTPUT
  • 37338222 Liquibase fails to generate all APEX applications in a workspace
  • 37423209 Liquibase generate-schema -grants command does not export grants
  • 37355977 Liquibase update -changelog-file apex_install.xml fails when changeset generated using -exptype parameter
  • 37423209 Liquibase generate-schema -grants command does not export grants
  • 38292404 Liquibase export of ORDS module fails when module name is lowercase
  • 37820786 Project configured connection not honored after disconnect
  • 38273504 Project exports generate install.sql that references Liquibase XML instead of .sql file
  • 37894895 Project deploy suppresses important error details
  • 37902682 Project deploy creates log file in temp directory
  • 38154484 Project SXML not consistent with case causing unnecessary diffs
  • 37800584 Project unable to execute the generated/exported ORDS SQL files
  • 38331290 Project export table causes invalid XML
  • 38189337 Project stage fails to generate ALTER statements when built-in SQL functions like EMPTY_CLOB() are used as defaults
  • 38441783 Project stage creates wrong ALTER SQLs for XMLTYPE data type columns
  • 38440775 Project stage incorrect DDL for table column when set from NOT NULL to NULL
  • 38063924 Project scripts using HOST and SPOOL commands fail unexpectedly
  • 37862505 Project export list not properly sorted
  • 38386782 Project export schema-level triggers (BEFORE DROP ON...) not included

25.2 - Jul 2025

New Features

  • MCP Server for Oracle Database
    • SQLcl can now run as a Model Context Protocol (MCP) Server, enabling access to Oracle Database via LLMs and AI coding assistants.
    • Support for MCP tools includes CONNECTIONS and SQL tools, allowing LLMs to establish database connections and run SQL queries on behalf of users.
    • SQLcl will receive monthly updates introducing new tools and prompts, including SQL execution plans, business reports, and data loading.
    • VS Code Extension for SQL Developer will automatically register SQLcl as an MCP Server for code assistants such as Copilot.
    • Learn more about MCP Server here.
    • Daemon support: SQLcl can run as a background service, supporting scheduled tasks and providing detailed logging of events, job results, and errors.
  • Projects Enhancements
    • SQLcl projects now support JSON Relational Duality Views, MLE JavaScript modules, and Queues.
    • 23ai object annotations are now included in your object definitions.
  • Oracle Home Support
    • THICK Connections on Windows
      • A directory named instantclient (typically in sqlcl/bin) is combined with ojdbc11.jar and prepended to the classpath.
      • An entry for %ORACLE_HOME% is prepended after instantclient.
      • No strict version validation is performed, but logic determines whether ORACLE_HOME exists and whether thick mode should be enabled by default.
      • A misconfigured ORACLE_HOME (for example, version earlier than 23) may result in connection errors when using the thick driver.
    • THICK Connections on Linux/Unix/OS X
      • The environment variable ORACLE_HOME is used to locate a full install or instant client.
      • For full installs, $ORACLE_HOME/bin/oraversion determines the version.
      • For instant client installs, the native library libocijdbc (filename includes version, e.g., libocijdbc23.dylib) is used.
      • If the detected version is less than 23, the user is notified and ORACLE_HOME is ignored.
      • If version is at least 23, ojdbc11.jar is prepended to the classpath and thick mode becomes the default driver.
    • Code Scan Improvements
      • The -list-rules sub-command now prints the list of available rules.

Issues Fixed

  • 37873859 CONN/[AS SYSRAC] fails in SQLcl
  • 37305822 SET LOADFORMAT fails when using a single character enclosure
  • 37306369 UNLOAD creates bad file when using multiple character left enclosure setting
  • 37877963 PROJECT STAGE fails for OPERATOR
  • 37646773 LIQUIBASE generate-schema fails for MATERIALIZED VIEW
  • 37693799 LIQUIBASE generate-schema fails for PUBLIC SYNONYM
  • 37841622 PROJECT no longer times out and honors Ctrl+C
  • 37862023 PROJECT inconsistent list of objects included for EXPORT
  • 37883553 PROJECT EXPORT omits WITH GRANT OPTION
  • 37861204 AWR commands not working for RAC instances
  • 37453387 APEX export not running correct queries for installed version of APEX
  • 37260714 FORUMS: connect failing when using alias
  • 37577080 FORUMS: parser error for table of records extend() function call

25.1 - Apr 2025

New Features

  • Project Command (CI/CD)
    • Materialized Views are now supported
    • ORDS REST Modules are now supported
  • Connections
    • Connection folders support
    • Added tab completion support
    • Added delete connection to connmgr command
  • General
    • JDBC 23.7 update
    • Liquibase 4.30.0 update
    • Added SDK command to install JDBC extensions
    • Create MLE Module bundles and Software Bill of Materials (SBOM)
    • SET SQLFORMAT DELIMITED now supports SPACE as a delimiter
    • New aliases for listing local schema objects — in addition to tables, you can now use indexes, views, functions, procedures, packages, synonyms, and triggers

Issues Fixed

  • 37566309 'Project Stage' duplicates 'APEX' folder in this directory
  • 37260262 Describe tables fails if there's a table of a synonym of the same name
  • 37603787 SQL aliases now support dashes
  • 37556899 'Project Stage' sometimes creates uncommented drops
  • 37692573 Project exports failed to close connection
  • 37747098 Change set ordering not working with stage in Windows
  • 37593892 Project stage sorting fails if add custom is called before stage
  • 37663113 Liquibase execution of PL/SQL with warnings causes Liquibase to exit
  • 37607778 Java app on large script sets memory leak
  • 37075680 Liquibase generate-schema not capturing status for triggers
  • 37734208 PL/SQL package body with a drop statement incorrectly gets commented out