JDK-8217101 : Remove deprecated java.security.acl APIs
  • Type: CSR
  • Component: security-libs
  • Sub-Component: java.security
  • Priority: P3
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 14
  • Submitted: 2019-01-15
  • Updated: 2019-07-30
  • Resolved: 2019-07-30
Related Reports
CSR :  

Remove the deprecated `java.security.acl` APIs.


These APIs were initially deprecated in Java SE 9, marked for removal in Java SE 10 and have had a warning in the `java.security.acl` package summary since Java SE 1.2 indicating that they have been superseded by other APIs. They are not used within the JDK and have no value going forward.


Remove the deprecated `java.security.acl` APIs, which were marked for removal in Java SE 10. This includes the following classes in that package: `Acl`, `AclEntry`, `AclNotFoundException`, `Group`, `LastOwnerException`, `NotOwnerException`, `Owner`, and `Permission`.  Also, remove the export of the `java.security.acl` package from the module descriptor of the `java.base` module.

$ hg tstatus -r
R src/java.base/share/classes/java/security/acl/Acl.java
R src/java.base/share/classes/java/security/acl/AclEntry.java
R src/java.base/share/classes/java/security/acl/AclNotFoundException.java
R src/java.base/share/classes/java/security/acl/Group.java
R src/java.base/share/classes/java/security/acl/LastOwnerException.java
R src/java.base/share/classes/java/security/acl/NotOwnerException.java
R src/java.base/share/classes/java/security/acl/Owner.java
R src/java.base/share/classes/java/security/acl/Permission.java
R src/java.base/share/classes/java/security/acl/package-info.java

$ hg diff src/java.base/share/classes/module-info.java
diff -r 650335128b9d src/java.base/share/classes/module-info.java
--- a/src/java.base/share/classes/module-info.java      Tue Jul 23 11:36:05 2019 -0700
+++ b/src/java.base/share/classes/module-info.java      Thu Jul 25 11:59:08 2019 -0400
@@ -96,7 +96,6 @@
     exports java.nio.file.attribute;
     exports java.nio.file.spi;
     exports java.security;
-    exports java.security.acl;
     exports java.security.cert;
     exports java.security.interfaces;
     exports java.security.spec;
Moving to Approved.

My understanding is that these classes were added in JDK 1.0/1.1 to support the HotJava Browser. The warning about being superseded seems to be in the API docs since Java SE 1.2.