### Oracle REST Data Services on oracle.com

## Support

- You are supported by Oracle Support under your current Oracle Database Support license for Oracle REST Data Services production releases .

- Log Oracle REST Data Services bugs and issues using My Oracle Support.

  - For problems specific to SODA for REST, file a service request using "Oracle XML Developers Kit" as the product.
  - For all other problems, use "Oracle REST Data Services" as the product.

### Note - Autonomous Database Shared Subscribers

If you are running a customer-managed ORDS for your Autonomous Transaction Processing, Autonomous Data Warehouse, or Autonomous JSON Database, you must upgrade your customer-managed ORDS to the version used in your Autonomous Database Shared environment. Failure to do so could lead to service disruptions.

To determine the version of ORDS in your Autonomous Database Shared database run this query:

    select ords.installed_version from dual;

## Documentation

### General

- Documentation for this release is provided on the oracle.com web site. Click here to view the documentation and related information.
- Documentation on using SODA for REST is provided on the oracle.com web site. Click here, navigate to the documentation section and access the book titled 'SODA for REST'.

### Getting Started

- A tutorial on getting started with developing RESTful Services is included in the ORDS product documentation, in the book titled 'Oracle® REST Data Services Quick Start Guide'.

## Feedback

- At Oracle REST Data Services on oracle.com you will find links to forums and social media channels where you can discuss topics with the ORDS community around the world and leave feedback for the development team.
  - In the forums, be sure to use clear subject lines to initiate a thread. Provide a complete and clear description of the issue, including steps to reproduce the issue.
  - Try to avoid using old, unrelated threads for a new issue.

## Important Concepts to Keep In Mind

### Revised Command Line Interface and Configuration Directory Structure

#### Command Line Interface

The java commands serviced from the WAR file are no longer supported. Attempting to run the following:

    java -jar ords.war standalone

Will result in an error message, referring you to the docs. Instead you would run:

    ords --config /path/to/config serve

#### Installation & Configuration

The ORDS program or script in the bin directory can be used to perform installs, changes to your configuration, changing the database passwords for your connection pools, and for creating ORDS users. To see a list of commands:

    ords --help

#### Configuration Files Directory Layout

If upgrading from a previous version of ORDS, your existing configuration directory for ORDS and the files contained therein will be migrated to a new layout for versions 22.1 and higher.
You may migrate your settings using the ORDS migrate command, or you may perform a 22.1 install which will prompt ORDS to migrate your existing ORDS configuration to the new mapping for you.
ORDS standalone and default pool configuration settings are in a settings.xml file in a global subdirectory.
Connection pools are in a databases subdirectory. The intital database pool is named 'default' and has a '/' mapping pattern.
Subsequent pools will created such that the name of the pool also defines the mapping pattern.

### Migration of Oracle APEX Restful Service Modules

Oracle APEX 22.1 and onwards no longer natively supports the serving of APEX Based Restful Service Modules. Existing APEX Based Restful Service Modules must be migrated to ORDS Resource Modules in order to avoid loss of service.

As migration will replace any previously migrated (and possibly further developed) APEX Based Restful Service Modules from an APEX Workspace, it is the responsibility of the customer to manually initiate the migration. To help with this, Oracle has provided a number of SQL scripts that can be found in the "migrate" folder in the top-level "scripts" folder of the ORDS distribution ZIP file. These scripts must be run as either a DBA or an ORDS "Installation" user.

- ords_migrate_report.sql - Reports on the migration status of all APEX Workspaces that have one or more APEX Based Restful Service Modules (excluding oracle.example.hr). e.g.

      @ords_migrate_report.sql

      APEX SCHEMA                                      APEX VERSION    APEX STATUS
      ------------------------------------------------ --------------- ---------------
      APEX_210200                                      21.2.0          VALID

      WORKSPACE NAME                                                  MIGRATED MODULES
      --------------------------------------------------------------- -------- -------
      APEX_WS_2                                                       NO             6
      APEX_WS_1                                                       YES            1

- ords_manual_migrate_workspace.sql - Manually migrates a single APEX Workspace e.g.

      @ords_manual_migrate_workspace.sql ~/logs/ APEX_WS_2

- ords_manual_migrate.sql - Manually migrates all APEX Workspaces e.g.

      @ords_manual_migrate.sql ~/logs/

### SQL Developer Web

SQL Developer Web (SDW) is an ORDS hosted web application giving Oracle Database users the SQL Developer desktop experience in their browser.

SQL Developer Web provides a development interface for building and maintaining your ORDS based REST APIs, AUTOREST Enabled database objects, OAuth2 Clients, ORDS Privileges and Roles, as well as a SODA for REST graphical interface. For the best possible experience developer REST APIs for ORDS, we reccommend you use SQL Developer Web.

For consistent representation of date values in SQL Developer Web, ORDS should be run in the UTC timezone. This is set automatically when using the

    ords

command line interface. When deploying ORDS to Apache Tomcat or WebLogic Server the user.timezone may have to be set explicitly before starting the container.

    -Duser.timezone=UTC

SQL Developer Web requires the Database API be enabled.

SQL Developer Web's DBMS_SCHEDULER interface requires database version 12.2 or higher.

### Metadata Catalog

The default output for openapi-catalog is Swagger V2. In a future release the default output will be OpenAPI V3.

### Upgrading ORDS in the database

If you have previously executed script, ords_installer_privileges.sql, to grant your administrator user privileges to perform the install or upgrade, then you must execute the script again on that same user that you provided because additional grants have been added to this script. Note: This script does not apply to the SYS user account.

### Supported Java Version

Oracle REST Data Services requires Java 11 or 17. Java 8 is no longer supported. Please consult the documentation for the minimum supported Application Server versions for ORDS.

## Changes in 22.4.4

The following changes have been made since 22.4.3:

### Issues Fixed in 22.4.4

- 35042641 - Charts page is not showing Redwood Brown Theme
- 34985733 - Fix "Expiring Passwords" widget(monitoring)
- 35022665 - Inconsistent sort options while creating a composite index
- 35002206 - --wallet option throws an error in ORDS ADB Install CLI
- 34465167 - ADB-S Service Console: Show only MongoDB connection string that contains port 27017
- 33997668 - JSON Workshop: Index is dropped while editing it

### New Features in 22.4.4

- Uptake JDBC/UCP 21.9.0.0.230123

## Changes in 22.4.3

The following changes have been made since 22.4.2:

### Issues Fixed in 22.4.3

- 35033730 - Data Studio update to color theme

## Changes in 22.4.2

The following changes have been made since 22.4.0:

### Issues Fixed in 22.4.2

- 34824962 - Database Actions Data Pump import fails for various DMP files
- 34943125 - procedure.rest.preHook is executed for PL/SQL Gateway calls

### New Features in 22.4.2

- Database Actions: Self Service Schema - A semi-automated flow to allow users to request database schemas
- Database Actions: Migration to Oracle's Redwood styling
- Database Actions: Data Pump import is now enabled on ADB-S environments

## Changes in 22.4.0

The following changes have been made since 22.3.3:

### Issues Fixed in 22.4.0

- 34762861 - Database Actions: Data Loading from file not working
- 34724735 - Setting db.invalidPoolTimeout not working to retry an invalid default pool
- 34693771 - Incorrect path in Linux Support scripts and documentation
- 34685239 - Pool not marked as stale for oracle.net.ns.NetException error scenarios 'TNS:listener could not find instance appropriate for the client connection' and 'Mismatch with the server cert DN'. '
- 34669593 - Minimum Java version checks in ORDS shell script not working
- 34664606 - Get PDB Snapshot by name not working with 18c database
- 34643474 - HTTP 500 Internal Server Error response if APEX is installed in CDB
- 34571360 - PL/SQL Gateway allow list view not visible to ORDS_ADMINISTRATOR_ROLE
- 34570720 - DBAPI Creating new pluggable database fails
- 34488953 - Instance API does not show pools in revised configuration
- 34014229 - Running PL/SQL Gateway without ORDS installed in database blocked by missing privileges
- 34003124 - Hostnames mapping overrides paths mapping in the same pool
- 33859693 - Install fails when execute privilege on DBMS_SQL is not granted to PUBLIC

### New Features in 22.4.0

- Switch from using javax.* APIs to their jakarta.* equivalents
- Uptake Jakarta Servlet API 4.0.3
- Uptake Jakarta Inject API 2.0.0
- Return HTTP 403 response when client not in ADB-S Access Control List
- Return HTTP 429 response when database server returns ORA-00018 maximum number of sessions exceeded
- Add Data Tool endpoints to Database API
- Export OAUTH Client
- Support order by NULLS first/last in Object Filter query parameters
- Database Actions: Make 'Run as SQL script' the default operation for Run Statement button

## Changes in 22.3.3

The following changes have been made since 22.3.2:

### Issues Fixed in 22.3.3

- Bug 34162245 - ORDS: Symbolic links can not be used to provide static content in standalone mode
- Bug 34752871 - Database Actions: Failure to get Cloud Storage Bucket in Data Pump

### New Features in 22.3.3

- ORDS: Uptake Jetty 10.0.12

## Changes in 22.3.2

The following changes have been made since 22.3.1:

### Issues Fixed in 22.3.2

- Bug 34723764 - ORDS: Silenty ignore query parameters which do not match plsql parameters
- Bug 34728229 - ORDS: Uptake Jackson 2.13.4 and Jackson Databind 2.13.4.2

## Changes in 22.3.1

The following changes have been made since 22.3.0:

### Issues Fixed in 22.3.1

- Bug 34709325 - ORDS: APEX Social Authentication recieving 404 NOT FOUND

## Changes in 22.3.0

The following changes have been made since 22.2.2:

### Issues Fixed in 22.3.0

- Bug 34151810 - Database Actions: Alter session not working in SDW
- Bug 34457888 - ORDS: ORDS does not pass through parameters retrieved via OWA_IMAGE.GET_X(IMAGE)
- Bug 34356953 - ORDS: Batch POST fails with NullPointerException
- Bug 34077953 - ORDS: ORDS 500 Internal Server Error inserted value too large for column
- Bug 34036798 - ORDS: Command Line Interface fixed option values should be case insensitive
- Bug 33649799 - ORDS: ORDS does not invoke overloaded PL/SQL procedures correctly
- Bug 34327673 - ORDS: Command Line Interface --db-pool option not accepting values using underscore

### New Features in 22.3.0

- ORDS: Uptake Jetty 10.0.11
- ORDS: Update SODA 1.1.13
- ORDS: Uptake Oracle JDBC and UCP drivers 21.0.0.0_220912
- ORDS: Provide PL/SQL API to force ORDS into debug mode
- ORDS: Provide Customer Managed ORDS for Autonomous Database installation process in the command line interface
- ORDS: Set db.serviceNameSuffix by default on CDB installs
- ORDS: Make PL/SQL Gateway allow list ready for custom procedures
- ORDS: Serve MongoDB Listener in standalone mode
- ORDS: Support jdbc.ConnectionWaitTimeout in pool settings
- ORDS: Database API - PDB Lifecycle Management: Do not close wallet during cloning
- ORDS: Database API - PDB Lifecycle Management: Support PDB Snapshots
- Database Actions: Data Loader - Add support for filtering data loading slider by schema
- Database Actions: Data Pump - Add Import Job Wizard

## Changes in 22.2.2

The following changes have been made since 22.2.1:

### Issues Fixed in 22.2.2

- Bug:34072949 - ORDS: Default value(900) of jdbc.statementtimeout parameter doesn't work
- Bug:34448170 - Database Actions: Show card for "Graph Studio" in launchpad
- Bug 34370563 - ADP: Support multiple addins on one excel
- Bug 33948244 - ADP: Lineage/impact ui does not correctly render odi lineages with 3-deep node nesting
- Bug 34390875 - ADP: Changing dblink source does not update navigator tree

## Changes in 22.2.1

The following changes have been made since 22.2.0:

### Issues Fixed in 22.2.1

- Bug:34057582 - ORDS: Requests with additional trailing slashes should result in HTTP 404 response
- Bug:34179622 - ORDS: Include owa.docTable in config info
- Bug:34304646 - ORDS: Have configurable jdbc.connectionWaitTimeout used by PL/SQL Gateway
- Bug:34354741 - ORDS: Improvements to Oracle Transactional Event Queues services
- Bug:34358681 - ORDS: Remove APP_VM_OPTS variable from RPM definition

### New Features in 22.2.1

- ORDS: Uptake Jetty 9.4.48.v20220622
- ORDS: Uptake SODA 1.1.11

## Changes in 22.2.0

The following changes have been made since 22.1.1:

### Issues Fixed in 22.2.0

- Bug:32047436 - ORDS: ORA-65011 Pluggable Database does not exist error when installing to EBS database 19c
- Bug:32438722 - ORDS: Database API PDB Lifecycle Management does not allow special characters in administrator password
- Bug:32471712 - ORDS: Not reloading passwords from wallet after failed database connection attempt
- Bug:34110230 - ORDS: Remove Jersey support
- Bug:34175379 - ORDS: SEVERE log message displayed for making connection even though database mapping succeeds
- Bug:34178022 - ORDS: Standalone certificates not migrated
- Bug:34219177 - ORDS: Do not use reserved words as schema alias
- Bug:34223707 - ORDS: NoClassDefFoundError oracle/xdb/XMLType reported for certain REST Enabled SQL scripts

### New Features in 22.2.0

- ORDS: Uptake Oracle JDBC and UCP drivers 21.0.0.0_220509
- ORDS: OpenAPI v3 is the default specification for open-api-catalog (formerly Swagger v2)
- ORDS: Provide method for resetting client secret
- ORDS: Metadata catalog representation in Swagger/OpenAPI format for AutoREST indicates attributes comprise the primary key
- ORDS: Provide command to extract the ORDS install, upgrade, validate and uninstall scripts.
- ORDS: Provide command to generate web application for deployment to Apache Tomcat or Oracle WebLogic Server
- Database Actions: Support the Multilingual Engine (MLE) syntax in Oracle Database 21c
- Database Actions: Generate, View, & Download Automatic Workload Repository (AWR) reports

## Changes in 22.1.1

The following changes have been made since 22.1.0:

### Issues Fixed in 22.1.1

- Bug:31078322 - ORDS: Client closing socket can result in HTTP 500 error
- Bug:34070049 - ORDS: Prevent use of / in paths file
- Bug:34092368 - ORDS: OutOfMemoryError can occur when starting in standalone mode
- Bug:34062151 - Database Actions: Not possible to set timezone for start date and end date of job

### New Features in 22.1.1

- Bug:34156033 - ORDS: Uptake Jetty 9.4.46.V20220331
- Bug:34096129 - ORDS: Automatically link to MySQL Connector/J jar installed through OCI RPM
- Bug:33995066 - Database Actions: Implement liquibase deployment reporting

## Changes in 22.1.0

The following changes have been made since 21.4.3:

### Issues Fixed in 22.1.0

- Bug:31584096 - ORDS: Swagger V2 payload definition is incorrect for POST handler
- Bug:31797961 - ORDS: Invalid timestamp value in AutoREST PUT parameter causes HTTP 500 Internal Server Error
- Bug:33014274 - ORDS: Using boolean parameter out on AutoREST PL/SQL causes HTTP 500 Internal Server Error
- Bug:33111572 - ORDS: Traditional Chinese not represented correctly
- Bug:33812677 - Database Actions: Roles are mandatory when creating an OAuth2 client
- Bug:33812695 - Database Actions: Roles created by SYS not listed when creating an OAuth2 client
- Bug:33542000 - Database Actions: Explain Plan is caching previous executions
- Bug:33610732 - Database Actions: Table properties unique keys text cropped
- Bug:33631559 - Database Actions: Wrong color for string quote
- Bug:33669845 - Database Actions: Missing labels on Charts page
- Bug:33680494 - Database Actions: The unexpected token symbol shown when a token is followed by a quoted string
- Bug:33816710 - Database Actions: OpenAPI documentation fails with parser error - duplicated mapping key

### New Features in 22.1.0

- Bug:30717389 - ORDS: Swagger V2 and OpenAPI V3 representation of Metadata Catalog to include authentication information
- Bug:31391518 - ORDS: Revised Command Line Interface and Configuration Directory structure
- Bug:33416453 - ORDS: Make Java 11 the minimum Java Runtime Environment version
- Bug:33744175 - ORDS: Uptake Oracle Jet 11.1.6
- Bug:33947345 - ORDS: Use REST Enabled SQL Service with MySQL database
- Bug:34002527 - ORDS: Rotate a client secret
- Bug:33784519 - ADP: Support renaming and deleting an ingest job
- Bug:33841574 - ADP: Running data ingest jobs are listed with job name
- Bug:31018220 - Database Actions: Use offline help when online help not available
- Bug:33417651 - Database Actions: User friendly global search
- Bug:33532066 - Database Actions: Generate CURL snippets for Windows
- Bug:33631074 - Database Actions: Improve performance of standalone Charts view
- Bug:33655971 - Database Actions: Disable refresh for Charts
- Bug:33817138 - Database Actions: File system access in SQL Worksheet
- Bug:33850965 - Database Actions: Import REST Module from swagger definition
- Bug:33867119 - Database Actions: Enhanced support for PL/SQL object editing
- Bug:33886602 - Database Actions: Uptake performance hub plugin 1.0.0-20220219112340-MASTER
- Bug:33952777 - Database Actions: Create PL/SQL object from scratch
- Bug:33792443 - Database Actions: Add support for full screen in SQL Worksheet

## Changes in 21.4.3

The following changes have been made since 21.4.2:

### Issues Fixed in 21.4.3

- Bug:34020594 - ORDS: Uptake Jackson 2.13.2 and Jackson Databind 2.13.2.2
- Bug:33837693 - ORDS: A second call to the same rest enabled procedure with date in parameter fails with unable to marshall date

## Changes in 21.4.2

The following changes have been made since 21.4.1:

### Issues Fixed in 21.4.2

- Bug:33502385 - ORDS: PL/SQL Gateway not accepting parameter names with special characters

### New Features in 21.4.2

- Bug:33839193 - ORDS: Uptake SODA 1.1.10
- Bug:33871448 - ORDS: Uptake Rappid 3.4.1
- Bug:33915916 - ORDS: Jersey repackaged with Jackson 2.13.1
- Bug:32386554 - ORDS: Provide new scripts to report on non-migrated workspaces and to individually migrate them
- Bug:33488849 - ORDS: Check that ORDS can dispatch both /ords/r/... and /ords/{schema}/r/...

## Changes in 21.4.1

The following changes have been made since 21.4.0:

### Issues Fixed in 21.4.1

- Bug:33684760 - ORDS: OAuth token empty response in Database Actions
- Bug:33727577 - ORDS: PDB mapping not working. 404 + SQLException: ORA-01005
- Bug:33739947 - ORDS: Error trying to export a module with a handler's source bigger than 32kb
- Bug:33583853 - ORDS: Error using Windows path to TNS folder

## Changes in 21.4.0

The following changes have been made since 21.3.2:

### Issues Fixed in 21.4.0

- BUG:33138576 - Database Actions: Table properties dialog window cannot scrolldown
- BUG:33599211 - ORDS: Plugin examples not working in Getting Started guide

### New Features in 21.4.0

- BUG:33535164 - ORDS: Uptake Jackson 2.13.0
- BUG:33535164 - ORDS: Uptake Jetty 9.4.44.v20210927
- BUG:33535164 - ORDS: Uptake Guava 31.0.1-jre
- BUG:33580638 - ORDS: Uptake AutoAV 20.1.3.41
- BUG:33132127 - ORDS: Schema level configuration
- BUG:33146922 - Database Actions: User Interface to job scheduler
- BUG:33271364 - Database Actions: APEX workspace management
- BUG:33651611 - ADP: Data Analysis in data tools

## Changes in 21.3.2

The following changes have been made since 21.3.1:

### Issues Fixed in 21.3.2

- BUG:33489973 - Database Actions: Public properties - Empty DIVS to DOM when response is empty
- BUG:33574935 - Database Actions: REST Workshop: REST called is failed when the module is accessed
- BUG:33406824 - Database Actions: Chart Tour/ Dashboard Tour is left even after the tour is over
- BUG:33498260 - ORDS: Update jdbc/ucp cumulative patch jars

## Changes in 21.3.1

The following changes have been made since 21.3.0:

### Issues Fixed in 21.3.1

- BUG:33278709 - Database Actions: The output of query results is with commas if the column type is number

### New Features in 21.3.1

- BUG:33323698 - Database Actions: Add auto refresh to report component
- BUG:33408583 - Database Actions: Add customisable banner to all Sign In, OAuth and Database Actions pages
- BUG:33449736 - ADP: Update AutoAVGen to 20.3.1.39

## Changes in 21.3.0

The following changes have been made since 21.2.4:

### Issues Fixed in 21.3.0

- BUG:33103628 - Database Actions: Vertical scroll missing in chart definition in Firefox
- BUG:32917191 - ORDS: Instance API OpenAPI V3 document specifies incorrect path
- BUG:31892227 - ORDS: Swagger V2 representation of metadata catalog returns HTTP 200 for modules without a handler

### New Features in 21.3.0

- BUG:33166641 - ADP: Use cards based statistics histogram
- BUG:33094472 - Database Actions: Data visualizations dashboard
- BUG:33136055 - ORDS: Database API Data Pump support for Oracle Cloud Object Storage
- BUG:32028571 - ORDS: Database API Data Pump available to non administrator database users
- BUG:32372554 - ORDS: Uptake UCP DRIVER (21.0.0.0-p32464841-p32376643-p33041374-p33199445)
- BUG:32372554 - ORDS: Uptake JDBC DRIVER (21.0.0.0-p32205381-p33094923)
- BUG:33297723 - ORDS: Uptake jakarta.json JSON-P 2.0.1 and Eclipse Parsson 1.0.0
- BUG:33307363 - ORDS: Upgrade to SODA 1.1.8

## Changes in 21.2.4

The following changes have been made since 21.2.3:

### Issues Fixed in 21.2.4

- BUG:33238570 - ORDS: Uptake Jetty 9.4.43.V20210629
- BUG:32983106 - Database Actions: Data load from cloud store folder with subfolders counts folders as loadable items

## Changes in 21.2.3

The following changes have been made since 21.2.2:

### Issues Fixed in 21.2.3

- BUG:33008285 - ORDS: SQL Export endpoint response Content-Type: application/json regardless of the format of response body
- BUG:33046417 - ORDS: Before showing the main result of script output button, two elapsed boxes are there

## Changes in 21.2.2

The following changes have been made since 21.2.1:

### Issues Fixed in 21.2.2

- BUG:32860938 - ADP: Performance improvement for designer content in Business Model landing page
- BUG:32860950 - ADP: Performance improvement for deployment state content in Business Model landing page
- BUG:32997903 - ADP: Performance improvement for Data Insights page
- BUG:33016115 - ADP: Live feed cloud store schema name is not required
- BUG:33093313 - ORDS: Colons in simplified JSON syntax is incorrectly interpreted as bind variables
- BUG:33101999 - ORDS: SQL Developer REST DATA SERVICES Administration view encountered 500 Internal Server Error on connection
- BUG:32981951 - ORDS: Uptake UCP DRIVER (21.0.0.0-p32464841-p32376643-p33041374)

## Changes in 21.2.1

The following changes have been made since 21.2.0:

### Issues Fixed in 21.2.1

- BUG:32988409 - Database Actions: Use correct username reference syntax for certain Database Actions/ADP services

## Changes in 21.2.0

The following changes have been made since 21.1.3:

### Issues Fixed in 21.2.0

- BUG:32817733 - ORDS: Too many parse errors database alert logs for PLSQL_GATEWAY_CONFIG query
- BUG:32703803 - Database Actions: Data loading to a different schema fails to create error logging table
- BUG:31843537 - Database Actions: SODA syntax errors

### New Features in 21.2.0

- BUG:32935129 - ORDS: Metadata caching
- BUG:32826282 - ORDS: Uptake UCP DRIVER (21.0.0.0-P32464841-P32376643)
- BUG:33003755 - ORDS: Uptake Jetty 9.4.42.V20210604
- BUG:32216752 - ORDS: Improve REST Enabled SQL performance
- BUG:32924934 - Database Actions: Third Party Library updates - uptake Swagger UI 3.45.1
- BUG:32861901 - Database Actions: Data Visualizations - Charts

## Changes in 21.1.3

The following changes have been made since 21.1.2:

### Issues Fixed in 21.1.3

- BUG:32935381 - ORDS: Fix performance regression when checking patching status of APEX

## Changes in 21.1.2

The following changes have been made since 21.1.1:

### Issues Fixed in 21.1.2

- BUG:32884510 - ORDS: Fix automatic layout resizing in worksheet

## Changes in 21.1.1

The following changes have been made since 21.1.0:

### Issues Fixed in 21.1.1

- BUG:32631694 - ORDS: Unable to pass OBJECT TYPE variable when calling custom wrapper
- BUG:32704322 - APD: In Database Actions "Data Tools" cards are not visible

### New Features in 21.1.1

- BUG:32794672 - ORDS: Uptake Jetty 9.4.40

## Changes in 21.1.0

The following changes have been made since 20.4.3:

### Issues Fixed in 21.1.0

- BUG:32498488 - ORDS: Only return one x-frame-options header for APEX static resources
- BUG:32471387 - ORDS: APEX workspace URL mapping cached even if schema subsequently REST-Enabled
- BUG:32228741 - ORDS: Improve performance of named bind statement parsing
- BUG:31614372 - ORDS: Open API JSON has uppercase response object property names
- BUG:30376686 - ORDS: Error response should be JSON when client sends Accept: appplcation/json header
- BUG:32112867 - SDW: Result Set out parameter missing from REST Workshop

### New Features in 21.1.0

- BUG:32459808 - ORDS: Add DVSYS and PYQSYS schema packages to the default PL/SQL Gateway exclusion list
- BUG:32537360 - ORDS: Reject requests with Origin: null header
- BUG:32474210 - ORDS: Uptake 21.1 UCP patch 32464841
- BUG:32241814 - ORDS: Support Zip Archive (db.wallet.zip) which has only cwallet.sso
- BUG:32222145 - ORDS: Support pluggable database service name suffix when Oracle Connect Descriptor is used
- BUG:30560527 - ORDS: Support ICAP SSL/TLS connection
- BUG:32430092 - SDW: Third Party Library updates - uptake Dexie 3.0.3
- BUG:32430092 - SDW: Third Party Library updates - uptake AVSC 5.5.3
- BUG:32430092 - SDW: Third Party Library updates - uptake Monaco 0.22.1
- BUG:32483801 - SDW: Add autocomplete functionality to JSON QBE editor and document editor
- BUG:31902012 - SDW: Support Monaco colorizer in code viewer component
- BUG:31536036 - SDW: Allow User Management to work without access to ORDS metadata

## Changes in 20.4.5

The following changes have been made since 20.4.4:

### Issues Fixed in 20.4.5

- BUG:32625348 - ADB-D: ORDS Landing page fails to load

### New Features in 20.4.5

- BUG:32508470 - ORDS: Uptake guava 30.1
- BUG:32508470 - ORDS: Uptake jackson 2.12.1
- BUG:32675228 - ORDS: Uptake jetty 9.4.38

## Changes in 20.4.4

The following changes have been made since 20.4.3:

### Issues Fixed in 20.4.4

- BUG:32539296 - ADP: Create live feed fails on public bucket
- BUB:32550007 - ADP: Missing scrollbar on the explore navigator

### New Features in 20.4.4

- ENH:32499052 - SDW: Create and edit database user and storage

## Changes in 20.4.3

The following changes have been made since 20.4.2:

### Issues Fixed in 20.4.3

- BUG:32440646 - ORDS: Too high CPU resources consumed by ORDS tabular resources metadata query
- BUG 31405764 - ORDS: Support FIPS wallet
- BUG:32433178 - SDW: Aggressive formatting disrupts editing in JSON editor
- BUG:32284779 - ADP: Error message changed from ORA-00972 to ORA-00942 when trying to use col name longer than max length
- BUG:32103129 - ADP: Incomplete error message when a field is mapped to more than one column
- BUG:32316309 - ADP: Validation prevents user from existing settings panel when toggling between create and insert options
- BUG:32283409 - ADP: Add support for refreshing cloud storage objects

### New Features in 20.4.3

- BUG:32434776 - ORDS: Uptake AnalysisJDBC 20.3.1.6
- BUG:32203068 - ORDS: Uptake oraclepki 21.0.0.0_322030686

## Changes in 20.4.2

The following changes have been made since 20.4.1:

### New Features in 20.4.2

- BUG:32386404 - ADP: Implemented Data Access support for CloudStore

## Changes in 20.4.1

The following changes have been made since 20.3.1:

### Issues Fixed in 20.4.1

- BUG:32047436 - ORDS: Installer default tablespace for ORDS_PUBLIC_USER changed from USERS to SYSAUX
- BUG:31420573 - ORDS: Open proxy connection session for dedicated PL/SQL Gateway database account
- BUG:30594550 - ORDS: ServiceConfigurationError reported in Oracle WebLogic Server for coherence
- BUG:29909257 - ORDS: Support parameter names with hyphens

### New Features in 20.4.1

- BUG:32145266 - ORDS: Uptake 21.1 JDBC jars
- BUG:32298189 - ORDS: Support 21.1 database JSON data type
- BUG:32299236 - ORDS: Uptake AnalysisJDBC 20.3.1.5
- BUG:32124540 - ORDS: Uptake Guava 30.0-jre
- BUG:32124540 - ORDS: Uptake Jackson 2.11.3
- BUG:32124540 - ORDS: Uptake Jetty 9.4.35
- BUG:32061299 - ORDS: Upgrade to SODA 1.1.6
- BUG:32136483 - ORDS: Support Oracle WebLogic Server 14c
- BUG:31984526 - ORDS: Support JSON error responses
- BUG:31883509 - ORDS: Support trusted origins for PL/SQL Gateway calls
- BUG:31423488 - ORDS: Check for duplicate resource definitions in plugins
- BUG:32100885 - SDW: Extending cookie sessions for active users
- BUG:32200996 - SDW: Quick navigation from query by example page to SQL Worksheet
- BUG:32132341 - SDW: Third Party Library updates - uptake Dexie 3.0.2
- BUG:32132341 - SDW: Third Party Library updates - uptake CodeMirror 5.58.2
- BUG:32132341 - SDW: Third Party Library updates - uptake AVSC 5.5.2
- BUG:32132341 - SDW: Third Party Library updates - uptake babel-polyfill 7.12.1
- BUG:32132341 - SDW: Third Party Library updates - uptake regenerator-runtime 0.13.7
- BUG:32132341 - SDW: Third Party Library updates - uptake js-xlsx 0.16.8
- BUG:31879078 - SDW: REST Workshop - integration with cURL
- BUG:32065000 - SDW: REST Workshop - AutoREST support

## Changes in 20.3.1

The following changes have been made since 20.3.0:

### Issues Fixed in 20.3.1

- BUG:32143021 - SDW: Explain plan not working on multiple lines

## Changes in 20.3.0

The following changes have been made since 20.2.3:

### Issues Fixed in 20.3.0

- BUG:31725735 - SDW: Active SQL is not loading in sessions page
- BUG:31716468 - SDW: Untranslated strings on Database Actions page
- BUG:31680705 - DB-API: Pluggable Database Lifecycle Management parameter validation and syntax errors
- BUG:31630534 - SDW: Unicode characters corrupted in CSV import
- BUG:31517077 - SDW: Explain plan not shown correctly for 11.2.0.4.0 versions of database
- BUG:31513457 - SDW: Import failure for binary float and binary double types
- BUG:27252532 - PL/SQL Gateway: ArithmeticException during upload of files greater than 1 Gb
- BUG:31872141 - ORDS Logging not leveraging JDK logging

### New Features in 20.3.0

- BUG:31860976 - SDW: JSON Collection
- BUG:31680101 - DB-API: Open Service Broker implementation for Pluggable Database create and clone operations
- BUG:31408188 - SDW: REST Workshop
- BUG:31888902 - Upgrade SODA jars in ORDS to 1.1.5, and add support for debug.printDebugToScreen in SODA
- ENH:31677304 - Upgrade ORDS to JET version 8.3.2

## Changes in 20.2.3

The following changes have been made since 20.2.2:

### New Features in 20.2.3

- BUG:31818989 - Batch Load errorsMax setting is now a set through ORDS configuration db.batchload.errorsMax. Defaults to 100. To permit no errors at all, set db.batchload.errorsMax=0. To indicate unlimited errorsMax, set db.batchload.errorsMax=-1.
- BUG:31811804 - Limit the size of PL/SQL Gateway procedure cache.

## Changes in 20.2.2

The following changes have been made since 20.2.0:

### Issues Fixed in 20.2.2

- BUG:31774867 - Unable to validate ORDS in Application Container root after upgrade
- BUG:31783282 - ORDS.EXECUTE_SCHEMA causes an issue for using Application Container common user in Application Container PDB

## Changes in 20.2.0

The following changes and enhancements have been made since 20.1.0:

### Issues Fixed in 20.2.0

- BUG:31510845 - Uptake JDBC Patch 31223382 - NullPointerException from javanet while closing proxy
- BUG:31510845 - Uptake JDBC Patch 31035916 - Label callback to set schema not replayed
- BUG:31510845 - Uptake UCP Patch 31214119 - UCP throws IllegalArgumentException: Non existent or Unknown service name after switchover
- BUG:31510845 - Uptake UCP Patch 29470059 - OutOfMemoryError occurs when using UCP with DRCP
- BUG:31513427 - Uptake long javascript library 4.0.1
- BUG:31345898 - Uptake babel-polyfill 7.8.7
- BUG:31282991 - Uptake jQuery 3.5.0
- BUG:31245974 - Uptake Guava 29.0
- BUG:31245974 - Uptake Jackson Annotations, Core, Databind, Dataformat-XML and JacksonJr 2.10.3
- BUG:31245974 - Uptake Javassist 3.27
- BUG:31492479 - Installer: Cannot revoke EXECUTE on SYS.DBMS_LOB from ORDS_PUBLIC_USER error executing upg_ords_object_grants.sql
- BUG:31222429 - PL/SQL Gateway should trim leading and trailing whitespace in header values
- BUG:31380524 - PL/SQL Gateway may duplicate some HTTP headers
- BUG:31139876 - PL/SQL Gateway order of parameters in flexibale parameter passing is incorrect
- BUG:30954351 - SDW Pivot columns not rendered in correct order on grid
- BUG:30907038 - POST on autorest table with composite key returns HTTP 404 response
- BUG:30563861 - Database alert log shows failed queries on apex_release view when APEX not installed

### New Features in 20.2.0

- BUG:31288207 - SDW new landing page
- BUG:31206975 - REST Enabled SQL returns Database Product and Version information on GET request
- BUG:31038993 - Install/Upgrade ORDS in Database Application Container
- BUG:31014036 - SDW Worksheet provides an option to change Oracle Cloud services consumer group

## Changes in 20.1.0

The following changes and enhancements have been made since 19.4.5:

### Issues Fixed in 20.1.0

- BUG:30780668 - Uptake Jetty 9.4.26
- BUG:30738801 - Uptake Guava 28.2
- BUG:30738787 - Uptake Jackson Annotations and Jackson Databind 2.10.2
- BUG:30956765 - Uptake SODA 1.1.3
- BUG:30453563 - Install does not abort on Insufficient Privileges error
- BUG:30563957 - Autorest generated Swagger V2 metadata inconsistencies in property name case
- BUG:30680803 - SDW Data load should initiate statistics gathering
- BUG:30783704 - SDW Navigator only shows the first 500 schemas in the database
- BUG:30896527 - SDW Tour panels overlap on top of dialgs

### New Features in 20.1.0

- BUG:30870100 - SDW: Instance Viewer
- BUG:30833461 - SDW: DB-API Migration - Activity > Storage
- BUG:30833461 - SDW: DB-API Migration - Activity > Top SQL
- BUG:30793935 - SDW: Data load support for XML
- BUG:30793932 - SDW: Data load support for AVRO/JSON
- BUG:30771163 - DB-API: Open Service Broker implementation
- BUG:30466625 - DB-API: APEX Administration REST services
- BUG:30868781 - DB-API: RESTful data services derived from SQL Developer Reports

## Changes in 19.4.6

The following changes and enhancements have been made since 19.4.0:

### Issues Fixed in 19.4.6

- BUG 31222530 - Head Request Failing
- BUG:30739384 - Fix 500 Internal Server Error: No Provider Found Error
- BUG 30977063 - OutOfMemoryError For APEX static resources
- BUG 30787873 - ORDS More Resilient to APEX repository issues
- BUG 31078569 - Better error message required when ORDS does not have access to ORDS_METADATA objects
- BUG 30739384 - Content Clone uses JAXP Clone with the same source document - Exception in threads
- BUG 31381258 - PL/SQL Gateway requests can leak Connections

### New Features in 19.4.6

- BUG 30661389 - Report errors in user defined resources as status 555
- BUG 30957867 - Implement feature to support alternative runtime user (ORDS_PUBLIC_USER)

## Changes in 19.4.0

The following changes and enhancements have been made since 19.3.0:

### Issues Fixed in 19.4.0

- BUG:30656342 - Remove Apache FOP Support
- BUG:30589833 - Uptake Javassist 3.26.0-GA
- BUG:30589826 - Uptake Jetty 9.4.24
- BUG:30589815 - Uptake Guava 28.1
- BUG:30589806 - Uptake Apache XML Graphics Commons 2.4
- BUG:30589782 - Uptake Jackson Annotations and Jackson Databind 2.10.1
- BUG:30574360 - StackOverflowError possible when db.invalidpooltimeout property is less than zero
- BUG:30516590 - ORDS Standalone parameter to have Jetty bind to specific addresses
- BUG:30514855 - SDW does not have a help page for Create Synonym dialog
- BUG:30443935 - SDW 'move up' and 'move down' buttons have no effect in create table panel
- BUG:30430085 - Starting ORDS Standalone prompts for APEX static images location even after saying 'NO' to APEX during install
- BUG:30376626 - SDW Worksheet does not display execution time
- BUG:30691478 - UniversalConnectionPoolException is not recovered from
- BUG:28487031 - ORDS metadata catalog does not generate valid Swagger V2 API document
- BUG:26326540 - SDW Worksheet does not prompt for a variable value when one is defined in a script
- BUG:22472978 - Filter query does not support IN for comparison of an attribute with a list of values

### New Features in 19.4.0

- BUG:30265178 - SDW: Data load to a new table
- BUG:30419710 - SDW: Activity now includes a logins section
- BUG:30429500 - SDW: Create and REST Enable users

## Changes in 19.3.0

The following changes and enhancements have been made since 19.2.0

### Issues Fixed in 19.3.0

- BUG:30494480 - CDB-PDB migration reports ORA-00600 error when upgrading the common ORDS_METADATA schema
- BUG:30505126 - CDB-PDB migration reports ORA-20148 error when upgrading releases earlier than 3.0.6
- BUG:30294697 - Make static HTTP resources in ords.war cacheable
- BUG:30288094 - Uptake JDBC Patch 30269428: Add Oracle binary JSON format support to SODA
- BUG:30287115 - Uptake UCP Patch 30076604: Labelling Callback being passed invalid connection
- BUG:30287001 - Uptake JDBC Patch 29010517 - Parameter missing when too many parameters are submitted
- BUG:30238917 - Improve performance of dispatching requests
- BUG:30215276 - Include timestamp and ECID in error page
- BUG:30193380 - Uptake Javassist 3.25.0-GA
- BUG:30193375 - Uptake Jetty 9.4.20
- BUG:30193361 - Uptake Guava 28.0
- BUG:30193344 - Uptake Batik 1.11
- BUG:30193331 - Uptake PDFBox 2.0.16
- BUG:30193314 - Uptake Jackson Databind 2.9.9.3
- BUG:30095934 - Provide `/ords/sql-developer` landing page
- BUG:29844552 - Provide option to keep connection proxied when returned to pool
- BUG:29772200 - Address issue with upgrading ORDS configurations that use TNS connection
- BUG:29693492 - Provide installer option to use TNS connection
- BUG:26809645 - Handle overflow of offset and limit query parameter
- BUG:30072487 - Do not assume non Oracle Database when using db.customURL
- BUG:30062366 - Pools defined with a Custom URL cause 404 response

### New Features in 19.3.0

- BUG:30282368 - Incorporate SQL Developer Web into Oracle REST Data Services

## Changes in 19.2.0

The following changes and enhancements have been made since 19.1.0:

### Issues Fixed in 19.2.0

- BUG:29884541 - Force newline characters in `Error-Reason` headers to be replaced by space characters to avoid error on WebLogic
- BUG:29942773 - Force use of `APEX_PUBLIC_USER` when dispatching APEX Static Resources service
- BUG:24941023 - Handle pound character in URL path values
- BUG:28871609 - Improve Open-API documentation for date time fields
- BUG:29028746 - Dispatch APEX static resources using built in ORDS service
- BUG:29422705 - Enumerate exact set of OWA packages that access is restricted to
- BUG:29536670 - Uptake Oracle JDBC Driver PSE 29010517 to address loss of data in PL/SQL Gateway calls
- BUG:29550323 - The root cause for this issue was addressed by uptaking 19.3.0 Oracle JDBC Drivers, see BUG:29803162
- BUG:29642673 - Fix problem with output being truncated for multi-byte characters in PL/SQL Gateway responses
- BUG:29693752 - Fix problem with detection of SQL Administrator role on 12+ non container database
- BUG:29809280 - Make installer more resilient to error conditions in customer database
- BUG:29843652 - Improve performance of built in Java based REST endpoints
- BUG:29719737 - Fix problem with detection of APEX when APEX is installed in a CDB using Application Containers
- BUG:29711406 - Fix problem with ICAP integration in some environments
- BUG:29803162 - Uptake Oracle JDBC Drivers 19.3.0
- BUG:29617151 - Uptake Eclipse Jetty 9.4.18
- BUG:29778333 - Uptake PDFBox 2.0.15
- BUG:29872040 - Uptake Jackson 2.9.9
- BUG:29615441 - Uptake Guava 27.1
- BUG:29191117 - Uptake Javassist 3.24.1-GA

### New Features in 19.2.0

- BUG:29778399 - Provide script to provision a database user to be able to install ORDS database schema
- BUG:29629522 - Propagate authenticated user to database as `SYS_CONTEXT('USER_ENV','CLIENT_IDENTIFIER')`

## Changes in 19.1.0

The following changes and enhancements have been made since 18.4.0:

### Issues Fixed in 19.1.0

- BUG:29544918 - Fix problem with Standalone Mode producing WARN level messages during startup
- BUG:29532796 - Fix problem with WebLogic raising 'Cannot contain CRLF Charcters' (sic) error
- BUG:29524572 - Remove Apache Avalon third party dependency
- BUG:29193867 - Fix problem with invocation of ORDS_ADMIN.DEFINE_SERVICE and ORDS_ADMIN.DEFINE_HANDLER APIs
- BUG:29290410 - Add DOC_SIZE, DAD_CHARSET and CONTENT_TYPE to file upload in document table
- BUG:29303722 - Improve how string arrays are transferred from ORDS to the database on 12C and later
- BUG:29210421 - ORDS corrupting timestamps of ords.war contents when running configdir command
- BUG:29197220 - Dispatch PL/SQL Gateway calls via ORDS_PUBLIC_USER to minimize number of pools required
- BUG:29191117 - Uptake Javassist 3.24.1-GA
- BUG:29191097 - Uptake Eclipse Jetty 9.4.14
- BUG:29191084 - Uptake Google Guava 27.0.1
- BUG:29190987 - Uptake Jackson 2.9.8
- BUG:29190934 - Uptake Apache Commons File Upload 1.4
- BUG:29190890 - Uptake Apache PDFBox 2.0.13
- BUG:29128000 - Connect to database using Wallet Zip archive as found Oracle Database Cloud ATP/ADW environments
- BUG:28570782 - Improve integration with McAfee ICAP Server
- BUG:27639517 - Provide mechanism to enable Plugin servlets function as an administrative database user

### New Features in 19.1.0

- ENH:29303772 - Enable ORDS to install in a PDB without requiring SYS user or SYSDBA role

## Changes in 18.4.0

The following changes and enhancements have been made since 18.3.0:

### Issues Fixed in 18.4.0

- BUG:29053557 - Determine administrative database users based on granted database role
- BUG:29049176 - Show 403 Forbidden status when REST Service fails due to database user lacking privilege to access objects referenced in the SQL statement
- BUG:28520359 - Show Oracle Logo in UI
- BUG:29011184 - Suppress unsupported and undocumented `X-DB-Content-Length` response header produced by OWA
- BUG:28877175 - Fix resolution of `url-mapping.xml` based mapping that uses `--workspace-id`
- BUG:28997641 - Gracefully cope with database password rotation
- BUG:28964132 - ORDS installer won't accept passwords more than 28 bytes long
- BUG:28808094 - Uptake Apache Commons Logging 1.2
- BUG:28787846 - Uptake Apache PDFBox 2.0.12
- BUG:28719460 - Uptake Javassist 3.23.1-GA
- BUG:28719440 - Uptake Jetty 9.4.12
- BUG:28719424 - Uptake Jackson 2.9.7
- BUG:28561298 - Address problem with upgrading from ORDS 17.4.1
- BUG:28518849 - Fix problem with OAuth token lifetimes not being calculated correctly
- BUG:28466581 - Fix 500 Error status on open-api-catalog resources
- BUG:27992525 - Fix access to metadata-catalog when no authorization required
- BUG:27933884 - Fix parsing of Resource Handler content to recognize parameters more precisely
- BUG:27808357 - Enhance performance of AutoREST tables/views

### New Features in 18.4.0

- ENH:23666046 - Make `security.requestValidationFunction` setting configurable per database pool
- ENH:28028432 - Echo p_comments value into generated Swagger documentation

## Earlier versions

For information on Issues Fixed and New Features introduced for earlier versions please refer to the release notes for those versions.

## Known Issues

### Oracle Database may report 'ORA-01031: insufficient privileges' for queries that involve CURSOR expressions

In a number of cases, ORDS executes queries which include a CURSOR expression. An issue has been found executing these queries for some schemas in Oracle 18c and Oracle 19c databases. Depending on the roles and privileges involved, the issue does not occur for all schemas, which can give the impression that the issue is intermittent. Refer to RDBMS bug 29049673 for more information. The issue is manifest as follows in the exception returned:

    ORA-00604: error occurred at recursive SQL level 1
    ORA-01031: insufficient privileges

This is a problem with view-merging of nested cursors introduced in Oracle 18.1 database. Please use the following as a workaround:

    alter system set "_fix_control"='20648883:OFF';

### Oracle Database DATE and TIMESTAMP values

ORDS interprets Oracle Database DATE and TIMESTAMP values (which do not possess a time zone) into the time zone of ORDS. These values are then represented in the RFC3339 UTC format.

In a future release Oracle Database DATE and TIMESTAMP values will not by default be interpreted into any time zone. These values will be represented in the ISO 8601 "yyyy-mm-ddThh:mm:ss[.sss]" format. Oracle Database TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE values will remain represented in the RFC3339 UTC format.

### SQL Developer Web

- DATE, TIMESTAMP, TIMESTAMP WITH TIMEZONE values downloaded from the Worksheet Query Result in the JSON format are not presented in the Internet Datetime format.

### JDBC Array values

ORDS passes array values to the Oracle Database in a number of cases, for example arrays are used to pass the request headers and form fields during PL/SQL Gateway calls. Oracle JDBC Driver 18.3 and later supports an improved mechanism for passing array values, however this feature is only supported on Oracle Database 12c and later. Thus ORDS uses existing deprecated and less efficient APIs for passing array values when connecting to 11G databases, and the improved mechanism when connected to 12c and later. Customers experiencing problems with passing large array sets (for example OutOfMemory exceptions) are encouraged to upgrade from 11G to a newer database version to mitigate these issues.

### Autogenerated REST Endpoints

- AutoRest resources support the OAuth 2.0 Client Credentials flow only.

### RESTful Services

- Application Express workspaces do not support first party authentication, and therefore do not support the `/sign-in/` interactive sign in form. Accessing `/sign-in/` in APEX workspaces will produce a 404 status.

### Support For mod_plsql logmeoff

- The mod_plsql logmeoff mechanism is not supported reliably by modern browsers and it is not provided by ORDS. The only way to end a HTTP Basic Authentication session is to close the Browser.