Skip to content

Commit e6cf7a3

Browse files
authored
Merge pull request #879 from kwwall/2.6.1.0
2.6.1.0 release prep
2 parents 5f267f7 + a34b00d commit e6cf7a3

File tree

4 files changed

+240
-37
lines changed

4 files changed

+240
-37
lines changed
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
Release notes for ESAPI 2.6.1.0
2+
Release date: 2025-05-18
3+
Project leaders:
4+
-Kevin W. Wall <[email protected]>
5+
-Matt Seil <[email protected]>
6+
7+
Previous release: ESAPI 2.6.0.0, 2024-11-25
8+
9+
10+
Executive Summary: Important Things to Note for this Release
11+
------------------------------------------------------------
12+
This is a patch release with the primary intent of updating the AntiSamy dependency from v1.7.7 to v1.7.8. Among other fixes, AntiSamy 1.7.8 updated HttpClient 5.x to address CVE-2025-27820, which potentially could affect ESAPI users if they had customized their aAntiSamy Policy File (by default, antisamy-esapi.xml) to allow certain CSS constructs. (The default policy file does not allow CSS markup at all, and I don't believe that it would be exploitable via ESAPI.)
13+
14+
15+
Notes if you are not updating from the immediate previous release. release 2.6.0.0:
16+
* You need to read through the series of release notes FIRST, going in order.
17+
* For example, if you were updating from an older ESAPI release (say, 2.3.0.0), you should go back and FIRST read all the subsequent release notes in turn. For instance, if you are currently on release 2.3.0.0 and upgrading to (say) release 2.x.y.z, you should MINIMALLY read the sections "Changes Requiring Special Attention" in each of the subsequent release notes. So, going from release 2.3.0.0 to 2.x.y.z, you should in turn, read:
18+
19+
esapi4java-core-2.4.0.0-release-notes.txt
20+
esapi4java-core-2.5.0.0-release-notes.txt
21+
esapi4java-core-2.5.1.0-release-notes.txt
22+
esapi4java-core-2.5.2.0-release-notes.txt
23+
...etc., up through the current set of release notes...
24+
esapi4java-core-2.x.y.z-release-notes.txt
25+
26+
in that order. YOU HAVE BEEN WARNED!!! (These release notes are too large to put all this in a given document; very few read them thoroughly as it is.)
27+
28+
If your SCA tool is reporting any CVE from a direct or transitive dependency in ESAPI, before reporting it as an GitHub issue, please make sure that you review the vulnerability analysis written up in https://github.com/ESAPI/esapi-java-legacy/blob/develop/Vulnerability-Summary.md. Please email us or contact us in our GitHub Discussions page if you have questions about this. See also the SECURITY.md file to report any security issues with ESAPI.
29+
30+
You are encouraged to review the vulnerability analysis written up in https://github.com/ESAPI/esapi-java-legacy/blob/develop/Vulnerability-Summary.md and email us or contact us in our GitHub Discussions page if you have questions.
31+
32+
33+
=================================================================================================================
34+
35+
Basic ESAPI facts
36+
-----------------
37+
38+
ESAPI 2.6.0.0 release:
39+
207 Java source files
40+
4312 JUnit tests in 133 Java source files
41+
42+
ESAPI 2.6.1.0 release:
43+
207 Java source files
44+
4312 JUnit tests in 133 Java source files
45+
46+
9 GitHub Issues closed in this release, including those we've decided not to fix (marked 'wontfix' and 'falsepositive').
47+
(Reference: https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+state%3Aclosed+updated%3A%3E%3D2024-11-25)
48+
49+
Issue # GitHub Issue Title
50+
----------------------------------------------------------------------------------------------
51+
204 DefalutValidator.isValidSafeHTML() doesn't work - bug, Component-Validator, imported, Milestone-Release2.2, Priority-Medium, wontfix
52+
838 Getting org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception. - bug, wontfix
53+
858 Fail to run Linux command with double quotes using executeSystemCommand - question, ConvertedToDiscussion
54+
859 Remove deprecated Validator.isValidSafeHTML methods - bug (Note: fixed in previous release, 2.6.0.0)
55+
863 2.6.0.0 still using javax HttpServletRequest - enhancement, falsepositive
56+
867 How to turn off ESAPI logs or change its log level - question, ConvertedToDiscussion
57+
868 Do not depend on commons-collections4 milestone (use 4.4 instead) - bug, Vulnerable Dependencies, wontfix
58+
874 jakarta.servlet-api 5.0(Jakarta EE 9) change the package name from javax.xxx to jakarta.xxxx - enhancement, duplicate, NothingToFixHere
59+
876 Upgrade version of antisamy to 1.7.8 to update transitive dependency affected by CVE-2025-27820 - enhancement, duplicate, NothingToFixHere
60+
61+
-----------------------------------------------------------------------------
62+
63+
Changes Requiring Special Attention
64+
65+
-----------------------------------------------------------------------------
66+
Important JDK Support Announcement
67+
* ESAPI 2.3.0.0 was the last Java release to support Java 7. ESAPI 2.4.0 requires using Java 8 or later. See the ESAPI 2.4.0.0 release notes (https://github.com/ESAPI/esapi-java-legacy/blob/develop/documentation/esapi4java-core-2.4.0.0-release-notes.txt) for details as to the reason.
68+
- This means if your project requires Java 7, you must use ESAPI 2.3.0.0 or earlier.
69+
70+
Important ESAPI Logging Changes
71+
72+
* Since ESAPI 2.5.0.0, support for logging directly via Log4J 1 has been removed. (This was two years after it haveing first been deprecated.) Thus, you only choice of ESAPI logging are
73+
- java.util.logging (JUL), which as been the default since ESAPI 2.2.1.0.
74+
* Set ESAPI.Logger=org.owasp.esapi.logging.java.JavaLogFactory in your ESAPI.properties file.
75+
- SLF4J (which your choice of supported SLF4J logging implemmentation)
76+
* Set ESAPI.Logger=org.owasp.esapi.logging.slf4j.Slf4JLogFactory in your ESAPI.properties file.
77+
* Logger configuration notes - If you are migrating from prior to ESAPI 2.2.1.1, you will need to update your ESAPI.properties file as logging-related configuration as per the ESAPI 2.2.1.1 release notes, which may be found at:
78+
https://github.com/ESAPI/esapi-java-legacy/blob/develop/documentation/esapi4java-core-2.2.1.1-release-notes.txt#L39-L78
79+
80+
If you use ESAPI 2.5.0.0 or later, you will get an ClassNotFoundException as the root cause if you still have your ESAPI.Logger property set to use Log4J because the org.owasp.esapi.logger.log4j.Log4JFactory class has been completely removed from the ESAPI jar. If you are dead set on continuing to use Log4J 1, you ought to be able to do so via SLF4J. The set up for Log4J 1 (which has not be tested), should be similar to configure ESAPI to use SLF4J with Log4J 2 as described here:
81+
https://github.com/ESAPI/esapi-java-legacy/wiki/Using-ESAPI-with-SLF4J#slf4j-using-log4j-2x
82+
83+
-----------------------------------------------------------------------------
84+
85+
Remaining Known Issues / Problems
86+
87+
-----------------------------------------------------------------------------
88+
None known, other than the remaining open issues on GitHub.
89+
90+
-----------------------------------------------------------------------------
91+
92+
Other changes in this release, some of which not tracked via GitHub issues
93+
94+
-----------------------------------------------------------------------------
95+
96+
* Changes since last release 2.6.0.0 and 2.6.1.0, i.e., changes between 2025-11-25 and 2025-05-18.
97+
98+
Note: I am no longer going to provide the 'Developer Activity Report' that I used to this manually create in tabluar form. This is in part because I use to use 'mvn site' to assist with its creation, but neither the 'Developer Activiity' nor 'File Activity' sections of the 'mvn site' output is currently working.
99+
100+
That said, I don't care as this was always a major PITA and I think it had dubious value to start with.
101+
102+
Therefore, I am replacing it to a stock GitHub tag comparison of the current and previous release, which I can automate.
103+
104+
Please see,
105+
106+
https://github.com/ESAPI/esapi-java-legacy/compare/esapi-2.6.0.0...esapi-2.6.1.0
107+
108+
for details. It contains all the information that the previous 'Developer Activity Reports' did and then some.
109+
110+
111+
CHANGELOG: Create your own. May I suggest:
112+
113+
git log --stat --since=2024-11-25 --reverse --pretty=medium
114+
115+
which will show all the commits since just after the previous (2.6.0.0) release.
116+
117+
Alternately, you can download the most recent ESAPI source and run
118+
119+
mvn site
120+
121+
which will create a CHANGELOG file named 'target/site/changelog.html'
122+
123+
124+
-----------------------------------------------------------------------------
125+
126+
Direct and Transitive Runtime and Test Dependencies:
127+
128+
$ mvn -B dependency:tree
129+
...
130+
[INFO] --- maven-dependency-plugin:3.8.1:tree (default-cli) @ esapi ---
131+
[INFO] org.owasp.esapi:esapi:jar:2.6.1.0
132+
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
133+
[INFO] +- javax.servlet.jsp:javax.servlet.jsp-api:jar:2.3.3:provided
134+
[INFO] +- xom:xom:jar:1.3.9:compile
135+
[INFO] +- commons-beanutils:commons-beanutils:jar:1.9.4:compile
136+
[INFO] | +- commons-logging:commons-logging:jar:1.2:compile
137+
[INFO] | \- commons-collections:commons-collections:jar:3.2.2:compile
138+
[INFO] +- commons-configuration:commons-configuration:jar:1.10:compile
139+
[INFO] +- commons-lang:commons-lang:jar:2.6:compile
140+
[INFO] +- commons-fileupload:commons-fileupload:jar:1.5:compile
141+
[INFO] +- org.apache.commons:commons-collections4:jar:4.5.0-M2:compile
142+
[INFO] +- org.apache-extras.beanshell:bsh:jar:2.0b6:compile
143+
[INFO] +- org.owasp.antisamy:antisamy:jar:1.7.8:compile
144+
[INFO] | +- commons-io:commons-io:jar:2.19.0:compile
145+
[INFO] | +- org.apache.httpcomponents.client5:httpclient5:jar:5.4.4:compile
146+
[INFO] | | \- org.apache.httpcomponents.core5:httpcore5-h2:jar:5.3.4:compile
147+
[INFO] | +- org.apache.httpcomponents.core5:httpcore5:jar:5.3.4:compile
148+
[INFO] | +- org.apache.xmlgraphics:batik-css:jar:1.19:compile
149+
[INFO] | | +- org.apache.xmlgraphics:batik-shared-resources:jar:1.19:compile
150+
[INFO] | | +- org.apache.xmlgraphics:batik-util:jar:1.19:compile
151+
[INFO] | | | +- org.apache.xmlgraphics:batik-constants:jar:1.19:compile
152+
[INFO] | | | \- org.apache.xmlgraphics:batik-i18n:jar:1.19:compile
153+
[INFO] | | \- org.apache.xmlgraphics:xmlgraphics-commons:jar:2.11:compile
154+
[INFO] | +- org.htmlunit:neko-htmlunit:jar:4.11.0:compile
155+
[INFO] | +- xerces:xercesImpl:jar:2.12.2:compile
156+
[INFO] | \- xml-apis:xml-apis-ext:jar:1.3.04:compile
157+
[INFO] +- org.slf4j:slf4j-api:jar:2.0.16:compile
158+
[INFO] +- xml-apis:xml-apis:jar:1.4.01:compile
159+
[INFO] +- com.github.spotbugs:spotbugs-annotations:jar:4.9.3:compile (optional)
160+
[INFO] | \- com.google.code.findbugs:jsr305:jar:3.0.2:compile (optional)
161+
[INFO] +- commons-codec:commons-codec:jar:1.17.1:test
162+
[INFO] +- junit:junit:jar:4.13.2:test
163+
[INFO] +- org.bouncycastle:bcprov-jdk18on:jar:1.78.1:test
164+
[INFO] +- org.hamcrest:hamcrest-core:jar:2.2:test
165+
[INFO] | \- org.hamcrest:hamcrest:jar:2.2:test
166+
[INFO] +- org.powermock:powermock-api-mockito2:jar:2.0.9:test
167+
[INFO] | \- org.powermock:powermock-api-support:jar:2.0.9:test
168+
[INFO] +- org.mockito:mockito-core:jar:3.12.4:test
169+
[INFO] | +- net.bytebuddy:byte-buddy:jar:1.11.13:test
170+
[INFO] | +- net.bytebuddy:byte-buddy-agent:jar:1.11.13:test
171+
[INFO] | \- org.objenesis:objenesis:jar:3.2:test
172+
[INFO] +- org.powermock:powermock-core:jar:2.0.9:test
173+
[INFO] | \- org.javassist:javassist:jar:3.27.0-GA:test
174+
[INFO] +- org.powermock:powermock-module-junit4:jar:2.0.9:test
175+
[INFO] | \- org.powermock:powermock-module-junit4-common:jar:2.0.9:test
176+
[INFO] +- org.powermock:powermock-reflect:jar:2.0.9:test
177+
[INFO] \- org.openjdk.jmh:jmh-core:jar:1.37:test
178+
[INFO] +- net.sf.jopt-simple:jopt-simple:jar:5.0.4:test
179+
[INFO] \- org.apache.commons:commons-math3:jar:3.6.1:test
180+
[INFO] ------------------------------------------------------------------------
181+
182+
-----------------------------------------------------------------------------
183+
184+
Acknowledgments:
185+
A special thanks to the AntiSamy team in getting a new AntiSamy release out in short order. And thanks to Matt Seil, Jeremiah Stacey, and all the ESAPI users who make this worthwhile. This is for you.
186+
187+
A special thanks to the ESAPI community from the ESAPI project co-leaders:
188+
Kevin W. Wall (kwwall) <== The irresponsible party for these release notes!
189+
Matt Seil (xeno6696)

pom.xml

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.owasp.esapi</groupId>
55
<artifactId>esapi</artifactId>
6-
<version>2.7.0.0-SNAPSHOT</version>
6+
<version>2.6.1.0</version>
77
<packaging>jar</packaging>
88

99
<distributionManagement>
@@ -132,16 +132,16 @@
132132
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
133133
<version.jmh>1.37</version.jmh>
134134
<version.findsecbugs>2.0.0-M3</version.findsecbugs>
135-
<version.fluido>2.0.0-M11</version.fluido> <!-- 2.0.0 fails on 'mvn site', but this works. -->
135+
<version.fluido>2.0.0-M11</version.fluido> <!-- Version 2.1.0 is available, but fails with this min Maven. -->
136136
<version.powermock>2.0.9</version.powermock>
137-
<version.spotbugs>4.8.6</version.spotbugs>
138-
<version.spotbugs.maven>4.8.6.6</version.spotbugs.maven>
139-
<version.surefire>3.5.2</version.surefire>
137+
<version.spotbugs>4.9.3</version.spotbugs>
138+
<version.spotbugs.maven>4.9.3.0</version.spotbugs.maven>
139+
<version.surefire>3.5.3</version.surefire>
140140
<project.java.target>1.8</project.java.target>
141141
<!-- TODO: Be sure to update. Should be date of previous official release -->
142142
<!-- Exact date in the form 'yyyy-dd-yy 00:00:00' should be used. You can find the previous release date -->
143143
<!-- in the previous release notes file under the 'documentation/' directory. -->
144-
<date.prev_release>2024-10-08 00:00:00</date.prev_release>
144+
<date.prev_release>2024-11-25 00:00:00</date.prev_release>
145145
</properties>
146146

147147
<dependencies>
@@ -408,7 +408,7 @@
408408
<plugin>
409409
<groupId>org.apache.maven.plugins</groupId>
410410
<artifactId>maven-dependency-plugin</artifactId>
411-
<version>3.8.0</version>
411+
<version>3.8.1</version>
412412
</plugin>
413413
<plugin>
414414
<groupId>org.apache.maven.plugins</groupId>
@@ -418,7 +418,7 @@
418418
<plugin>
419419
<groupId>org.codehaus.mojo</groupId>
420420
<artifactId>versions-maven-plugin</artifactId>
421-
<version>2.17.1</version>
421+
<version>2.18.0</version>
422422
<configuration>
423423
<rulesUri>file:${project.basedir}/versionRuleset.xml</rulesUri>
424424
</configuration>
@@ -431,7 +431,7 @@
431431
<plugin>
432432
<groupId>org.cyclonedx</groupId>
433433
<artifactId>cyclonedx-maven-plugin</artifactId>
434-
<version>2.8.2</version>
434+
<version>2.9.1</version>
435435
<executions>
436436
<execution>
437437
<phase>package</phase>
@@ -467,19 +467,24 @@
467467
<plugin>
468468
<groupId>org.apache.maven.plugins</groupId>
469469
<artifactId>maven-changelog-plugin</artifactId>
470-
<version>2.3</version>
470+
<!-- 3.0.0-M1 is a "milestone" release, which is generally
471+
to an alpha or beta release. Normally we would avoid
472+
those, but generating a changelog is not an essential
473+
task, so we're fine with this.
474+
-->
475+
<version>3.0.0-M1</version>
471476
</plugin>
472477

473478
<plugin>
474479
<groupId>org.apache.maven.plugins</groupId>
475480
<artifactId>maven-clean-plugin</artifactId>
476-
<version>3.4.0</version>
481+
<version>3.4.1</version>
477482
</plugin>
478483

479484
<plugin>
480485
<groupId>org.apache.maven.plugins</groupId>
481486
<artifactId>maven-compiler-plugin</artifactId>
482-
<version>3.13.0</version>
487+
<version>3.14.0</version>
483488
<configuration>
484489
<source>${project.java.target}</source>
485490
<target>${project.java.target}</target>
@@ -513,7 +518,7 @@
513518
<plugin>
514519
<groupId>org.apache.maven.plugins</groupId>
515520
<artifactId>maven-deploy-plugin</artifactId>
516-
<version>3.1.3</version>
521+
<version>3.1.4</version>
517522
</plugin>
518523

519524
<plugin>
@@ -533,7 +538,7 @@
533538
<dependency>
534539
<groupId>org.codehaus.mojo</groupId>
535540
<artifactId>extra-enforcer-rules</artifactId>
536-
<version>1.9.0</version>
541+
<version>1.10.0</version>
537542
</dependency>
538543
<dependency>
539544
<groupId>org.codehaus.mojo</groupId>
@@ -615,7 +620,7 @@
615620
<plugin>
616621
<groupId>org.apache.maven.plugins</groupId>
617622
<artifactId>maven-install-plugin</artifactId>
618-
<version>3.1.3</version>
623+
<version>3.1.4</version>
619624
</plugin>
620625

621626
<plugin>
@@ -635,7 +640,7 @@
635640
<plugin>
636641
<groupId>org.apache.maven.plugins</groupId>
637642
<artifactId>maven-javadoc-plugin</artifactId>
638-
<version>3.10.1</version>
643+
<version>3.11.2</version>
639644
<configuration>
640645
<source>8</source>
641646
<doclint>none</doclint>
@@ -653,19 +658,19 @@
653658
<plugin>
654659
<groupId>org.apache.maven.plugins</groupId>
655660
<artifactId>maven-jxr-plugin</artifactId>
656-
<version>3.5.0</version>
661+
<version>3.6.0</version>
657662
</plugin>
658663

659664
<plugin>
660665
<groupId>org.apache.maven.plugins</groupId>
661666
<artifactId>maven-pmd-plugin</artifactId>
662-
<version>3.25.0</version>
667+
<version>3.26.0</version>
663668
</plugin>
664669

665670
<plugin>
666671
<groupId>org.apache.maven.plugins</groupId>
667672
<artifactId>maven-project-info-reports-plugin</artifactId>
668-
<version>3.7.0</version>
673+
<version>3.9.0</version>
669674
</plugin>
670675

671676
<plugin>
@@ -740,7 +745,7 @@
740745
<plugin>
741746
<groupId>org.owasp</groupId>
742747
<artifactId>dependency-check-maven</artifactId>
743-
<!-- Version 11.x is the latest, but 10.0.4 is the latest that we can use beccause 11.x has a breaking
748+
<!-- Version 12.x is the latest, but 10.0.4 is the latest that we can use beccause 11.x has a breaking
744749
change that requires Java 11 or later and our mimimal JDK is Java 8.
745750
-->
746751
<version>10.0.4</version>
@@ -776,7 +781,7 @@
776781
<issueLinkUrl>https://github.com/ESAPI/esapi-java-legacy/issues/%ISSUE%</issueLinkUrl>
777782
<type>date</type>
778783
<dates>
779-
<!-- TODO: Be sure to update. Should be date of previous official release -->
784+
<!-- TODO: Be sure to update. Should be date of 10revious official release -->
780785
<!-- Exact date should be in previous release notes file under 'documentation/' directory. -->
781786
<date>${date.prev_release}</date>
782787
</dates>

0 commit comments

Comments
 (0)