JET v5.2.0 Release Notes

20 Aug 2018

To view Release Notes from a prior release of JET, select the specific version below

These release notes cover the following topics:

Things you need to know first

  • REMINDER: Pending removal of support for Yeoman and Grunt. Learn more...
  • The behavior of scroll position after refresh in the oj-list-view component has changed. Learn more...

New Features included in v5.2.0


The oj-diagram component now supports an overview window. Please see the API doc and the Overview demo for more details.


The oj-gantt component now supports data providers via the new task-data and dependency-data attributes.

As part of the feature, the following additional new attributes, slots, and custom elements have been introduced:

Please see the dataProvider demo for a sample usage.

async-validators property on some EditableValue components

The EditableValue components that have the validators property now also have an async-validators property. Use async-validators when you need to perform some validation work on the server. Otherwise, use validators, which are synchronous.

Composite Components

Previously, default values for complex properties could only be specified at the top level property metadata. To ease composite authoring and readability, we now support default values specified in metadata at leaf subproperty levels as well. Note that either top level or subproperty level default values should be specified, but not both.

Significant JET changes since 5.1.0

This section lists significant consumer-facing changes that have been made to JET since v5.1.0. Where bugs or ERs were used to track the change, they are included below. The following list does not include changes that are internal implementations, or changes made to samples, demos, or test collateral. It is expected that application code will not need to be modified to uptake v5.2.0.

Component Changes

oj-list-view Changes

The behavior of scroll position after refresh has changed. Previously, ListView will scroll to the item that was at the top of the viewport prior refresh. The new behavior is ListView will scroll to the item last selected by the user prior refresh. If selection is disabled or if there are no selected items prior refresh, then the scroll position will remain at the top after refresh.
Also, if the key specified in scrollPosition attribute does not exists, then ListView will ignore the key and use index and y values that are specified in the attribute instead. If neither index and y are not specified (or the values are invalid) then scroll position will remain the same.

oj-file-picker Changes

The file list provided in the select event detail can be reset or changed as soon as the event listener returns. If you need to hold onto the list of files in the event.detail.files, please make sure you copy the files into an array.

API Changes


The pieCenterLabel property which had been previously deprecated on the ojChart widget was inadvertantly exposed on the oj-chart custom element, though it was correctly omitted from the element API documentation. This inadvertant exposure has been corrected in this release; any custom element usages still referencing this unsupported property may not work properly. These instances should instead be updated to use the supported pieCenter property.

Library Changes

No library changes in this release.

Removing yeoman and grunt

generator-oraclejet and ojet-cli will remove their support and use of yeoman and grunt in the 7.0.0 release. The ojet CLI will be the only way to use the JET Tooling from that point on. To extend the ojet-cli build process, learn about using Hook scripts.

Known Issues

The following table calls out specific known issues, with workarounds where available.

Category Bug # Description Workaround (if available)
iOS N/A JET hybrid mobile apps created using an earlier JET release may have additional spacing at the top of the page when deployed to iOS 11 devices.
Change the viewport meta tag in index.html to the following:
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1.0, user-scalable=no"/>
iOS N/A JET hybrid mobile apps header section might overlap with the device status bar when the application is deployed to iOS 11 devices.
Adjust the header styles using safe-area-inset environment variables, which is available for iOS 11 devices.
In the scaffolded JET hybrid mobile application, include WKWebView plugin and WKWebView XHR plugin as follows:
cd hybrid/platforms/ios/cordova
cordova plugin add cordova-plugin-wkwebview-engine
cordova plugin add cordova-plugin-wkwebview-file-xhr
iOS ios-sim 210 ios-sim version 5.1.0 may be installed locally by cordova-ios and serving the app to iOS simulator reports:
"Error: Cannot read property 'replace' of undefined"
cd hybrid/platforms/ios/cordova; npm install ios-sim@latest
iOS ios-deploy 275 Deployment to iOS device succeeds, but the app fails to launch and an error is reported in the terminal.
Upgrade to the latest version of ios-deploy (sudo npm install -g ios-deploy) and use a developer signing identity. Otherwise, launch the app manually on the device.
npm npm 16901 npm version 5 does not install the oraclejet module when scaffolding a JET hybrid app and building the app reports:
Warning: ENOENT: no such file or directory, open 'node_modules/oraclejet/package.json' Use --force to continue
[sudo] npm install -g npm@latest-4
Custom Elements N/A This is a reminder that when using data binding with JET custom elements, the application should import the ojknockout module. none
oj-file-picker JET-23837 The file list provided in the select event detail can be reset or changed as soon as the event listener returns. If you need to hold onto the list of files in the event.detail.files, please make sure you copy the files into an array.