Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8241751

Remove the Nashorn JavaScript Engine

    Details

    • Type: CSR
    • Status: Closed
    • Priority: P3
    • Resolution: Approved
    • Fix Version/s: 15
    • Component/s: core-libs
    • Labels:
      None
    • Subcomponent:
    • Compatibility Kind:
      source, binary, behavioral
    • Compatibility Risk:
      medium
    • Compatibility Risk Description:
      Hide
      There are internal and possibly external dependencies on nashorn javascript engine.

      Known JDK internal dependencies include

      * Hotspot SA using Nashorn engine for SOQL. This feature is broken and is going to be removed.
      * javadoc search testing uses nashorn js engine

      Known external dependencies include:

      * NetBeans IDE uses Nashorn engine for JavaScript editing/debugging support

      Risk is marked as "medium" rather than "high" because:

      * Nashorn engine has been deprecated for removal since JDK 11

      * jjs tool and nashorn usage via API already print a warning about future removal.
      Show
      There are internal and possibly external dependencies on nashorn javascript engine. Known JDK internal dependencies include * Hotspot SA using Nashorn engine for SOQL. This feature is broken and is going to be removed. * javadoc search testing uses nashorn js engine Known external dependencies include: * NetBeans IDE uses Nashorn engine for JavaScript editing/debugging support Risk is marked as "medium" rather than "high" because: * Nashorn engine has been deprecated for removal since JDK 11 * jjs tool and nashorn usage via API already print a warning about future removal.
    • Interface Kind:
      Java API, add/remove command in $JDK/bin

      Description

      Summary

      Nashorn JavaScript engine is being removed from JDK

      Problem

      Nashorn is a JSR-223 (javax.script) compliant script engine for JavaScript language. This has been deprecated for removal already.

      Solution

      We want to remove nashorn script engine from JDK. We plan to remove the following two nashorn related modules and associated build instructions + tests from JDK.

      jdk.nashorn.scripting

      jdk.nashorn.scripting.shell

      Specification

      The removal of above mentioned nashorn related modules will remove the following APIs

      the jdk.nashorn.api.scripting and jdk.nashorn.api.tree packages.

      (from jdk.scripting.nashorn module)

      the jjs tool in $JDK/bin directory.

      (from jdk.scripting.nashorn.shell module)

      Specdiff: http://cr.openjdk.java.net/~sundar/8241751/specdiff/overview-summary.html

      Webrev: http://cr.openjdk.java.net/~sundar/8241751/webrev.00/

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sundar Sundararajan Athijegannathan
                Reporter:
                sundar Sundararajan Athijegannathan
                Reviewed By:
                Hannes Wallnoefer, Jim Laskey
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: