pmd-devel Mailing List for PMD (Page 5)
A source code analyzer
Brought to you by:
adangel,
juansotuyo
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(768) |
Aug
(543) |
Sep
(364) |
Oct
(326) |
Nov
(182) |
Dec
(148) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(144) |
Feb
(223) |
Mar
(339) |
Apr
(406) |
May
(128) |
Jun
(225) |
Jul
(171) |
Aug
(171) |
Sep
(153) |
Oct
(150) |
Nov
(176) |
Dec
(88) |
| 2004 |
Jan
(71) |
Feb
(28) |
Mar
(91) |
Apr
(184) |
May
(127) |
Jun
(144) |
Jul
(186) |
Aug
(78) |
Sep
(193) |
Oct
(153) |
Nov
(92) |
Dec
(177) |
| 2005 |
Jan
(223) |
Feb
(319) |
Mar
(253) |
Apr
(106) |
May
(215) |
Jun
(299) |
Jul
(341) |
Aug
(286) |
Sep
(270) |
Oct
(212) |
Nov
(283) |
Dec
(345) |
| 2006 |
Jan
(243) |
Feb
(426) |
Mar
(278) |
Apr
(254) |
May
(259) |
Jun
(197) |
Jul
(156) |
Aug
(84) |
Sep
(150) |
Oct
(719) |
Nov
(319) |
Dec
(169) |
| 2007 |
Jan
(484) |
Feb
(222) |
Mar
(61) |
Apr
(51) |
May
(63) |
Jun
(182) |
Jul
(177) |
Aug
(89) |
Sep
(46) |
Oct
(178) |
Nov
(116) |
Dec
(89) |
| 2008 |
Jan
(23) |
Feb
(198) |
Mar
(227) |
Apr
(203) |
May
(174) |
Jun
(215) |
Jul
(55) |
Aug
(152) |
Sep
(129) |
Oct
(177) |
Nov
(79) |
Dec
(84) |
| 2009 |
Jan
(91) |
Feb
(179) |
Mar
(102) |
Apr
(67) |
May
(40) |
Jun
(41) |
Jul
(43) |
Aug
(53) |
Sep
(4) |
Oct
(17) |
Nov
(48) |
Dec
(76) |
| 2010 |
Jan
(28) |
Feb
(17) |
Mar
(27) |
Apr
(9) |
May
(19) |
Jun
(50) |
Jul
(21) |
Aug
(9) |
Sep
(42) |
Oct
(30) |
Nov
(33) |
Dec
(10) |
| 2011 |
Jan
(14) |
Feb
(6) |
Mar
(18) |
Apr
(8) |
May
(4) |
Jun
(18) |
Jul
(21) |
Aug
(19) |
Sep
(298) |
Oct
(82) |
Nov
(102) |
Dec
(241) |
| 2012 |
Jan
(41) |
Feb
(29) |
Mar
(43) |
Apr
(18) |
May
(42) |
Jun
(53) |
Jul
(53) |
Aug
(43) |
Sep
(16) |
Oct
(20) |
Nov
(36) |
Dec
(26) |
| 2013 |
Jan
(15) |
Feb
(14) |
Mar
(36) |
Apr
(38) |
May
(20) |
Jun
(5) |
Jul
(6) |
Aug
(18) |
Sep
(3) |
Oct
(24) |
Nov
(14) |
Dec
(1) |
| 2014 |
Jan
(13) |
Feb
(12) |
Mar
(8) |
Apr
(19) |
May
(4) |
Jun
(4) |
Jul
(27) |
Aug
(18) |
Sep
(11) |
Oct
(15) |
Nov
(32) |
Dec
(13) |
| 2015 |
Jan
(11) |
Feb
(13) |
Mar
(21) |
Apr
(22) |
May
(32) |
Jun
(14) |
Jul
(11) |
Aug
(7) |
Sep
(33) |
Oct
(40) |
Nov
(20) |
Dec
(13) |
| 2016 |
Jan
(24) |
Feb
(16) |
Mar
(11) |
Apr
(25) |
May
(46) |
Jun
(13) |
Jul
(3) |
Aug
(3) |
Sep
(8) |
Oct
(3) |
Nov
(17) |
Dec
(9) |
| 2017 |
Jan
(6) |
Feb
(3) |
Mar
(13) |
Apr
(16) |
May
(7) |
Jun
(5) |
Jul
(30) |
Aug
(3) |
Sep
(3) |
Oct
(10) |
Nov
(2) |
Dec
(3) |
| 2018 |
Jan
(8) |
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
(3) |
Jun
(3) |
Jul
(6) |
Aug
(4) |
Sep
(4) |
Oct
(4) |
Nov
(4) |
Dec
(5) |
| 2019 |
Jan
(3) |
Feb
(2) |
Mar
(3) |
Apr
(2) |
May
(3) |
Jun
(2) |
Jul
(5) |
Aug
(2) |
Sep
(5) |
Oct
(3) |
Nov
(7) |
Dec
(1) |
| 2020 |
Jan
(3) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(3) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
(2) |
Oct
(3) |
Nov
(3) |
Dec
(2) |
| 2021 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(4) |
May
(4) |
Jun
(3) |
Jul
(4) |
Aug
(2) |
Sep
(3) |
Oct
(5) |
Nov
(1) |
Dec
(1) |
| 2022 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
(2) |
May
(2) |
Jun
(3) |
Jul
(2) |
Aug
(2) |
Sep
(3) |
Oct
(1) |
Nov
(2) |
Dec
(2) |
| 2023 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
| 2024 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
(3) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(1) |
Nov
(8) |
Dec
(2) |
| 2025 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
|
From: Rory O'D. <ror...@or...> - 2021-06-14 09:55:43
|
Hi Andreas,
*
Per the JDK 17 schedule , we are in Rampdown Phase One [1].*
**Please advise if you find any issues while testing the latest Early
Access builds**.**
* Schedule:
o *2021/06/10 Rampdown Phase One*
o 2021/07/15 Rampdown Phase Two
o 2021/08/05 Initial Release Candidate
o 2021/08/19 Final Release Candidate
o 2021/09/14 General Availability
The overall feature set is frozen. No further JEPs will be targeted to
this release.
**
* Important JEPs have been integrated – Attention Required!
* *JEP 411: **Deprecate the Security Manager for
Removal*<https://openjdk.java.net/jeps/411>
o Deprecate, for removal, most Security Manager related classes
and methods.
o Warning message at startup if the Security Manager is enabled on
the command line.
o Warning message at run time if a Java application or library
installs a Security Manager dynamically.
o Deprecation is in concert with the legacy Applet API (JEP 398).
* *JEP 407: **Remove RMI Activation*<https://openjdk.java.net/jeps/407>
o Removal the Remote Method Invocation (RMI) Activation mechanism,
while preserving the rest of RMI.
o It was deprecated for removal by JEP
385<https://openjdk.java.net/jeps/385>in Java SE 15.
* *JEP 403: **Strongly Encapsulate JDK
Internals*<https://openjdk.java.net/jeps/403>
o Strongly encapsulate all internal elements of the JDK, except
for critical internal APIs such as /sun.misc.Unsafe/.
o It will no longer be possible to relax the strong encapsulation
of internal elements via a single command-line option.
* Other features integrated in JDK 17:
o *JEP 306: **Restore Always-Strict Floating-Point
Semantics*<https://openjdk.java.net/jeps/306>
o JEP 356: Enhanced Pseudo-Random Number
Generators<https://openjdk.java.net/jeps/356>
o JEP 382: New macOS Rendering
Pipeline<https://openjdk.java.net/jeps/382>
o JEP 391: macOS/AArch64 Port<https://openjdk.java.net/jeps/391>
o JEP 398: Deprecate the Applet API for
Removal<https://openjdk.java.net/jeps/398>
o *JEP 406: **Pattern Matching for switch
(Preview)*<https://openjdk.java.net/jeps/406>
o JEP 409: Sealed Classes<https://openjdk.java.net/jeps/409>
o JEP 410: Remove the Experimental AOT and JIT
Compiler<https://openjdk.java.net/jeps/410>
o JEP 412: Foreign Function & Memory API
(Incubator)<https://openjdk.java.net/jeps/412>
o *JEP 414: **Vector API (Second
Incubator)*<https://openjdk.java.net/jeps/414>
o *JEP 415: **Context-Specific Deserialization
Filters*<https://openjdk.java.net/jeps/415>
*OpenJDK 17 Early Access build 26 is available at
**https://jdk.java.net/17*<https://jdk.java.net/17>
* These early-access , open-source builds are provided under the
o GNU General Public License, version 2, with the Classpath
Exception<https://openjdk.java.net/legal/gplv2+ce.html>
* Release Notes are available at
https://jdk.java.net/17/release-notes<https://jdk.java.net/17/release-notes>
* Changes in recent builds that maybe of interest:
* *Build 26:*
o JDK-8268241: deprecate JVM TI Heap functions 1.0
o JDK-8266846: Add java.time.InstantSource
o JDK-8248268: Support KWP in addition to KW
o JDK-8204686: Dynamic parallel reference processing support for
Parallel GC
o JDK-8259530: Generated docs contain MIT/GPL-licenced works
without reproducing the licence [*Reported by Apache Maven*]
o JDK-8266766: Arrays of types that cannot be an annotation member
do not yield exceptions [*Reported by ByteBuddy*]
o JDK-8266598: Exception values for
AnnotationTypeMismatchException are not always informative
[*Reported by ByteBuddy*]
* *Build 25*
o JDK-8266653: Change update mode for JDK rpm/deb installers as it
breaks "yum update" for JDK11+
o JDK-8263202: Update Hebrew/Indonesian/Yiddish ISO 639 language
codes to current
o JDK-8229517: Support for optional asynchronous/buffered logging
o JDK-8182043: Access to Windows Large Icons
*OpenJDK 18 Early Access build 1 is now available at
**https://jdk.java.net/18* <https://jdk.java.net/18>
* These early-access , open-source builds are provided under the
o GNU General Public License, version 2, with the Classpath
Exception <https://openjdk.java.net/legal/gplv2+ce.html>
* Issues addressed in this build - here
<https://github.com/openjdk/jdk/compare/jdk-18%2B0...jdk-18%2B1>
*Other Topics which might be of Interest: *
**
* Java Cryptographic Roadmap [2] has been updated.
* Inside Java Newscast #6 [3]
o a closer look at the list of JEPs of JDK 17 as well as the
development process
* Inside Java Newscast #7 [4]
o discusses in greater detail `pattern matching for switch`,
previewed in JDK 17
Rgds,Rory
[1]
https://mail.openjdk.java.net/pipermail/jdk-dev/2021-June/005690.html
<https://mail.openjdk.java.net/pipermail/jdk-dev/2021-June/005690.html><https://mail.openjdk.java.net/pipermail/jdk-dev/2021-June/005690.html><https://mail.openjdk.java.net/pipermail/jdk-dev/2021-June/005690.html>
[2] https://java.com/en/jre-jdk-cryptoroadmap.html
<https://java.com/en/jre-jdk-cryptoroadmap.html>
[3] https://inside.java/2021/06/10/insidejava-newscast-006/
<https://inside.java/2021/06/10/insidejava-newscast-006/>
[4] https://inside.java/2021/06/13/podcast-017/
<https://inside.java/2021/06/13/podcast-017/>
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
|
|
From: LINUS F. <lin...@gm...> - 2021-05-29 09:00:51
|
A minor release? Three new rules. Fundu, baba!!! On Sat, 29 May 2021, 11:39 Andreas Dangel, <and...@pm...> wrote: > > - Downloads: > https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.35.0 > - Documentation: https://pmd.github.io/pmd-6.35.0/ > > 29-May-2021 - 6.35.0 > > The PMD team is pleased to announce PMD 6.35.0. > > This is a minor release. > Table Of Contents > > - New and noteworthy > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#new-and-noteworthy> > - Javascript module now requires at least Java 8 > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#javascript-module-now-requires-at-least-java-8> > - New rules > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#new-rules> > - Modified rules > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#modified-rules> > - Deprecated rules > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#deprecated-rules> > - Fixed Issues > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#fixed-issues> > - API Changes > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#api-changes> > - Deprecated API > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#deprecated-api> > - External Contributions > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#external-contributions> > - Stats > <https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#stats> > > New and noteworthy Javascript module now requires at least Java 8 > > The latest version of Rhino <https://github.com/mozilla/rhino>, the > implementation of JavaScript we use > for parsing JavaScript code, requires at least Java 8. Therefore we > decided to upgrade the pmd-javascript > module to Java 8 as well. This means that from now on, a Java 8 or later > runtime is required in order > to analyze JavaScript code. Note that PMD core still only requires Java 7. > New rules > > This release ships with 3 new Java rules. > > - JUnit5TestShouldBePackagePrivate > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_bestpractices.html#junit5testshouldbepackageprivate> > enforces the convention that JUnit 5 tests should have minimal > visibility. > You can try out this rule like so: > > <rule ref="category/java/bestpractices.xml/JUnit5TestShouldBePackagePrivate" /> > > > - CognitiveComplexity > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_design.html#cognitivecomplexity> > uses the cognitive complexity > metric to find overly complex code. This metric improves on the > similar cyclomatic complexity > in several ways, for instance, it incentivizes using clearly readable > shorthands and idioms. > See the rule documentation for more details. You can try out this rule > like so: > > <rule ref="category/java/design.xml/CognitiveComplexity" /> > > > - MutableStaticState > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_design.html#mutablestaticstate> > finds non-private static fields > that are not final. These fields break encapsulation since these > fields can be modified from anywhere > within the program. You can try out this rule like so: > > <rule ref="category/java/design.xml/MutableStaticState" /> > > Modified rules > > - The Java rule CompareObjectsWithEquals > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_errorprone.html#compareobjectswithequals> > has now a new property > typesThatCompareByReference. With that property, you can configure > types, that should be whitelisted > for comparison by reference. By default, java.lang.Enum and > java.lang.Class are allowed, but > you could add custom types here. > Additionally comparisons against constants are allowed now. This makes > the rule less noisy when two constants > are compared. Constants are identified by looking for an all-caps > identifier. > > Deprecated rules > > - > > The java rule DefaultPackage > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#defaultpackage> > has been deprecated in favor of > CommentDefaultAccessModifier > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier> > . > > The rule "DefaultPackage" assumes that any usage of package-access is > accidental, > and by doing so, prohibits using a really fundamental and useful > feature of the language. > > To satisfy the rule, you have to make the member public even if it > doesn't need to, or make it protected, > which muddies your intent even more if you don't intend the class to > be extended, and may be at odds with > other rules like AvoidProtectedFieldInFinalClass > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass> > . > > The rule CommentDefaultAccessModifier > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier> > should be used instead. > It flags the same thing, but has an escape hatch. > - > > The Java rule CloneThrowsCloneNotSupportedException > <https://pmd.github.io/pmd-6.35.0/pmd_rules_java_errorprone.html#clonethrowsclonenotsupportedexception> > has been deprecated without > replacement. > > The rule has no real value as CloneNotSupportedException is a > checked exception and therefore you need to deal with it while > implementing the clone() method. You either > need to declare the exception or catch it. If you catch it, then > subclasses can't throw it themselves explicitly. > However, Object.clone() will still throw this exception if the > Cloneable interface is not implemented. > > Note, this rule has also been removed from the Quickstart Ruleset ( > rulesets/java/quickstart.xml). > > Fixed Issues > > - apex > - #3183 <https://github.com/pmd/pmd/issues/3183>: [apex] > ApexUnitTestMethodShouldHaveIsTestAnnotation false positive with helper > method > - #3243 <https://github.com/pmd/pmd/pull/3243>: [apex] Correct > findBoundary when traversing AST > - core > - #2639 <https://github.com/pmd/pmd/issues/2639>: [core] PMD CLI > output file is not created if directory or directories in path don't exist > - #3196 <https://github.com/pmd/pmd/issues/3196>: [core] Deprecate > ThreadSafeReportListener > - doc > - #3230 <https://github.com/pmd/pmd/issues/3230>: [doc] Remove > "Edit me" button for language index pages > - dist > - #2466 <https://github.com/pmd/pmd/issues/2466>: [dist] > Distribution archive doesn't include all batch scripts > - java > - #3269 <https://github.com/pmd/pmd/pull/3269>: [java] Fix NPE in > MethodTypeResolution > - java-bestpractices > - #1175 <https://github.com/pmd/pmd/issues/1175>: [java] > UnusedPrivateMethod FP with Junit 5 @MethodSource > - #2219 <https://github.com/pmd/pmd/issues/2219>: [java] Document > Reasons to Avoid Reassigning Parameters > - #2737 <https://github.com/pmd/pmd/issues/2737>: [java] Fix > misleading rule message on rule SwitchStmtsShouldHaveDefault with > non-exhaustive enum switch > - #3236 <https://github.com/pmd/pmd/issues/3236>: [java] > LiteralsFirstInComparisons should consider constant fields (cont'd) > - #3239 <https://github.com/pmd/pmd/issues/3239>: [java] PMD could > enforce non-public methods for Junit5 / Jupiter test methods > - #3254 <https://github.com/pmd/pmd/issues/3254>: [java] > AvoidReassigningParameters reports violations on wrong line numbers > - java-codestyle > - #2655 <https://github.com/pmd/pmd/issues/2655>: [java] > UnnecessaryImport false positive for on-demand imports > - #3206 <https://github.com/pmd/pmd/issues/3206>: [java] Deprecate > rule DefaultPackage > - #3262 <https://github.com/pmd/pmd/pull/3262>: [java] > FieldDeclarationsShouldBeAtStartOfClass: false negative with anon classes > - #3265 <https://github.com/pmd/pmd/pull/3265>: [java] > MethodArgumentCouldBeFinal: false negatives with interfaces and inner > classes > - #3266 <https://github.com/pmd/pmd/pull/3266>: [java] > LocalVariableCouldBeFinal: false negatives with interfaces, anon classes > - #3274 <https://github.com/pmd/pmd/pull/3274>: [java] > OnlyOneReturn: false negative with anonymous class > - #3275 <https://github.com/pmd/pmd/pull/3275>: [java] > UnnecessaryLocalBeforeReturn: false negatives with lambda and anon class > - java-design > - #2780 <https://github.com/pmd/pmd/issues/2780>: [java] DataClass > example from documentation results in false-negative > - #2987 <https://github.com/pmd/pmd/issues/2987>: [java] New Rule: > Public and protected static fields must be final > - #2329 <https://github.com/pmd/pmd/issues/2329>: [java] Cognitive > complexity rule for Java > - java-errorprone > - #3110 <https://github.com/pmd/pmd/issues/3110>: [java] Enhance > CompareObjectsWithEquals with list of exceptions > - #3112 <https://github.com/pmd/pmd/issues/3112>: [java] Deprecate > rule CloneThrowsCloneNotSupportedException > - #3205 <https://github.com/pmd/pmd/issues/3205>: [java] Make > CompareObjectWithEquals allow comparing against constants > - #3248 <https://github.com/pmd/pmd/issues/3248>: [java] > Documentation is wrong for SingletonClassReturningNewInstance rule > - #3249 <https://github.com/pmd/pmd/pull/3249>: [java] > AvoidFieldNameMatchingTypeName: False negative with interfaces > - #3268 <https://github.com/pmd/pmd/pull/3268>: [java] > ConstructorCallsOverridableMethod: IndexOutOfBoundsException with > annotations > - java-performance > - #1438 <https://github.com/pmd/pmd/issues/1438>: [java] > InsufficientStringBufferDeclaration false positive for initial calculated > StringBuilder size > - javascript > - #699 <https://github.com/pmd/pmd/issues/699>: [javascript] Update > Rhino library to 1.7.13 > - #2081 <https://github.com/pmd/pmd/issues/2081>: [javascript] > Failing with OutOfMemoryError parsing a Javascript file > > API Changes Deprecated API > > - PMD#doPMD > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#doPMD(net.sourceforge.pmd.PMDConfiguration)> > is deprecated. > Use PMD#runPMD > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#runPMD(net.sourceforge.pmd.PMDConfiguration)> > instead. > - PMD#run > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#run(java.lang.String[])> > is deprecated. > Use PMD#runPMD > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#runPMD(java.lang.String...)> > instead. > - ThreadSafeReportListener > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/ThreadSafeReportListener.html#> > and the methods to use them in Report > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#> > (addListener > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#addListener(net.sourceforge.pmd.ThreadSafeReportListener)> > , > getListeners > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#getListeners()>, > addListeners > <https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#addListeners(java.util.List)> > ) > are deprecated. This functionality will be replaced by another TBD > mechanism in PMD 7. > > External Contributions > > - #3272 <https://github.com/pmd/pmd/pull/3272>: [apex] correction for > ApexUnitTestMethodShouldHaveIsTestAnnotation false positives - William > Brockhus <https://github.com/YodaDaCoda> > - #3246 <https://github.com/pmd/pmd/pull/3246>: [java] New Rule: > MutableStaticState - Vsevolod Zholobov <https://github.com/vszholobov> > - #3247 <https://github.com/pmd/pmd/pull/3247>: [java] New rule: > JUnit5TestShouldBePackagePrivate - Arnaud Jeansen > <https://github.com/ajeans> > - #3293 <https://github.com/pmd/pmd/pull/3293>: [java] Cognitive > Complexity Metric - Denis Borovikov <https://github.com/borovikovd> > - pmd.github.io#12 <https://github.com/pmd/pmd.github.io/pull/12>: > Update quickstart.html - Igor Lyadov <https://github.com/devigo> > > Stats > > - 143 commits > - 53 closed tickets & PRs > - Days since last release: 34 > > > _______________________________________________ > Pmd-devel mailing list > Pmd...@li... > https://lists.sourceforge.net/lists/listinfo/pmd-devel > |
|
From: Andreas D. <and...@pm...> - 2021-05-29 06:09:12
|
* Downloads:
https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.35.0
<https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.35.0>
* Documentation: https://pmd.github.io/pmd-6.35.0/
<https://pmd.github.io/pmd-6.35.0/>
29-May-2021 - 6.35.0
The PMD team is pleased to announce PMD 6.35.0.
This is a minor release.
Table Of Contents
* New and noteworthy
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#new-and-noteworthy>
o Javascript module now requires at least Java 8
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#javascript-module-now-requires-at-least-java-8>
o New rules
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#new-rules>
o Modified rules
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#modified-rules>
o Deprecated rules
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#deprecated-rules>
* Fixed Issues
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#fixed-issues>
* API Changes
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#api-changes>
o Deprecated API
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#deprecated-api>
* External Contributions
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#external-contributions>
* Stats
<https://sourceforge.net/p/pmd/news/2021/05/pmd-6350-29-may-2021-released/#stats>
New and noteworthy
Javascript module now requires at least Java 8
The latest version of Rhino <https://github.com/mozilla/rhino>, the
implementation of JavaScript we use
for parsing JavaScript code, requires at least Java 8. Therefore we
decided to upgrade the pmd-javascript
module to Java 8 as well. This means that from now on, a Java 8 or later
runtime is required in order
to analyze JavaScript code. Note that PMD core still only requires Java 7.
New rules
This release ships with 3 new Java rules.
* |JUnit5TestShouldBePackagePrivate|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_bestpractices.html#junit5testshouldbepackageprivate>
enforces the convention that JUnit 5 tests should have minimal
visibility.
You can try out this rule like so:
<rule ref="category/java/bestpractices.xml/JUnit5TestShouldBePackagePrivate" />
* |CognitiveComplexity|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_design.html#cognitivecomplexity>
uses the cognitive complexity
metric to find overly complex code. This metric improves on the
similar cyclomatic complexity
in several ways, for instance, it incentivizes using clearly
readable shorthands and idioms.
See the rule documentation for more details. You can try out this
rule like so:
<rule ref="category/java/design.xml/CognitiveComplexity" />
* |MutableStaticState|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_design.html#mutablestaticstate>
finds non-private static fields
that are not final. These fields break encapsulation since these
fields can be modified from anywhere
within the program. You can try out this rule like so:
<rule ref="category/java/design.xml/MutableStaticState" />
Modified rules
* The Java rule |CompareObjectsWithEquals|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_errorprone.html#compareobjectswithequals>
has now a new property
|typesThatCompareByReference|. With that property, you can configure
types, that should be whitelisted
for comparison by reference. By default, |java.lang.Enum| and
|java.lang.Class| are allowed, but
you could add custom types here.
Additionally comparisons against constants are allowed now. This
makes the rule less noisy when two constants
are compared. Constants are identified by looking for an all-caps
identifier.
Deprecated rules
*
The java rule |DefaultPackage|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#defaultpackage>
has been deprecated in favor of
|CommentDefaultAccessModifier|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier>.
The rule "DefaultPackage" assumes that any usage of package-access
is accidental,
and by doing so, prohibits using a really fundamental and useful
feature of the language.
To satisfy the rule, you have to make the member public even if it
doesn't need to, or make it protected,
which muddies your intent even more if you don't intend the class to
be extended, and may be at odds with
other rules like |AvoidProtectedFieldInFinalClass|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass>.
The rule |CommentDefaultAccessModifier|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_codestyle.html#commentdefaultaccessmodifier>
should be used instead.
It flags the same thing, but has an escape hatch.
*
The Java rule |CloneThrowsCloneNotSupportedException|
<https://pmd.github.io/pmd-6.35.0/pmd_rules_java_errorprone.html#clonethrowsclonenotsupportedexception>
has been deprecated without
replacement.
The rule has no real value as |CloneNotSupportedException| is a
checked exception and therefore you need to deal with it while
implementing the |clone()| method. You either
need to declare the exception or catch it. If you catch it, then
subclasses can't throw it themselves explicitly.
However, |Object.clone()| will still throw this exception if the
|Cloneable| interface is not implemented.
Note, this rule has also been removed from the Quickstart Ruleset
(|rulesets/java/quickstart.xml|).
Fixed Issues
* apex
o #3183 <https://github.com/pmd/pmd/issues/3183>: [apex]
ApexUnitTestMethodShouldHaveIsTestAnnotation false positive with
helper method
o #3243 <https://github.com/pmd/pmd/pull/3243>: [apex] Correct
findBoundary when traversing AST
* core
o #2639 <https://github.com/pmd/pmd/issues/2639>: [core] PMD CLI
output file is not created if directory or directories in path
don't exist
o #3196 <https://github.com/pmd/pmd/issues/3196>: [core] Deprecate
ThreadSafeReportListener
* doc
o #3230 <https://github.com/pmd/pmd/issues/3230>: [doc] Remove
"Edit me" button for language index pages
* dist
o #2466 <https://github.com/pmd/pmd/issues/2466>: [dist]
Distribution archive doesn't include all batch scripts
* java
o #3269 <https://github.com/pmd/pmd/pull/3269>: [java] Fix NPE in
MethodTypeResolution
* java-bestpractices
o #1175 <https://github.com/pmd/pmd/issues/1175>: [java]
UnusedPrivateMethod FP with Junit 5 @MethodSource
o #2219 <https://github.com/pmd/pmd/issues/2219>: [java] Document
Reasons to Avoid Reassigning Parameters
o #2737 <https://github.com/pmd/pmd/issues/2737>: [java] Fix
misleading rule message on rule SwitchStmtsShouldHaveDefault
with non-exhaustive enum switch
o #3236 <https://github.com/pmd/pmd/issues/3236>: [java]
LiteralsFirstInComparisons should consider constant fields (cont'd)
o #3239 <https://github.com/pmd/pmd/issues/3239>: [java] PMD could
enforce non-public methods for Junit5 / Jupiter test methods
o #3254 <https://github.com/pmd/pmd/issues/3254>: [java]
AvoidReassigningParameters reports violations on wrong line numbers
* java-codestyle
o #2655 <https://github.com/pmd/pmd/issues/2655>: [java]
UnnecessaryImport false positive for on-demand imports
o #3206 <https://github.com/pmd/pmd/issues/3206>: [java] Deprecate
rule DefaultPackage
o #3262 <https://github.com/pmd/pmd/pull/3262>: [java]
FieldDeclarationsShouldBeAtStartOfClass: false negative with
anon classes
o #3265 <https://github.com/pmd/pmd/pull/3265>: [java]
MethodArgumentCouldBeFinal: false negatives with interfaces and
inner classes
o #3266 <https://github.com/pmd/pmd/pull/3266>: [java]
LocalVariableCouldBeFinal: false negatives with interfaces, anon
classes
o #3274 <https://github.com/pmd/pmd/pull/3274>: [java]
OnlyOneReturn: false negative with anonymous class
o #3275 <https://github.com/pmd/pmd/pull/3275>: [java]
UnnecessaryLocalBeforeReturn: false negatives with lambda and
anon class
* java-design
o #2780 <https://github.com/pmd/pmd/issues/2780>: [java] DataClass
example from documentation results in false-negative
o #2987 <https://github.com/pmd/pmd/issues/2987>: [java] New Rule:
Public and protected static fields must be final
o #2329 <https://github.com/pmd/pmd/issues/2329>: [java] Cognitive
complexity rule for Java
* java-errorprone
o #3110 <https://github.com/pmd/pmd/issues/3110>: [java] Enhance
CompareObjectsWithEquals with list of exceptions
o #3112 <https://github.com/pmd/pmd/issues/3112>: [java] Deprecate
rule CloneThrowsCloneNotSupportedException
o #3205 <https://github.com/pmd/pmd/issues/3205>: [java] Make
CompareObjectWithEquals allow comparing against constants
o #3248 <https://github.com/pmd/pmd/issues/3248>: [java]
Documentation is wrong for SingletonClassReturningNewInstance rule
o #3249 <https://github.com/pmd/pmd/pull/3249>: [java]
AvoidFieldNameMatchingTypeName: False negative with interfaces
o #3268 <https://github.com/pmd/pmd/pull/3268>: [java]
ConstructorCallsOverridableMethod: IndexOutOfBoundsException
with annotations
* java-performance
o #1438 <https://github.com/pmd/pmd/issues/1438>: [java]
InsufficientStringBufferDeclaration false positive for initial
calculated StringBuilder size
* javascript
o #699 <https://github.com/pmd/pmd/issues/699>: [javascript]
Update Rhino library to 1.7.13
o #2081 <https://github.com/pmd/pmd/issues/2081>: [javascript]
Failing with OutOfMemoryError parsing a Javascript file
API Changes
Deprecated API
* |PMD#doPMD|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#doPMD(net.sourceforge.pmd.PMDConfiguration)>
is deprecated.
Use |PMD#runPMD|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#runPMD(net.sourceforge.pmd.PMDConfiguration)>
instead.
* |PMD#run|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#run(java.lang.String[])>
is deprecated.
Use |PMD#runPMD|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/PMD.html#runPMD(java.lang.String...)>
instead.
* |ThreadSafeReportListener|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/ThreadSafeReportListener.html#>
and the methods to use them in |Report|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#>
(|addListener|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#addListener(net.sourceforge.pmd.ThreadSafeReportListener)>,
|getListeners|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#getListeners()>,
|addListeners|
<https://docs.pmd-code.org/apidocs/pmd-core/6.35.0/net/sourceforge/pmd/Report.html#addListeners(java.util.List)>)
are deprecated. This functionality will be replaced by another TBD
mechanism in PMD 7.
External Contributions
* #3272 <https://github.com/pmd/pmd/pull/3272>: [apex] correction for
ApexUnitTestMethodShouldHaveIsTestAnnotation false positives -
William Brockhus <https://github.com/YodaDaCoda>
* #3246 <https://github.com/pmd/pmd/pull/3246>: [java] New Rule:
MutableStaticState - Vsevolod Zholobov <https://github.com/vszholobov>
* #3247 <https://github.com/pmd/pmd/pull/3247>: [java] New rule:
JUnit5TestShouldBePackagePrivate - Arnaud Jeansen
<https://github.com/ajeans>
* #3293 <https://github.com/pmd/pmd/pull/3293>: [java] Cognitive
Complexity Metric - Denis Borovikov <https://github.com/borovikovd>
* pmd.github.io#12 <https://github.com/pmd/pmd.github.io/pull/12>:
Update quickstart.html - Igor Lyadov <https://github.com/devigo>
Stats
* 143 commits
* 53 closed tickets & PRs
* Days since last release: 34
|
|
From: Rory O'D. <ror...@or...> - 2021-05-21 07:33:49
|
Hi Andreas, ** *OpenJDK 17 Early Access build 23 is now available at *_*https://jdk.java.net/17* <https://jdk.java.net/17>_ * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <https://openjdk.java.net/legal/gplv2+ce.html> * JEPs targeted to JDK 17, so far: o JEP 356: _Enhanced Pseudo-Random Number Generators <https://openjdk.java.net/jeps/356>_ o JEP 382: _New macOS Rendering Pipeline <https://openjdk.java.net/jeps/382>_ o JEP 391: _macOS/AArch64 Port <https://openjdk.java.net/jeps/391>_ o JEP 398: _Deprecate the Applet API for Removal <https://openjdk.java.net/jeps/398>_ o JEP 409: _Sealed Classes <https://openjdk.java.net/jeps/409>_ o JEP 410: _Remove the Experimental AOT and JIT Compiler <https://openjdk.java.net/jeps/410>_ o JEP 412: _Foreign Function & Memory API (Incubator) <https://openjdk.java.net/jeps/412>_ o JEP 414: _Vector API (Second Incubator) <https://openjdk.java.net/jeps/414>_ * Release Notes are available at _https://jdk.java.net/17/release-notes <https://jdk.java.net/17/release-notes>_ * Changes in recent builds that maybe of interest: o Build 23 + JDK-8243287: Removal of Unsafe::defineAnonymousClass. o Build 22 + *JDK-8266369: New implementation of java.nio.channels.Selector on Microsoft Windows. * o Build 21 + *JDK-8196415: JARs signed with SHA-1 algorithms are restricted by default.* + *JDK-8266858: macOS on ARM early access available.* # The ARM port should behave similarly to the Intel port. There are no known feature differences. # When reporting issues on macOS please specify if using ARM or x64. *We need your help in testing new Selector implementation on Windows [1]:* * The implementation of the Selector API on Windows has been replaced in JDK 17 b22 with a new more scalable implementation [2]. * The old select based Selector implementation has been the default since Java 1.4 (2002) so replacing it is a significant change. * It would be really helpful to get more testing of the new implementation before the fork for Rampdown Phase One on June 10th. *Other Topics which might be of Interest:* * Updates to JEP 411: Deprecate the Security Manager for Removal | _Link_ <https://mail.openjdk.java.net/pipermail/jdk-dev/2021-May/005569.html> * "The meaning, or not, of “LTS” | _Link_ <https://mail.openjdk.java.net/pipermail/jdk-dev/2021-May/005543.html> * JFR Remote Recording Stream | _Link_ <https://egahlin.github.io/2021/05/17/remote-recording-stream.html> *Project Loom Early-Access Build: **_Build 17-loom+7-342_* <https://jdk.java.net/loom/>*(2021/5/11)* * These early-access builds are provided under the _GNU General Public License, version 2, with the Classpath Exception_ <https://openjdk.java.net/legal/gplv2+ce.html>. * These builds are produced for the purpose of gathering feedback. Use for any other purpose is at your own risk. * Please send feedback via e-mail to _lo...@op... <mailto:loo...@op...>_.To send e-mail to this address you must first _subscribe to the mailing list_ <https://mail.openjdk.java.net/mailman/listinfo/loom-dev>. *Project Panama Early-Access Build: *_*Build 17-panama+3-167* <https://jdk.java.net/panama/>_*(2021/5/18)* * These early-access builds are provided under the _GNU General Public License, version 2, with the Classpath Exception_ <https://openjdk.java.net/legal/gplv2+ce.html>. * This build is aimed at testing a prototype implementation of the foreign memory support, foreign function support and native extraction tooling from the "foreign-jextract" branch of the Panama repo. * Please send feedback via e-mail to _pa...@op... <mailto:pan...@op...>_. To send e-mail to this address you must first _subscribe to the mailing list_ <https://mail.openjdk.java.net/mailman/listinfo/panama-dev>. Rgds,Rory [1] _https://mail.openjdk.java.net/pipermail/nio-dev/2021-May/008988.html_ <https://mail.openjdk.java.net/pipermail/nio-dev/2021-May/008988.html> [2] _https://bugs.openjdk.java.net/browse/JDK-8266369_ <https://bugs.openjdk.java.net/browse/JDK-8266369> -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: Rory O'D. <ror...@or...> - 2021-05-10 08:57:57
|
Hi Andreas,** *OpenJDK 17 Early Access build 21 is now available at **https://jdk.java.net/17* <https://jdk.java.net/17> * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <https://openjdk.java.net/legal/gplv2+ce.html> * Schedule o 2021/06/10 Rampdown Phase One o 2021/07/15 Rampdown Phase Two o 2021/08/05 Initial Release Candidate o 2021/08/19 Final Release Candidate o 2021/09/14 General Availability * JEPs targeted to JDK 17, so far: o JEP 356: Enhanced Pseudo-Random Number Generators <https://openjdk.java.net/jeps/356> o JEP 382: New macOS Rendering Pipeline <https://openjdk.java.net/jeps/382> o JEP 391: macOS/AArch64 Port <https://openjdk.java.net/jeps/391> o JEP 398: Deprecate the Applet API for Removal <https://openjdk.java.net/jeps/398> o JEP 410: Remove the Experimental AOT and JIT Compiler <https://openjdk.java.net/jeps/410> * Release Notes are available at https://jdk.java.net/17/release-notes <https://jdk.java.net/17/release-notes> * Changes in recent builds that maybe of interest: o Build 21: + JDK-8196415: JARs signed with SHA-1 algorithms are restricted by default. + JDK-8265989: System property for the native character encoding name. + JDK-8265137: java.util.Random suddenly has new public methods nowhere documented. # [*Reported by Apache Lucene]* o Build 20 + JDK-8037397: RegEx pattern matching loses character class after intersection (&&) operator. + JDK-8264208: A new public method that returns the `Charset` used in the `Console. o Build 19 + JDK-8228988: AnnotationParser throws NullPointerException on incompatible member type. # *[Reported by ByteBuddy]* + JDK-8258794: Support for CLDR version 39. + JDK-8262108: SimpleDateFormat formatting broken for sq_MK Locale. # *[**Reported by ApacheCommons]* o Build 18 + JDK-8260693: Provide the support for specifying a signer in keytool -genkeypair. + JDK-8263763: Synthetic constructor parameters of enum are not considered for annotation indices. # *[Reported by ByteBuddy]* *Topics of interest from 'Insider Java':* * Security and Sandboxing Post SecurityManager : Link <https://inside.java/2021/04/23/security-and-sandboxing-post-securitymanager/> * Foreign Memory Access and NIO channels - Going Further : Link <https://inside.java/2021/04/21/fma-and-nio-channels/> *Project Loom Early-Access Build: **Build 17-loom+6-225* <https://jdk.java.net/loom/>*(2021/4/1)* * These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception <https://openjdk.java.net/legal/gplv2+ce.html>. * These builds are produced for the purpose of gathering feedback. Use for any other purpose is at your own risk. * Please send feedback via e-mail to loo...@op... <mailto:loo...@op...>. To send e-mail to this address you must first subscribe to the mailing list <https://mail.openjdk.java.net/mailman/listinfo/loom-dev>.** *April 2021 Critical Patch Update Released:* * As part of the April 2021 CPU we released JDK 16.0.1, JDK 11.0.11 LTS, JDK 8u291 and JDK 7u301 as well as OpenJDK 16.0.1 (publicly available). Rgds,Rory -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: LINUS F. <lin...@gm...> - 2021-04-25 10:22:31
|
Great. Always nice to see new rules added. On Sun, 25 Apr 2021, 15:26 Andreas Dangel, <and...@pm...> wrote: > > - Downloads: > https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.34.0 > - Documentation: https://pmd.github.io/pmd-6.34.0/ > > 24-April-2021 - 6.34.0 > > The PMD team is pleased to announce PMD 6.34.0. > > This is a minor release. > Table Of Contents > > - New and noteworthy > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#new-and-noteworthy> > - New rules > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#new-rules> > - Modified rules > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#modified-rules> > - Deprecated rules > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#deprecated-rules> > - Fixed Issues > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#fixed-issues> > - API Changes > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#api-changes> > - External Contributions > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#external-contributions> > - Stats > <https://sourceforge.net/p/pmd/news/2021/04/pmd-6340-24-april-2021-released/#stats> > > New and noteworthy New rules > > - > > The new Java rule UseStandardCharsets > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_bestpractices.html#usestandardcharsets> > finds usages of Charset.forName, > where StandardCharsets can be used instead. > > This rule is also part of the Quickstart Ruleset ( > rulesets/java/quickstart.xml) for Java. > - > > The new Java rule UnnecessaryImport > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#unnecessaryimport> > replaces the rules > UnusedImports > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_bestpractices.html#unusedimports>, > DuplicateImports > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#duplicateimports> > , > ImportFromSamePackage > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_errorprone.html#importfromsamepackage>, > and DontImportJavaLang > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#dontimportjavalang> > . > > This rule is also part of the Quickstart Ruleset ( > rulesets/java/quickstart.xml) for Java. > > Modified rules > > - The Apex rule ApexCRUDViolation > <https://pmd.github.io/pmd-6.34.0/pmd_rules_apex_security.html#apexcrudviolation> > does not ignore getters anymore and also flags > SOQL/SOSL/DML operations without access permission checks in getters. > This will produce false positives now for > VF getter methods, but we can't reliably detect, whether a getter is a > VF getter or not. In such cases, > the violation should be suppressed > <https://sourceforge.net/p/pmd/news/2021/04/pmd_userdocs_suppressing_warnings.html> > . > > Deprecated rules > > - > > java-bestpractices > - UnusedImports > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_bestpractices.html#unusedimports>: > use the rule UnnecessaryImport > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#unnecessaryimport> > instead > - > > java-codestyle > - DuplicateImports > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#duplicateimports>: > use the rule UnnecessaryImport > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#unnecessaryimport> > instead > - DontImportJavaLang > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#dontimportjavalang>: > use the rule UnnecessaryImport > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#unnecessaryimport> > instead > - > > java-errorprone > - ImportFromSamePackage > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_errorprone.html#importfromsamepackage>: > use the rule UnnecessaryImport > <https://pmd.github.io/pmd-6.34.0/pmd_rules_java_codestyle.html#unnecessaryimport> > instead > > Fixed Issues > > - apex-performance > - #3198 <https://github.com/pmd/pmd/pull/3198>: [apex] > OperationWithLimitsInLoopRule: Support more limit consuming static method > invocations > - apex-security > - #3202 <https://github.com/pmd/pmd/issues/3202>: [apex] > ApexCRUDViolationRule fails to report CRUD violation on COUNT() queries > - #3210 <https://github.com/pmd/pmd/issues/3210>: [apex] > ApexCRUDViolationRule false-negative on non-VF getter > - java-bestpractices > - #3190 <https://github.com/pmd/pmd/issues/3190>: [java] Use > StandardCharsets instead of Charset.forName > - #3224 <https://github.com/pmd/pmd/issues/3224>: [java] > UnusedAssignment crashes with nested records > - java-codestyle > - #3128 <https://github.com/pmd/pmd/issues/3128>: [java] New rule > UnnecessaryImport, deprecate DuplicateImports, ImportFromSamePackage, > UnusedImports > - java-errorprone > - #2757 <https://github.com/pmd/pmd/issues/2757>: [java] > CloseResource: support Lombok's @Cleanup annotation > - #3169 <https://github.com/pmd/pmd/issues/3169>: [java] > CheckSkipResult: NPE when using pattern bindings > > API Changes > > No changes. > External Contributions > > - #3193 <https://github.com/pmd/pmd/pull/3193>: [java] New rule: > UseStandardCharsets - Andrea Aime <https://github.com/aaime> > - #3198 <https://github.com/pmd/pmd/pull/3198>: [apex] > OperationWithLimitsInLoopRule: Support more limit consuming static method > invocations - Jonathan Wiesel <https://github.com/jonathanwiesel> > - #3211 <https://github.com/pmd/pmd/pull/3211>: [apex] > ApexCRUDViolationRule: Do not assume method is VF getter to avoid CRUD > checks - Jonathan Wiesel <https://github.com/jonathanwiesel> > - #3234 <https://github.com/pmd/pmd/pull/3234>: [apex] > ApexCRUDViolation: COUNT is indeed CRUD checkable since it exposes data > (false-negative) - Jonathan Wiesel <https://github.com/jonathanwiesel> > > Stats > > - 74 commits > - 18 closed tickets & PRs > - Days since last release: 27 > > > _______________________________________________ > Pmd-devel mailing list > Pmd...@li... > https://lists.sourceforge.net/lists/listinfo/pmd-devel > |
|
From: Rory O'D. <ror...@or...> - 2021-04-20 10:30:30
|
*Hi Andreas, * *OpenJDK 17 Early Access build 18****is now available at **https://jdk.java.net/17 <https://jdk.java.net/17>* * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <https://openjdk.java.net/legal/gplv2+ce.html> * Release Notes are available at http://jdk.java.net/17/release-notes <https://jdk.java.net/17/release-notes> **G1 pauses may be extremely long with EA build JDK-17+18* *During performance testing we noticed that due to a recent change (JDK-8262068) GC pauses after a G1 full GC may be extremely slow. The problem has been fixed with JDK-8264987 and that has already been integrated. This change will be available with the following EA build JDK-17+19. For more technical info please see [1] *JEP 382 [2]** - Starting with build 19, **JDK 17 for macOS is *temporarily* switched from using OpenGL**to using Apple's Metal API**for Java 2D rendering.* Heads up to anyone who is testing JDK 17 for running apps on macOS. Starting with build 19, JDK 17 for macOS is *temporarily* switched from using OpenGL to using Apple's Metal API for Java 2D rendering. If you are running any kind of 2D / Swing/ AWT UI application on macOS, and see any rendering related problems starting with JDK 17 b19, please do report them to us along with a test case and screen shots. You may also set "-Dsun.java2d.opengl=true" to re-enable OpenGL - which implicitly disables Metal - to confirm that it is a Metal related rendering glltch. Rgds,Rory [1] https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2021-April/034745.html [2] https://openjdk.java.net/jeps/382 -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: Rory O'D. <ror...@or...> - 2021-04-02 07:57:33
|
Hi Andreas, *OpenJDK 17 Early Access build 16 is now available at **http://jdk.java.net/17* <http://jdk.java.net/17> * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html> * Schedule (proposed) o 2021/06/10 Rampdown Phase One o 2021/07/15 Rampdown Phase Two o 2021/08/05 Initial Release Candidate o 2021/08/19 Final Release Candidate o 2021/09/14 General Availability * Features:*Heads-up on an important Candidate JEP * o *Candidate - JEP 403: **Strongly Encapsulate JDK Internals <https://openjdk.java.net/jeps/403>* o successor to JEP 396: Strongly Encapsulate JDK Internals by Default <https://openjdk.java.net/jeps/396> o strongly encapsulate all internal elements of the JDK by default o exception for Critical Internal APIs such as /sun.misc.Unsafe/ * JEPs targeted to JDK 17, so far: o JEP 356: Enhanced Pseudo-Random Number Generators <https://openjdk.java.net/jeps/356> o JEP 382: New macOS Rendering Pipeline <https://openjdk.java.net/jeps/382> o JEP 391: macOS/AArch64 Port <https://openjdk.java.net/jeps/391> o JEP 398: Deprecate the Applet API for Removal <https://openjdk.java.net/jeps/398> * Release Notes are available at http://jdk.java.net/17/release-notes <http://jdk.java.net/17/release-notes> * Changes in recent builds that maybe of interest: o Build 16 + JDK-8263898: (fs) Files.newOutputStream on the "NUL" special device throws FileSystemException: "nul: Incorrect function" (win) # Reported by Apache Ant o Build 15 + JDK-8263575: Conflict between JDK rpms and OL8 Modularity prevents dnf install/updates o Build 14 + JDK-8262277: URLClassLoader.getResource throws undocumented IllegalArgumentException + JDK-8262351: Extra '0' in java.util.Formatter for '%012a' conversion with a sign character *Project Loom Early-Access Build: **Build 17-loom+5-191* <http://jdk.java.net/loom/>*(2021/3/19)* * These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * These builds are produced for the purpose of gathering feedback. Use for any other purpose is at your own risk. * Please send feedback via e-mail to loo...@op... <mailto:loo...@op...>. To send e-mail to this address you must first subscribe to the mailing list <http://mail.openjdk.java.net/mailman/listinfo/loom-dev>. *Quality Report for March 2021 was published here [1]*. * Thanks to everyone who contributed by creating features or enhancements, logging bugs, or downloading and testing the early-access builds. *Worth reading - **The Arrival of Java 16! <https://inside.java/2021/03/16/the-arrival-of-java16/>* * JDK 16 Migration guide - https://docs.oracle.com/en/java/javase/16/migrate/getting-started.html * #AllTestsGreenOnJDK16 - If your tests are green on JDK 16 please respond to this *tweet <https://twitter.com/Sharat_Chander/status/1368978627816136707>*. * Oracle Developer Live event - Individual sessions: 1. *Java 16: Consistency and Innovation* (Aurelio Garcia-Ribeyro): https://youtu.be/1acKCBbd6f4 <https://youtu.be/1acKCBbd6f4> 2. *Java Language Futures: Spring 2021* (Gavin Bierman): https://youtu.be/K9SVV0XNIP8 <https://youtu.be/K9SVV0XNIP8> 3. *Ask the Java Architects* (Mark Reinhold, Brian Goetz, Mikael Vidstedt, Ron Pressler): https://youtu.be/CVE4bWvuD3o <https://youtu.be/CVE4bWvuD3o> 4. *Learn Java 16 with IntelliJ IDEA *(Trisha Gee[JetBrains])*: *https://youtu.be/1hyWJTjxeGM <https://youtu.be/1hyWJTjxeGM>** 5. *How Records Can Improve Serialization* (Julia Boes, Chris Hegarty): https://youtu.be/44D8M6ZxuLU <https://youtu.be/44D8M6ZxuLU> 6. *Vector API: SIMD Programming in Java* (Paul Sandoz, Sandhya Viswanathan[Intel]): https://youtu.be/VYo3p4R66N8 <https://youtu.be/VYo3p4R66N8> 7. *Your Guide to OpenJDK Development* (Jesper Wilhelmsson): https://youtu.be/bHcKTYy_Nec <https://youtu.be/bHcKTYy_Nec> 8. *Project Skara: Migrating OpenJDK to Git and GitHub* (Erik Duveblad, Robin Westberg): https://youtu.be/-pBgplk7fVk <https://youtu.be/-pBgplk7fVk> 9. *Monitoring and Troubleshooting Tools in the JDK* (Poonam Parhar): https://youtu.be/mcfubUmbZhQ <https://youtu.be/mcfubUmbZhQ> 10. *Fast and Efficient Microservices for Java with GraalVM* (Alina Yurenko): https://youtu.be/_eRD6qJqtNw <https://youtu.be/_eRD6qJqtNw> 11. *Accelerating Productivity with Micronaut and Java Records* (Graeme Rocher): https://youtu.be/RoNeoXQBs9w <https://youtu.be/RoNeoXQBs9w> 12. *Scalable Microservices for Java using Helidon and Coherence CE* (Dmitry Aleksandrov, Aleks Seović): https://youtu.be/WTL0Zbjzveo <https://youtu.be/WTL0Zbjzveo> 13. *Cross-Platform User Interfaces, Developed with Java & OpenJFX Project* (Johan Vos [Gluon]): https://youtu.be/7eytbaBMm5o <https://youtu.be/7eytbaBMm5o> Rgds,Rory [1] https://wiki.openjdk.java.net/display/quality/Quality+Outreach+Report+March+2021 <https://wiki.openjdk.java.net/display/quality/Quality+Outreach+Report+March+2021> -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: Andreas D. <and...@pm...> - 2021-03-27 16:08:12
|
* Downloads:
https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.33.0
<https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.33.0>
* Documentation: https://pmd.github.io/pmd-6.33.0/
<https://pmd.github.io/pmd-6.33.0/>
27-March-2021 - 6.33.0
The PMD team is pleased to announce PMD 6.33.0.
This is a minor release.
Table Of Contents
* New and noteworthy
<https://sourceforge.net/p/pmd/news/2021/03/pmd-6330-released/#new-and-noteworthy>
o PLSQL parsing exclusions
<https://sourceforge.net/p/pmd/news/2021/03/pmd-6330-released/#plsql-parsing-exclusions>
* Fixed Issues
<https://sourceforge.net/p/pmd/news/2021/03/pmd-6330-released/#fixed-issues>
* External Contributions
<https://sourceforge.net/p/pmd/news/2021/03/pmd-6330-released/#external-contributions>
* Stats
<https://sourceforge.net/p/pmd/news/2021/03/pmd-6330-released/#stats>
New and noteworthy
PLSQL parsing exclusions
The PMD PLSQL parser might not parse every valid PL/SQL code without
problems.
In order to still use PMD on such files, you can now mark certain lines
for exclusion from
the parser. More information can be found in the language specific
documentation for PLSQL
<https://sourceforge.net/p/pmd/news/2021/03/pmd_languages_plsql.html>.
Fixed Issues
* apex-design
o #3142 <https://github.com/pmd/pmd/issues/3142>: [apex]
ExcessiveClassLength multiple warning on the same class
* java
o #3117 <https://github.com/pmd/pmd/issues/3117>: [java] Infinite
loop when parsing invalid code nested in lambdas
o #3145 <https://github.com/pmd/pmd/issues/3145>: [java] Parse
exception when using "record" as variable name
* java-bestpractices
o #3118 <https://github.com/pmd/pmd/issues/3118>: [java]
UnusedPrivateMethod false positive when passing in lombok.val as
argument
o #3144 <https://github.com/pmd/pmd/issues/3144>: [java]
GuardLogStatement can have more detailed example
o #3155 <https://github.com/pmd/pmd/pull/3155>: [java]
GuardLogStatement: False negative with unguarded method call
o #3160 <https://github.com/pmd/pmd/issues/3160>: [java]
MethodReturnsInternalArray does not consider static final fields
and fields initialized with empty array
* java-errorprone
o #2977 <https://github.com/pmd/pmd/issues/2977>: [java]
CloseResource: false positive with reassignment detection
o #3146 <https://github.com/pmd/pmd/issues/3146>: [java]
InvalidLogMessageFormat detection failing when String.format used
o #3148 <https://github.com/pmd/pmd/issues/3148>: [java]
CloseResource false positive with Objects.nonNull
o #3165 <https://github.com/pmd/pmd/issues/3165>: [java]
InvalidLogMessageFormat detection failing when String.format
used in a variable
* java-performance
o #2427 <https://github.com/pmd/pmd/issues/2427>: [java]
ConsecutiveLiteralAppend false-positive with builder inside lambda
o #3152 <https://github.com/pmd/pmd/issues/3152>: [java]
ConsecutiveLiteralAppends and
InsufficientStringBufferDeclaration: FP with switch expressions
* plsql
o #195 <https://github.com/pmd/pmd/issues/195>: [plsql] Ampersand
'&' causes PMD processing error in sql file - Lexical error in file
External Contributions
* #3161 <https://github.com/pmd/pmd/pull/3161>: [plsql] Add support
for lexical parameters in SQL*Plus scripts, allow excluding lines
which the parser does not understand - Henning von Bargen
<https://github.com/hvbtup>
* #3167 <https://github.com/pmd/pmd/pull/3167>: [java] Minor typo in
quickstart ruleset - Austin Tice <https://github.com/AustinTice>
Stats
* 49 commits
* 27 closed tickets & PRs
* Days since last release: 28
|
|
From: Rory O'D. <ror...@or...> - 2021-03-16 15:19:15
|
Hi Andreas,
*Release Announcement: General Availability of Java 16 / JDK 16 *
**
* JDK 16, the reference implementation of Java 16, is now Generally
Available. [1]
* GPL-licensed OpenJDK builds from Oracle are available here:
http://jdk.java.net/16/ <http://jdk.java.net/16/>
* JDK 16 Release notes
<https://www.oracle.com/java/technologies/javase/16-relnotes.html>
*JDK 16 includes the following features [2]:*
* JEP 338:Vector API (Incubator) <https://openjdk.java.net/jeps/338>
* JEP 347:Enable C++14 Language Features
<https://openjdk.java.net/jeps/347>
* JEP 357:Migrate from Mercurial to Git
<https://openjdk.java.net/jeps/357>
* JEP 369:Migrate to GitHub <https://openjdk.java.net/jeps/369>
* JEP 376:ZGC: Concurrent Thread-Stack Processing
<https://openjdk.java.net/jeps/376>
* JEP 380:Unix-Domain Socket Channels <https://openjdk.java.net/jeps/380>
* JEP 386:Alpine Linux Port <https://openjdk.java.net/jeps/386>
* JEP 387:Elastic Metaspace <https://openjdk.java.net/jeps/387>
* JEP 388:Windows/AArch64 Port <https://openjdk.java.net/jeps/388>
* JEP 389:Foreign Linker API (Incubator)
<https://openjdk.java.net/jeps/389>
* JEP 390:Warnings for Value-Based Classes
<https://openjdk.java.net/jeps/390>
* JEP 392:Packaging Tool <https://openjdk.java.net/jeps/392>
* JEP 393:Foreign-Memory Access API (Third Incubator)
<https://openjdk.java.net/jeps/393>
* JEP 394:Pattern Matching for instanceof
<https://openjdk.java.net/jeps/394>
* JEP 395:Records <https://openjdk.java.net/jeps/395>
* JEP 396:Strongly Encapsulate JDK Internals by Default
<https://openjdk.java.net/jeps/396>
* JEP 397:Sealed Classes (Second Preview)
<https://openjdk.java.net/jeps/397>
Thanks to everyone who contributed to JDK 16, whether by creating
features or enhancements, logging bugs, or
downloading and testing the early-access builds.
*OpenJDK 17 Early Access build 13 is now available at
http://jdk.java.net/17 <http://jdk.java.net/17/>
*
**
* These early access, open source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* JEPs targeted to JDK 17, so far:
o JEP 356: Enhanced Pseudo-Random Number Generators
<https://openjdk.java.net/jeps/356>
* Release Notes are available at http://jdk.java.net/17/release-notes
<http://jdk.java.net/17/release-notes>
* Significant changes since the last availability email:
o JDK-8259709: Disable SHA-1 XML Signatures (b13)
o JDK-6323374: (coll) Optimize Collections.unmodifiable* and
synchronized*(b13)
o JDK-8139348: Deprecate 3DES and RC4 in Kerberos (b12)
o JDK-8259662: Don't wrap SocketExceptions into SSLExceptions in
SSLSocketImpl (b11)
o JDK-8235139: Deprecate the socket impl factory mechanism(b10)
o JDK-8225081: Remove Telia Company CA certificate expiring in
April 2021(b9)
*Project Lanai Early-Access Builds
*
* EA 10 Build 17-lanai+3-133 (2021/3/2) is available -
http://jdk.java.net/lanai/
* These early access, open source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
*Project Loom Early-Access Builds*
* Build 17-loom+4-174 (2021/3/12) is available - http://jdk.java.net/loom/
* These early access, open source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
*Project Panama Early-Access Builds
*
* Build 17-panama+2-51 (2021/2/12) is available -
http://jdk.java.net/panama/
* These early access, open source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
Rgds,Rory
[1] https://mail.openjdk.java.net/pipermail/jdk-dev/2021-March/005188.html
[2] https://openjdk.java.net/projects/jdk/16/
<https://openjdk.java.net/projects/jdk/16/>
|
|
From: Andreas D. <and...@pm...> - 2021-02-27 11:25:28
|
* Downloads:
https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.32.0
<https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.32.0>
* Documentation: https://pmd.github.io/pmd-6.32.0/
<https://pmd.github.io/pmd-6.32.0/>
27-February-2021 - 6.32.0
The PMD team is pleased to announce PMD 6.32.0.
This is a minor release.
Table Of Contents
* New and noteworthy
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#new-and-noteworthy>
o Java 16 Support
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#java-16-support>
o Modified Rules
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#modified-rules>
* Fixed Issues
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#fixed-issues>
* API Changes
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#api-changes>
o Experimental APIs
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#experimental-apis>
o Internal API
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#internal-api>
* External Contributions
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#external-contributions>
* Stats
<https://sourceforge.net/p/pmd/news/2021/02/pmd-6320-released/#stats>
New and noteworthy
Java 16 Support
This release of PMD brings support for Java 16. PMD supports JEP 394:
Pattern Matching for instanceof <https://openjdk.java.net/jeps/394> and
JEP 395: Records <https://openjdk.java.net/jeps/395>. Both have been
promoted
to be a standard language feature of Java 16.
PMD also supports JEP 397: Sealed Classes (Second Preview)
<https://openjdk.java.net/jeps/397> as a preview
language feature. In order to analyze a project with PMD that uses these
language features, you'll need to enable
it via the environment variable |PMD_JAVA_OPTS| and select the new
language version |16-preview|:
export PMD_JAVA_OPTS=--enable-preview
./run.sh pmd -language java -version 16-preview ...
Note: Support for Java 14 preview language features have been removed.
The version "14-preview" is no longer available.
Modified Rules
* The Apex rule |ApexDoc|
<https://pmd.github.io/pmd-6.32.0/pmd_rules_apex_documentation.html#apexdoc>
has two new properties: |reportPrivate| and
|reportProtected|. Previously the rule only considered public and
global classes, methods, and
properties. With these properties, you can verify the existence of
ApexDoc comments for private
and protected methods as well. By default, these properties are
disabled to preserve backwards
compatible behavior.
Fixed Issues
* apex-documentation
o #3075 <https://github.com/pmd/pmd/issues/3075>: [apex] ApexDoc
should support private access modifier
* java
o #3101 <https://github.com/pmd/pmd/issues/3101>: [java]
NullPointerException when running PMD under JRE 11
* java-bestpractices
o #3132 <https://github.com/pmd/pmd/issues/3132>: [java]
UnusedImports with static imports on subclasses
* java-errorprone
o #2716 <https://github.com/pmd/pmd/issues/2716>: [java]
CompareObjectsWithEqualsRule: False positive with Enums
o #3089 <https://github.com/pmd/pmd/issues/3089>: [java]
CloseResource rule throws exception on spaces in property types
o #3133 <https://github.com/pmd/pmd/issues/3133>: [java]
InvalidLogMessageFormat FP with StringFormattedMessage and
ParameterizedMessage
* plsql
o #3106 <https://github.com/pmd/pmd/issues/3106>: [plsql]
ParseException while parsing EXECUTE IMMEDIATE 'drop database
link ' || linkname;
API Changes
Experimental APIs
* The experimental class |ASTTypeTestPattern| has been renamed to
|ASTTypePattern|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTTypePattern.html#>
in order to align the naming to the JLS.
* The experimental class |ASTRecordConstructorDeclaration| has been
renamed to |ASTCompactConstructorDeclaration|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTCompactConstructorDeclaration.html#>
in order to align the naming to the JLS.
* The AST types and APIs around Pattern Matching and Records are not
experimental anymore:
o |ASTVariableDeclaratorId#isPatternBinding|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTVariableDeclaratorId.html#isPatternBinding()>
o |ASTPattern|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTPattern.html#>
o |ASTTypePattern|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTTypePattern.html#>
o |ASTRecordDeclaration|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTRecordDeclaration.html#>
o |ASTRecordComponentList|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTRecordComponentList.html#>
o |ASTRecordComponent|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTRecordComponent.html#>
o |ASTRecordBody|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTRecordBody.html#>
o |ASTCompactConstructorDeclaration|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/ast/ASTCompactConstructorDeclaration.html#>
Internal API
Those APIs are not intended to be used by clients, and will be hidden or
removed with PMD 7.0.0.
You can identify them with the |@InternalApi| annotation. You'll also
get a deprecation warning.
* The protected or public member of the Java rule
|AvoidUsingHardCodedIPRule|
<https://docs.pmd-code.org/apidocs/pmd-java/6.32.0/net/sourceforge/pmd/lang/java/rule/bestpractices/AvoidUsingHardCodedIPRule.html#>
are deprecated and considered to be internal API. They will be
removed with PMD 7.
External Contributions
* #3098 <https://github.com/pmd/pmd/pull/3098>: [apex] ApexDoc
optionally report private and protected - Jonathan Wiesel
<https://github.com/jonathanwiesel>
* #3107 <https://github.com/pmd/pmd/pull/3107>: [plsql] Fix
ParseException for EXECUTE IMMEDIATE str1||str2; - hvbtup
<https://github.com/hvbtup>
* #3125 <https://github.com/pmd/pmd/pull/3125>: [doc] Fix sample code
indentation in documentation - Artur Dryomov
<https://github.com/arturdryomov>
Stats
* 43 commits
* 21 closed tickets & PRs
* Days since last release: 27
|
|
From: Rory O'D. <ror...@or...> - 2021-02-05 11:06:45
|
Hi Andreas,
*Per the JDK 16 schedule , we are in the Release Candidate Phase**[1] .*
*Please advise if you find any issues while testing the latest Early
Access builds.*
* Schedule for JDK 16
o *2021/02/04 Initial Release Candidate*
o 2021/02/18 Final Release Candidate
o 2021/03/16 General Availability
* Release Notes [2]
OpenJDK 16 Early Access build 35**is now available at
http://jdk.java.net/16 <http://jdk.java.net/16>
* These early-access, open-source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Features [3] - the overall feature set is frozen. No further JEPs
will be targeted to this release.
* Changes in recent builds that maybe of interest:
o Build 34:
+ JDK-8259025: Record compact constructor using
Objects.requireNonNull
# Reported by JUnit5
o Build 32:
+ JDK-8259014: Incomplete support for Unix domain sockets in
Windows 2019 Server
* JDK 16 - topics of interest:
o Unix domain socket channels (JEP-380) overview:
https://inside.java/2021/02/03/jep380-unix-domain-sockets-channels/
<https://inside.java/2021/02/03/jep380-unix-domain-sockets-channels/>
o Java Feature Spotlight: Pattern Matching
https://inside.java/2021/01/22/feature-spotlight-pattern-matching/
<https://inside.java/2021/01/22/feature-spotlight-pattern-matching/>
o Foreign Memory Access - Pulling all the thread
https://inside.java/2021/01/25/memory-access-pulling-all-the-threads/
<https://inside.java/2021/01/25/memory-access-pulling-all-the-threads/>
* General – topic of interest:
o Inside Java Episode 11 “How to contribute to OpenJDK” with
Stuart Marks and Jesper Wilhelmsson
https://inside.java/2021/01/29/podcast-011/
<https://inside.java/2021/01/29/podcast-011/>
Project Lanai EA 9 Build 17-lanai+2-49 (2021/1/20)
<http://jdk.java.net/lanai/> is available now
* These early-access builds are provided under the GNU General Public
License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>
* EA builds are intended for developers looking to test and provide
feedback on using Project Lanai.
* This is a macOS-specific project which implements a new Java 2D
graphics rendering pipeline for macOS.
* Project Lanai Wiki: https://wiki.openjdk.java.net/display/lanai/Main
<https://wiki.openjdk.java.net/display/lanai/Main>
* Please send feedback via e-mail to lan...@op...
<mailto:lan...@op...>. To send e-mail to this address
you must first subscribe to the mailing list
<https://mail.openjdk.java.net/mailman/listinfo/lanai-dev>.
Project Loom Build 17-loom+2-42 (2021/1/14) <http://jdk.java.net/loom/>
based on JDK-17+5
<https://github.com/openjdk/jdk/releases/tag/jdk-17%2B5> is available now
* These early-access builds are provided under the GNU General Public
License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>
* These builds are intended for developers looking to "kick the tyres"
and provide feedback on using the API or by sending bug reports.
* API Javadoc :
https://download.java.net/java/early_access/loom/docs/api/
<https://download.java.net/java/early_access/loom/docs/api/>
* Please send feedback via e-mail to loo...@op...
<mailto:loo...@op...>. To send e-mail to this address
you must first subscribe to the mailing list
<http://mail.openjdk.java.net/mailman/listinfo/loom-dev>.
OpenJDK 17 Early Access build 8**is now available at
http://jdk.java.net/17 <http://jdk.java.net/17>
* These early-access, open-source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Changes in recent builds that maybe of interest:
o Build 8:
+ JDK-8222850: Misleading cascade compiler error in switch
expression with undefined vars
# Reported by jOOQ.
+ JDK-8217633: Configurable extensions with system properties
+ JDK-8249867: DOM LSSerializer control of newline after XML
header
+ JDK-8256421: Added 2 HARICA Root CA Certificates
+ JDK-8259801: Enable XML Signature secure validation mode by
default
o Build 7:
+ JDK-8165276: Spec states to invoke the premain method in an
agent class if it's public but implementation differs
+ JDK-8256895: Add support for RFC 8954: Online Certificate
Status Protocol (OCSP) Nonce Extension
o Build 6:
+ JDK-8259048: (tz) Upgrade time-zone data to tzdata2020f
January 2021 Critical Patch Update Released:
* As part of the Jan 2021 CPU we released JDK 15.0.2, JDK 11.0.10 LTS,
JDK 8u281, and JDK 7u291 as well as OpenJDK 15.0.2 (publicly available).
Rgds, Rory
[1]
https://mail.openjdk.java.net/pipermail/jdk-dev/2021-February/005062.html
<https://mail.openjdk.java.net/pipermail/jdk-dev/2021-February/005062.html>
[2] https://jdk.java.net/16/release-notes
<https://jdk.java.net/16/release-notes>
[3] http://openjdk.java.net/projects/jdk/16/
<http://openjdk.java.net/projects/jdk/16/>
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
|
|
From: Andreas D. <and...@pm...> - 2021-01-30 17:53:34
|
* Downloads:
https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.31.0
<https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.31.0>
* Documentation: https://pmd.github.io/pmd-6.31.0/
<https://pmd.github.io/pmd-6.31.0/>
30-January-2021 - 6.31.0
The PMD team is pleased to announce PMD 6.31.0.
This is a minor release.
Table Of Contents
* New and noteworthy
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#new-and-noteworthy>
o SARIF Format
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#sarif-format>
o CPD
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#cpd>
o New Rules
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#new-rules>
o Deprecated rules
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#deprecated-rules>
* Fixed Issues
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#fixed-issues>
* API Changes
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#api-changes>
o Deprecated API
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#deprecated-api>
o Experimental APIs
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#experimental-apis>
* External Contributions
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#external-contributions>
* Stats
<https://sourceforge.net/p/pmd/news/2021/01/pmd-6310-released/#stats>
New and noteworthy
SARIF Format
PMD now supports the Static Analysis Results Interchange Format (SARIF)
<https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sarif>
as an additional report format. Just use the command line parameter
<https://sourceforge.net/p/pmd/news/2021/01/pmd_userdocs_cli_reference.html#format>
|-format sarif| to select it.
SARIF is an OASIS standard format for static analysis tools.
PMD creates SARIF JSON files in SARIF version 2.1.0
<https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html>.
An example report can be found in the documentation in Report formats
for PMD
<https://sourceforge.net/p/pmd/news/2021/01/pmd_userdocs_report_formats.html#sarif>.
CPD
* The C++ module now supports the new option
|--ignore-literal-sequences|
<https://pmd.github.io/latest/pmd_userdocs_cpd.html#-ignore-literal-sequences>,
which can be used to avoid detection of some uninteresting clones.
This options has been
introduced with PMD 6.30.0 for C# and is now available for C++ as
well. See #2963 <https://github.com/pmd/pmd/pull/2963>.
New Rules
*
The new Apex rule |OverrideBothEqualsAndHashcode|
<https://pmd.github.io/pmd-6.31.0/pmd_rules_apex_errorprone.html#overridebothequalsandhashcode>
brings the well known Java rule
to Apex. In Apex the same principle applies: |equals| and |hashCode|
should always be overridden
together to ensure collection classes such as Maps and Sets work as
expected.
*
The new Visualforce rule |VfHtmlStyleTagXss|
<https://pmd.github.io/pmd-6.31.0/pmd_rules_vf_security.html#vfhtmlstyletagxss>
checks for potential XSS problems
when using |<style>| tags on Visualforce pages.
Deprecated rules
* java-performance
o |AvoidUsingShortType|
<https://pmd.github.io/pmd-6.31.0/pmd_rules_java_performance.html#avoidusingshorttype>:
arithmetic on shorts is not significantly
slower than on ints, whereas using shorts may provide
significant memory savings in arrays.
o |SimplifyStartsWith|
<https://pmd.github.io/pmd-6.31.0/pmd_rules_java_performance.html#simplifystartswith>:
the suggested code transformation has an
insignificant performance impact, and decreases readability.
Fixed Issues
* core
o #2953 <https://github.com/pmd/pmd/issues/2953>: [core] Support
SARIF JSON Format
o #2970 <https://github.com/pmd/pmd/issues/2970>: [core] PMD
6.30.0 release is not reproducible
o #2994 <https://github.com/pmd/pmd/pull/2994>: [core] Fix code
climate severity strings
* java-bestpractices
o #575 <https://github.com/pmd/pmd/issues/575>: [java]
LiteralsFirstInComparisons should consider constant fields
o #2454 <https://github.com/pmd/pmd/issues/2454>: [java]
UnusedPrivateMethod violation for disabled class in 6.23.0
o #2833 <https://github.com/pmd/pmd/issues/2833>: [java] NPE in
UseCollectionIsEmptyRule with enums
o #2876 <https://github.com/pmd/pmd/issues/2876>: [java]
UnusedPrivateField cannot override ignored annotations property
o #2957 <https://github.com/pmd/pmd/issues/2957>: [java] Ignore
unused declarations that have special name
* java-codestyle
o #2960 <https://github.com/pmd/pmd/issues/2960>: [java] Thread
issue in MethodNamingConventionsRule
* java-design
o #3006 <https://github.com/pmd/pmd/issues/3006>: [java] NPE in
SingularFieldRule with concise resource syntax
* java-errorprone
o #2976 <https://github.com/pmd/pmd/issues/2976>: [java]
CompareObjectsWithEquals: FP with array.length
o #2977 <https://github.com/pmd/pmd/issues/2977>: [java] 6.30.0
introduces new false positive in CloseResource rule?
o #2979 <https://github.com/pmd/pmd/issues/2979>: [java]
UseEqualsToCompareStrings: FP with "var" variables
o #3004 <https://github.com/pmd/pmd/issues/3004>: [java]
UseEqualsToCompareStrings false positive with PMD 6.30.0
o #3062 <https://github.com/pmd/pmd/issues/3062>: [java]
CloseResource FP with reassigned stream
* java-performance
o #2296 <https://github.com/pmd/pmd/issues/2296>: [java] Deprecate
rule AvoidUsingShortType
o #2740 <https://github.com/pmd/pmd/issues/2740>: [java] Deprecate
rule SimplifyStartsWith
o #3088 <https://github.com/pmd/pmd/issues/3088>: [java]
AvoidInstantiatingObjectsInLoops - false positive with Collections
* vf-security
o #3081 <https://github.com/pmd/pmd/issues/3081>: [vf]
VfUnescapeEl: Inherently un-XSS-able built-in functions trigger
false positives
API Changes
Deprecated API
* |AbstractDomXmlRule|
<https://docs.pmd-code.org/apidocs/pmd-xml/6.31.0/net/sourceforge/pmd/lang/xml/rule/AbstractDomXmlRule.html#>
* |AbstractWsdlRule|
<https://docs.pmd-code.org/apidocs/pmd-xml/6.31.0/net/sourceforge/pmd/lang/wsdl/rule/AbstractWsdlRule.html#>
* A few methods of |AbstractXmlRule|
<https://docs.pmd-code.org/apidocs/pmd-xml/6.31.0/net/sourceforge/pmd/lang/xml/rule/AbstractXmlRule.html#>
Experimental APIs
* The method |GenericToken#getKind|
<https://docs.pmd-code.org/apidocs/pmd-core/6.31.0/net/sourceforge/pmd/lang/ast/GenericToken.html#getKind()>
has been added as experimental. This
unifies the token interface for both JavaCC and Antlr. The already
existing method
|AntlrToken#getKind|
<https://docs.pmd-code.org/apidocs/pmd-core/6.31.0/net/sourceforge/pmd/cpd/token/AntlrToken.html#getKind()>
is therefore experimental as well. The
returned constant depends on the actual language and might change
whenever the grammar
of the language is changed.
External Contributions
* #2666 <https://github.com/pmd/pmd/pull/2666>: [swift] Manage swift5
string literals - kenji21 <https://github.com/kenji21>
* #2959 <https://github.com/pmd/pmd/pull/2959>: [apex] New Rule:
override equals and hashcode rule - recdevs <https://github.com/recdevs>
* #2963 <https://github.com/pmd/pmd/pull/2963>: [cpp] Add option to
ignore sequences of literals - Maikel Steneker
<https://github.com/maikelsteneker>
* #2964 <https://github.com/pmd/pmd/pull/2964>: [cs] Update C# grammar
for additional C# 7 and C# 8 features - Maikel Steneker
<https://github.com/maikelsteneker>
* #2965 <https://github.com/pmd/pmd/pull/2965>: [cs] Improvements for
ignore sequences of literals functionality - Maikel Steneker
<https://github.com/maikelsteneker>
* #2968 <https://github.com/pmd/pmd/pull/2968>: [java] NPE in
UseCollectionIsEmptyRule with enums - foxmason
<https://github.com/foxmason>
* #2983 <https://github.com/pmd/pmd/pull/2983>: [java]
LiteralsFirstInComparisons should consider constant fields - Ozan
Gulle <https://github.com/ozangulle>
* #2994 <https://github.com/pmd/pmd/pull/2994>: [core] Fix code
climate severity strings - Vincent Maurin <https://github.com/vmaurin>
* #3005 <https://github.com/pmd/pmd/pull/3005>: [vf] [New Rule] Handle
XSS violations that can occur within Html Style tags - rmohan20
<https://github.com/rmohan20>
* #3073 <https://github.com/pmd/pmd/pull/3073>: [core] Include SARIF
renderer - Manuel Moya Ferrer <https://github.com/mmoyaferrer>
* #3084 <https://github.com/pmd/pmd/pull/3084>: [vf] VfUnescapeEl
false-positive with builtin functions - Josh Feingold
<https://github.com/jfeingold35>
Stats
* 116 commits
* 40 closed tickets & PRs
* Days since last release: 49
|
|
From: Rory O'D. <ror...@or...> - 2021-01-15 09:32:02
|
Hi Andreas,
*Per the JDK 16 schedule , we are in Rampdown Phase Two* *[1] .
*
*Please advise if you find any issues while testing the latest Early
Access builds.*
* Schedule for JDK 16
o *2021/01/14 Rampdown Phase Two*
o 2021/02/04 Initial Release Candidate
o 2021/02/18 Final Release Candidate
o 2021/03/16 General Availability
* Release Notes [2]
OpenJDK 16 Early Access build 32**is now available at
http://jdk.java.net/16
* These early-access, open-source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Features [3] - the overall feature set is frozen. No further JEPs
will be targeted to this release.
* Changes in recent builds that maybe of interest:
o Build 32:
+ JDK-8259028 - ClassCastException when using custom
filesystem with wrapper FileChannel impl
# Apache Lucene found.
+ JDK-8253996 - Javac error on jdk16 build 18: invalid flag:
-Xdoclint:-missing
# Apache Zookeeper found.
o Build 31:
+ JDK-8259027: NullPointerException in makeMappedSegment due
to NULL Unmapper when length of segment is 0
# Reported by Apache Lucene
o Build 30:
+ JDK-8254023: A module declaration is not allowed to be a
target of an annotation that lacks an @Target meta-annotation
# Reported by JUnit5
+ JDK-8256693: getAnnotatedReceiverType parameterizes types
too eagerly
* JDK 16 - topics of interest
o Investigating MD5 overheads:
https://cl4es.github.io/2021/01/04/Investigating-MD5-Overheads.html
o Towards OpenJDK 17 - a quick update on startup performance
https://cl4es.github.io/2020/12/06/Towards-OpenJDK-17.html
o Migrating OpenJDK to Git & GitHub - GitHub Universe 2020 session
replay
https://inside.java/2020/12/11/skara-github-universe/
Project Panama/foreign EA Build 16-panama+3-385 (2020/12/10)
<https://jdk.java.net/panama/> is available now [4]
* What's new
o jextract is now fully compatible with Java 16
o New architecture based on Foreign-Memory Access API (JEP 370
<https://openjdk.java.net/jeps/370>, JEP 383
<https://openjdk.java.net/jeps/383>, JEP 393
<https://openjdk.java.net/jeps/393>) and Foreign Linker API (JEP
389 <https://openjdk.java.net/jeps/389>)
* These early-access builds are provided under the GNU General Public
License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>
* EA builds are produced for the purpose of gathering feedback. Use
for any other purpose is at your own risk.
* Please send feedback via e-mail to pan...@op...
<pan...@op...>. To send e-mail to this address you
must first subscribe to the mailing list
<https://mail.openjdk.java.net/mailman/listinfo/panama-dev>.
* Project Panama - topics of interest
o “The Vector API” with John Rose and Paul Sandoz
https://inside.java/2020/11/17/podcast-007/
o “The Foreign Memory Access API” with Maurizio Cimadamore and
Jorn Vernee
https://inside.java/2020/12/11/podcast-009/
o “The Foreign Linker API” with Maurizio Cimadamore and Jorn Vernee
https://inside.java/2020/12/21/podcast-010/
OpenJDK 17 Early Access build 5**is now available at http://jdk.java.net/17
* These early-access, open-source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Changes in recent builds that maybe of interest:
o Build 4:
+ JDK-8258800: Deprecate -XX:+AlwaysLockClassLoader
o Build 3:
+ JDK-8246005: KeyStoreSpi::engineStore(LoadStoreParameter)
spec mismatch to its behavior
+ JDK-8258765: getAnnotatedReceiverType parameterizes types
too eagerly
* JDK 17 - topic of interest
o Towards OpenJDK 17 - a quick update on startup performance:
+ https://cl4es.github.io/2020/12/06/Towards-OpenJDK-17.html
Java Cryptographic Roadmap [5] has been updated
* Removing root certificates with 1024-bit keys in July 2021 CPU.
* Disabling of SHA-1 JARS signed after 2019-01-01 has been postponed
to July 2021 CPU.
Rgds, Rory
[1] https://mail.openjdk.java.net/pipermail/jdk-dev/2021-January/005001.html
[2] https://jdk.java.net/16/release-notes
[3] http://openjdk.java.net/projects/jdk/16/
<http://openjdk.java.net/projects/jdk/16/>
[4]
https://mail.openjdk.java.net/pipermail/panama-dev/2020-December/011605.html
<https://mail.openjdk.java.net/pipermail/panama-dev/2020-December/011605.html>
[5] https://java.com/en/jre-jdk-cryptoroadmap.html
<https://java.com/en/jre-jdk-cryptoroadmap.html>
|
|
From: Rory O'D. <ror...@or...> - 2020-12-13 17:00:45
|
Hi Andreas,
*Per the JDK 16 schedule , we are in Rampdown Phase One* *[1] .
*
*Please advise if you find any issues while testing the latest Early
Access builds.*
* Schedule for JDK 16
o *2020/12/10 Rampdown Phase One*
o 2021/01/14 Rampdown Phase Two
o 2021/02/04 Initial Release Candidate
o 2021/02/18 Final Release Candidate
o 2021/03/16 General Availability
* Release Notes [2]
OpenJDK 16 Early Access build 28**is now available at
http://jdk.java.net/16
* Features - the overall feature set is frozen. No further JEPs will
be targeted to this release.
* Significant Integrations in b28:
o *Integrated JEP 396: **Strongly Encapsulate JDK Internals by
Default <https://openjdk.java.net/jeps/396>**
*
+ Strongly encapsulate all internal elements of the JDK by
default, except for critical internal APIs
<https://openjdk.java.net/jeps/260#Description> such as
|sun.misc.Unsafe|.
+ Allow end users to choose the relaxed strong encapsulation
that has been the default since JDK 9.
o Integrated JEP 397: Sealed Classes (Second Preview)
<https://openjdk.java.net/jeps/397> with this release.
+ Enhance the Java programming language with sealed classes
and interfaces
<https://cr.openjdk.java.net/~briangoetz/amber/datum.html>.
+ Refines JEP 360 <https://openjdk.java.net/jeps/360> which
was delivered in JDK 15 as a preview feature.
* These early-access , open-source builds are provided under the GNU
General Public License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>.
* Changes in recent builds that maybe of interest:
o Build 28
+ JDK-8256299: JEP 396: Strongly Encapsulate JDK Internals by
Default
+ JDK-8166596: TLS support for the EdDSA signature algorithm
+ JDK-8256718: Old tracing flags are now obsolete and must be
replaced with unified logging
o Build 27
+ JDK-8159746: (proxy) Support for default methods
+ JDK-8254631: Better support ALPN byte wire values in SunJSSE
Project Loom Early-Access: *Build 16-loom+9-316
<http://jdk.java.net/loom/>* (2020/11/30) - based on JDK-16+25
<https://github.com/openjdk/jdk/releases/tag/jdk-16%2B25>
* These early-access builds are provided under the GNU General Public
License, version 2, with the Classpath Exception
<http://openjdk.java.net/legal/gplv2+ce.html>
* These builds are intended for developers looking to "kick the tyres"
and provide feedback on using the API or by sending bug reports.
* Please send feedback via e-mail to loo...@op...
<mailto:loo...@op...>. To send e-mail to this address
you must first subscribe to the mailing list
<http://mail.openjdk.java.net/mailman/listinfo/loom-dev>.
Rgds, Rory
[1]
https://mail.openjdk.java.net/pipermail/jdk-dev/2020-December/004991.html
[2] https://jdk.java.net/16/release-notes
|
|
From: Andreas D. <and...@pm...> - 2020-12-12 11:17:57
|
* Downloads:
https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.30.0
<https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.30.0>
* Documentation: https://pmd.github.io/pmd-6.30.0/
<https://pmd.github.io/pmd-6.30.0/>
12-December-2020 - 6.30.0
The PMD team is pleased to announce PMD 6.30.0.
This is a minor release.
Table Of Contents
* New and noteworthy
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#new-and-noteworthy>
o CPD
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#cpd>
o Type information for VisualForce
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#type-information-for-visualforce>
* Fixed Issues
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#fixed-issues>
* API Changes
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#api-changes>
o Deprecated API
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#deprecated-api>
+ Around RuleSet parsing
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#around-ruleset-parsing>
+ Around the |PMD| class
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#around-the-pmd-class>
+ Miscellaneous
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#miscellaneous>
o Internal API
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#internal-api>
* External Contributions
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#external-contributions>
* Stats
<https://sourceforge.net/p/pmd/news/2020/12/pmd-6300-released/#stats>
New and noteworthy
CPD
*
The C# module now supports the new option
|--ignore-literal-sequences|
<https://pmd.github.io/latest/pmd_userdocs_cpd.html#-ignore-literal-sequences>,
which can be used to avoid detection of some uninteresting clones.
Support for other languages may be added in the future. See #2945
<https://github.com/pmd/pmd/pull/2945>
*
The Scala module now supports suppression
<https://pmd.github.io/latest/pmd_userdocs_cpd.html#suppression>
through |CPD-ON|/|CPD-OFF| comment pairs. See #2929
<https://github.com/pmd/pmd/pull/2929>
Type information for VisualForce
The Visualforce AST now can resolve the data type of Visualforce
expressions that reference Apex Controller properties and Custom Object
fields. This feature improves the precision of existing rules, like
|VfUnescapeEl|
<https://pmd.github.io/pmd-6.30.0/pmd_rules_vf_security.html#vfunescapeel>.
This can be configured using two environment variables:
/|PMD_VF_APEXDIRECTORIES|: Comma separated list of directories for Apex
classes. Absolute or relative to the Visualforce directory. Default is
|../classes|. Specifying an empty string will disable data type
resolution for Apex Controller properties.
/ |PMD_VF_OBJECTSDIRECTORIES|: Comma separated list of directories for
Custom Objects. Absolute or relative to the Visualforce directory.
Default is |../objects|. Specifying an empty string will disable data
type resolution for Custom Object fields.
This feature is experimental, in particular, expect changes to the way
the configuration is specified. We'll probably extend the CLI instead of
relying on environment variables in a future version.
Thanks to Jeff Bartolotta and Roopa Mohan for contributing this!
Fixed Issues
* core
o #1939 <https://github.com/pmd/pmd/issues/1939>: [core] XPath
expressions return handling
o #1961 <https://github.com/pmd/pmd/issues/1961>: [core] Text
renderer should include name of violated rule
o #2874 <https://github.com/pmd/pmd/pull/2874>: [core] Fix
XMLRenderer with UTF-16
* cs
o #2938 <https://github.com/pmd/pmd/pull/2938>: [cs] CPD: ignoring
using directives could not be disabled
* java
o #2911 <https://github.com/pmd/pmd/issues/2911>: [java]
|ClassTypeResolver#searchNodeNameForClass| leaks memory
o #2934 <https://github.com/pmd/pmd/pull/2934>: [java]
CompareObjectsWithEquals / UseEqualsToCompareStrings - False
negatives with fields
o #2940 <https://github.com/pmd/pmd/pull/2940>: [java] Catch
additional TypeNotPresentExceptions / LinkageErrors
* scala
o #2480 <https://github.com/pmd/pmd/issues/2480>: [scala] Support
CPD suppressions
API Changes
Deprecated API
Around RuleSet parsing
* |RuleSetFactory|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSetFactory.html#>
and |RulesetsFactoryUtils|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RulesetsFactoryUtils.html#>
have been deprecated in favor of |RuleSetLoader|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSetLoader.html#>.
This is easier to configure, and more maintainable than the multiple
overloads of |RuleSetFactoryUtils|.
* Some static creation methods have been added to |RuleSet|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSet.html#>
for simple cases, eg |forSingleRule|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSet.html#forSingleRule(net.sourceforge.pmd.Rule)>.
These replace some counterparts in |RuleSetFactory|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSetFactory.html#>
* Since |RuleSets|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSets.html#>
is also deprecated, many APIs that require a RuleSets instance now
are deprecated, and have a counterpart that expects a |List<RuleSet>|.
* |RuleSetReferenceId|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSetReferenceId.html#>,
|RuleSetReference|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSetReference.html#>,
|RuleSetFactoryCompatibility|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/RuleSetFactoryCompatibility.html#>
are deprecated. They are most likely not relevant outside of the
implementation of pmd-core.
Around the |PMD| class
Many classes around PMD's entry point (|PMD|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/PMD.html#>)
have been deprecated as internal, including:
/The contents of the packages |net.sourceforge.pmd.cli|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/cli/package-summary.html#>,
|net.sourceforge.pmd.processor|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/processor/package-summary.html#>
/ |SourceCodeProcessor|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/SourceCodeProcessor.html#>
* The constructors of |PMD|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/PMD.html#>
(the class will be made a utility class)
Miscellaneous
* |ASTPackageDeclaration#getPackageNameImage|
<https://docs.pmd-code.org/apidocs/pmd-java/6.30.0/net/sourceforge/pmd/lang/java/ast/ASTPackageDeclaration.html#getPackageNameImage()>,
|ASTTypeParameter#getParameterName|
<https://docs.pmd-code.org/apidocs/pmd-java/6.30.0/net/sourceforge/pmd/lang/java/ast/ASTTypeParameter.html#getParameterName()>
and the corresponding XPath attributes. In both cases they're
replaced with a new method |getName|,
the attribute is |@Name|.
* |ASTClassOrInterfaceBody#isAnonymousInnerClass|
<https://docs.pmd-code.org/apidocs/pmd-java/6.30.0/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.html#isAnonymousInnerClass()>,
and |ASTClassOrInterfaceBody#isEnumChild|
<https://docs.pmd-code.org/apidocs/pmd-java/6.30.0/net/sourceforge/pmd/lang/java/ast/ASTClassOrInterfaceBody.html#isEnumChild()>,
refs #905 <https://github.com/pmd/pmd/issues/905>
Internal API
Those APIs are not intended to be used by clients, and will be hidden or
removed with PMD 7.0.0.
You can identify them with the |@InternalApi| annotation. You'll also
get a deprecation warning.
* |net.sourceforge.pmd.lang.ecmascript.Ecmascript3Handler|
<https://docs.pmd-code.org/apidocs/pmd-javascript/6.30.0/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Handler.html#>
* |net.sourceforge.pmd.lang.ecmascript.Ecmascript3Parser|
<https://docs.pmd-code.org/apidocs/pmd-javascript/6.30.0/net/sourceforge/pmd/lang/ecmascript/Ecmascript3Parser.html#>
* |EcmascriptParser#parserOptions|
<https://docs.pmd-code.org/apidocs/pmd-javascript/6.30.0/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParser.html#parserOptions>
* |EcmascriptParser#getSuppressMap|
<https://docs.pmd-code.org/apidocs/pmd-javascript/6.30.0/net/sourceforge/pmd/lang/ecmascript/ast/EcmascriptParser.html#getSuppressMap()>
* |net.sourceforge.pmd.lang.rule.ParametricRuleViolation|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/lang/rule/ParametricRuleViolation.html#>
* |ParserOptions#suppressMarker|
<https://docs.pmd-code.org/apidocs/pmd-core/6.30.0/net/sourceforge/pmd/lang/ParserOptions.html#suppressMarker>
* |net.sourceforge.pmd.lang.modelica.rule.ModelicaRuleViolationFactory|
<https://docs.pmd-code.org/apidocs/pmd-modelica/6.30.0/net/sourceforge/pmd/lang/modelica/rule/ModelicaRuleViolationFactory.html#>
External Contributions
* #2864 <https://github.com/pmd/pmd/pull/2864>: [vf] Provide
expression type information to Visualforce rules to avoid false
positives - Jeff Bartolotta <https://github.com/jbartolotta-sfdc>
* #2914 <https://github.com/pmd/pmd/pull/2914>: [core] Include rule
name in text renderer - Gunther Schrijvers
<https://github.com/GuntherSchrijvers>
* #2925 <https://github.com/pmd/pmd/pull/2925>: Cleanup: Correct
annotation array initializer indents from checkstyle #8083 -
Abhishek Kumar <https://github.com/Abhishek-kumar09>
* #2929 <https://github.com/pmd/pmd/pull/2929>: [scala] Add support
for CPD-ON and CPD-OFF special comments - Andy Robinson
<https://github.com/andyrobinson>
* #2936 <https://github.com/pmd/pmd/pull/2936>: [java] (doc) Fix typo:
"an accessor" not "a" - Igor Moreno <https://github.com/igormoreno>
* #2938 <https://github.com/pmd/pmd/pull/2938>: [cs] CPD: fix issue
where ignoring using directives could not be disabled - Maikel
Steneker <https://github.com/maikelsteneker>
* #2945 <https://github.com/pmd/pmd/pull/2945>: [cs] Add option to
ignore sequences of literals - Maikel Steneker
<https://github.com/maikelsteneker>
* #2962 <https://github.com/pmd/pmd/pull/2962>: [cpp] Add support for
C++ 14 binary literals - Maikel Steneker
<https://github.com/maikelsteneker>
Stats
* 190 commits
* 25 closed tickets & PRs
* Days since last release: 49
|
|
From: Rory O'D. <ror...@or...> - 2020-11-27 11:10:42
|
Hi Andreas, OpenJDK 16 Early Access build 26**is now available at http://jdk.java.net/16 * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * Schedule: *JDK 16 Rampdown Phase One Starts on 2020/12/10 [1] * * Features [1]: Most recent Integrations: o Integrated JEP 389: Foreign Linker API (Incubator) <https://openjdk.java.net/jeps/389> with this release. + JEP 389 introduces an API that offers statically-typed, pure-Java access to native code. + This API, together with the JEP 383 <https://openjdk.java.net/jeps/383>, will considerably simplify the otherwise error-prone process of binding to a native library. ** * Release Notes [2] * Changes in recent builds that maybe of interest: o Build 26 + JDK-8202343: *Disable TLS 1.0 and 1.1* + JDK-8251317:**Support for CLDR version 38** + JDK-8212879: Make JVMTI TagMap table concurrent + JDK-8236926: Concurrently uncommit memory in G1 + JDK-8243559: Removed Root Certificates with 1024-bit Keys + JDK-8253459: Argument index of zero or unrepresentable by int throws IllegalFormatException + JDK-8256643: Terminally deprecate ThreadGroup stop, destroy, isDestroyed, setDaemon and isDaemon o Build 25 + JDK-8247781: Day period support added to java.time formats + JDK-8202471: (ann) Cannot read type annotations on generic receiver type's type variables *[**Reported by ByteBuddy]* + JDK-8255947: [macos] Signed macOS jpackage app doesn't filter spurious '-psn' argument *[**Reported by JOSM]* + JDK-8256063: Module::getPackages returns the set of package names in this module * JDK 16 - topics of interest o Inside Java Episode 7 “The Vector API” with John Rose and Paul Sandoz + https://inside.java/2020/11/17/podcast-007/ <https://inside.java/2020/11/17/podcast-007/> o Biased locking Obsoletion update + https://inside.java/2020/11/17/biased-locking-obsoletion/ <https://inside.java/2020/11/17/biased-locking-obsoletion/> * Project Loom with Ron Pressler o https://inside.java/2020/11/24/podcast-008/ * Update on 64-bit ARM Support for Oracle OpenJDK and Oracle JDK o https://inside.java/2020/11/12/arm-support-update/ <https://inside.java/2020/11/12/arm-support-update/> Project Lanai Early-Access: EA 7 Build 16-lanai+3-278 <http://jdk.java.net/lanai/> (2020/11/17) * These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html> * These EA builds are produced for the purpose of gathering feedback. Use for any other purpose is at your own risk. * Please send feedback via e-mail to lan...@op... <mailto:lan...@op...>. To send e-mail to this address you must first subscribe to the mailing list <https://mail.openjdk.java.net/mailman/listinfo/lanai-dev>. The Java Cryptographic Roadmap has been updated [3]: * Distrust TLS 1.0 and TLS 1.1 by default o TLS protocol versions 1.0 and 1.1 are no longer considered secure and have been superseded by more secure and modern versions (TLS 1.2 and 1.3). This change has been integrated with JDK 16 Early Access build 26. * Upgrade of default algorithms used to encrypt PKCS12 keystores o The new algorithms are based on AES-256 and SHA-256 and are stronger than the old algorithms which were based on RC2, DESede, and SHA-1.This change is already included in JDK 16 Early Access build 23. RgdsRory [1] https://openjdk.java.net/projects/jdk/16/ [2] https://jdk.java.net/16/release-notes [3] https://www.java.com/en/jre-jdk-cryptoroadmap.html -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: Andreas D. <ad...@ap...> - 2020-11-23 08:23:23
|
The Maven team is pleased to announce the release of the Apache Maven PMD Plugin, version 3.14.0 A Maven plugin for the PMD toolkit, that produces a report on both code rule violations and detected copy and paste fragments, as well as being able to fail the build based on these metrics. https://maven.apache.org/plugins/maven-pmd-plugin/ You should specify the version in your project's plugin configuration: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.14.0</version> </plugin> Release Notes - Maven PMD Plugin - Version 3.14.0 Bug * [MPMD-297] - Classloader not being closed after PMD run * [MPMD-300] - Unable to format output with custom renderer (CodeClimateRenderer) * [MPMD-305] - CPD goal does not support txt as a format parameter * [MPMD-307] - NPE when using custom rule Improvement * [MPMD-290] - Add CPD example for C# * [MPMD-301] - make build Reproducible * [MPMD-304] - maven-pmd-plugin should be toolchains-aware Dependency upgrade * [MPMD-298] - Upgrade Doxia Sitetools to 1.9.2 to remove dependency on Struts * [MPMD-302] - Upgrade to PMD 6.29.0 Enjoy, -The Maven team |
|
From: Rory O'D. <ror...@or...> - 2020-11-13 10:13:31
|
Hi Andreas, OpenJDK 16 Early Access build 24**is now available at http://jdk.java.net/16 * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * Schedule 2020/12/10 Rampdown Phase One 2021/01/14 Rampdown Phase Two 2021/02/04 Initial Release Candidate 2021/02/18 Final Release Candidate 2021/03/16 General Availability * Features: o JEPs targeted to JDK 16, so far: + JEP 338: Vector API (Incubator) <https://openjdk.java.net/jeps/338> + JEP 347: Enable C++14 Language Features <https://openjdk.java.net/jeps/347> + JEP 357: Migrate from Mercurial to Git <https://openjdk.java.net/jeps/357> + JEP 369: Migrate to GitHub <https://openjdk.java.net/jeps/369> + JEP 376: ZGC: Concurrent Thread-Stack Processing <https://openjdk.java.net/jeps/376> + JEP 380: Unix-Domain Socket Channels <https://openjdk.java.net/jeps/380> + JEP 386: Alpine Linux Port <https://openjdk.java.net/jeps/386> + JEP 387: Elastic Metaspace <https://openjdk.java.net/jeps/387> + JEP 388: Windows/AArch64 Port <https://openjdk.java.net/jeps/388> + JEP 392: Packaging Tool <https://openjdk.java.net/jeps/392> + JEP 393: Foreign-Memory Access API (Third Incubator) <https://openjdk.java.net/jeps/393> + JEP 394: Pattern Matching for instanceof <https://openjdk.java.net/jeps/394> + JEP 395: Records <https://openjdk.java.net/jeps/395> ** * Release Notes are available at http://jdk.java.net/16/release-notes <http://jdk.java.net/16/release-notes> * Changes in recent builds that maybe of interest: o Build 24 + JDK-8231599: NPE when loading a preview classfile from a future Java version # *Reported by JUnit5* + JDK-8254661: arm32: additional cleanup after fixing SIGSEGV # *Reported by JaCoCo* + JDK-8255584: `HttpPrincipal::getName` returns incorrect name + JDK-8255226: (tz) Upgrade time-zone data to tzdata2020d o Build 23 + JDK-8254876: (fs) NullPointerException not thrown when first argument to Path.of or Paths.get is null + JDK-8255576: (fs) Files.isHidden() throws ArrayIndexOutOfBoundsException (unix) # *Reported by JUnit5* + JDK-8255616: Removal of experimental features AOT and Graal JIT o Build 22 + JDK-8243583: Change 'final' error checks to throw ICCE + JDK-8254982: (tz) Upgrade time-zone data to tzdata2020c Project Loom Early-Access Build: Build 16-loom+7-285 <http://jdk.java.net/loom/> (2020/11/4) * *Want to know more* - check out - https://inside.java/2020/11/11/project-loom-at-nyc-java-sig/ * These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html> o These builds are based on jdk-16+20 <https://github.com/openjdk/jdk/releases/tag/jdk-16%2B20> o These EA builds are produced for the purpose of gathering feedback. Use for any other purpose is at your own risk. o Please send feedback via e-mail to loo...@op... <mailto:loo...@op...>. To send e-mail to this address you must first subscribe to the mailing list <http://mail.openjdk.java.net/mailman/listinfo/loom-dev>. Rgds,Rory -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: Andreas D. <and...@pm...> - 2020-10-24 09:19:45
|
* Downloads: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.29.0 * Documentation: https://pmd.github.io/pmd-6.29.0/ 24-October-2020 - 6.29.0 The PMD team is pleased to announce PMD 6.29.0. This is a minor release. Table Of Contents * New and noteworthy <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#new-and-noteworthy> o Updated Apex Support <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#updated-apex-support> o New Rules <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#new-rules> o Renamed Rules <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#renamed-rules> o Deprecated Rules <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#deprecated-rules> * Fixed Issues <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#fixed-issues> * External Contributions <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#external-contributions> * Stats <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#stats> New and noteworthy Updated Apex Support * The Apex language support has been bumped to version 50 (Winter '21). All new language features are now properly parsed and processed. Especially the Safe Navigation Operator <https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_apex_SafeNavigationOperator.htm> is now supported. See also Salesforce Winter '21 Release Notes <https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_apex.htm> New Rules * The new Apex rule |OperationWithLimitsInLoop| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#operationwithlimitsinloop> (|apex-performance|) finds operations in loops that may hit governor limits such as DML operations, SOQL queries and more. The rule replaces the three rules "AvoidDmlStatementsInLoops", "AvoidSoqlInLoops", and "AvoidSoslInLoops". Renamed Rules * The Java rule |DoNotCallSystemExit| <https://pmd.github.io/pmd-6.29.0/pmd_rules_java_errorprone.html#donotcallsystemexit> has been renamed to |DoNotTerminateVM| <https://pmd.github.io/pmd-6.29.0/pmd_rules_java_errorprone.html#donotterminatevm>, since it checks for all the following calls: |System.exit(int)|, |Runtime.exit(int)|, |Runtime.halt(int)|. All these calls terminate the Java VM, which is bad, if the VM runs an application server which many independent applications. Deprecated Rules * The Apex rules |AvoidDmlStatementsInLoops| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#avoiddmlstatementsinloops>, |AvoidSoqlInLoops| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#avoidsoqlinloops> and |AvoidSoslInLoops| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#avoidsoslinloops> (|apex-performance|) are deprecated in favour of the new rule |OperationWithLimitsInLoop| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#operationwithlimitsinloop>. The deprecated rules will be removed with PMD 7.0.0. Fixed Issues * apex o #2839 <https://github.com/pmd/pmd/issues/2839>: [apex] Apex classes with safe navigation operator from Winter 21 (50.0) are skipped * apex-performance o #1713 <https://github.com/pmd/pmd/issues/1713>: [apex] Mark Database DML statements in For Loop * core o #2831 <https://github.com/pmd/pmd/pull/2831>: [core] Fix XMLRenderer newlines when running under IBM Java * java-errorprone o #2157 <https://github.com/pmd/pmd/issues/2157>: [java] Improve DoNotCallSystemExit: permit call in main(), flag System.halt o #2764 <https://github.com/pmd/pmd/issues/2764>: [java] CloseResourceRule does not recognize multiple assignment done to resource * miscellaneous o #2823 <https://github.com/pmd/pmd/issues/2823>: [doc] Renamed/Moved rules are missing in documentation * vf (Salesforce VisualForce) o #2765 <https://github.com/pmd/pmd/issues/2765>: [vf] Attributes with dot cause a VfParseException External Contributions * #2803 <https://github.com/pmd/pmd/pull/2803>: [java] Improve DoNotCallSystemExit (Fixes #2157) - Vitaly Polonetsky <https://github.com/mvitaly> * #2809 <https://github.com/pmd/pmd/pull/2809>: [java] Move test config from file to test class - Stefan Birkner <https://github.com/stefanbirkner> * #2810 <https://github.com/pmd/pmd/pull/2810>: [core] Move method "renderTempFile" to XMLRendererTest - Stefan Birkner <https://github.com/stefanbirkner> * #2811 <https://github.com/pmd/pmd/pull/2811>: [java] CloseResource - Fix #2764: False-negative when re-assigning variable - Andi Pabst <https://github.com/andipabst> * #2813 <https://github.com/pmd/pmd/pull/2813>: [core] Use JUnit's TemporaryFolder rule - Stefan Birkner <https://github.com/stefanbirkner> * #2816 <https://github.com/pmd/pmd/pull/2816>: [apex] Detect 'Database' method invocations inside loops - Jeff Bartolotta <https://github.com/jbartolotta-sfdc> * #2829 <https://github.com/pmd/pmd/pull/2829>: [doc] Small correction in pmd_report_formats.md - Gustavo Krieger <https://github.com/gustavopcassol> * #2834 <https://github.com/pmd/pmd/pull/2834>: [vf] Allow attributes with dot in Visualforce - rmohan20 <https://github.com/rmohan20> * #2842 <https://github.com/pmd/pmd/pull/2842>: [core] Bump antlr4 from 4.7 to 4.7.2 - Adrien Lecharpentier <https://github.com/alecharp> * #2865 <https://github.com/pmd/pmd/pull/2865>: [java] (doc) Update ExcessiveImports example code for clarity - Gustavo Krieger <https://github.com/gustavopcassol> * #2866 <https://github.com/pmd/pmd/pull/2866>: [java] (doc) Fix example for CouplingBetweenObjects - Gustavo Krieger <https://github.com/gustavopcassol> Stats * 50 commits * 23 closed tickets & PRs * Days since last release: 27 |
|
From: Rory O'D. <ror...@or...> - 2020-10-23 10:06:00
|
Hi Andreas, OpenJDK 16 Early Access build 21**is now available at http://jdk.java.net/16 * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * Schedule (proposed) 2020/12/10 Rampdown Phase One 2021/01/14 Rampdown Phase Two 2021/02/04 Initial Release Candidate 2021/02/18 Final Release Candidate 2021/03/16 General Availability * Features: o JEPs targeted to JDK 16, so far: + JEP 338: Vector API (Incubator) <https://openjdk.java.net/jeps/338> + JEP 347: Enable C++14 Language Features <https://openjdk.java.net/jeps/347> + JEP 357: Migrate from Mercurial to Git <https://openjdk.java.net/jeps/357> + JEP 369: Migrate to GitHub <https://openjdk.java.net/jeps/369> + JEP 376: ZGC: Concurrent Thread-Stack Processing <https://openjdk.java.net/jeps/376> + JEP 386: Alpine Linux Port <https://openjdk.java.net/jeps/386> + JEP 387: Elastic Metaspace <https://openjdk.java.net/jeps/387> + JEP 388: Windows/AArch64 Port <https://openjdk.java.net/jeps/388> ** * Changes in recent builds that maybe of interest: o Build 21 + JDK-8236862: Enhance support of Proxy class + JDK-8237990: Added Property to Control LDAP Authentication Mechanisms Allowed to Authenticate Over Clear Connections + JDK-8242068: Signed JAR support for RSASSA-PSS and EdDSA + JDK-8245417: Improve certificate chain handling + JDK-8253952: Refine ZipOutputStream.putNextEntry() to recalculate ZipEntry's compressed size o Build 20 + JDK-8232092: (fs) Files::isWritable returns false on a writeable root directory (win) # Reported by JUnit5 + JDK-8248262: Wrong link target in ModuleDescriptor#isAutomatic's API documentation # Reported by JUnit5 + JDK-8253965: Delete the outdated java.awt.PeerFixer class + JDK-8253566: clazz.isAssignableFrom will return false for interface implementors # Found by Hibernate Validator + JDK-8254177: US/Pacific-New Zone name removed as part of tzdata2020b o Build 19 + JDK-8253761: Wrong URI syntax printed by jar --describe-module # Reported by JUnit5 Project Lanai Early-Access Build: EA 6 Build 16-lanai+2-229 <http://jdk.java.net/lanai/> (2020/10/4) * These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * These builds are based upon the latest state of the current in development JDK, and so may contain new features and unresolved bugs unrelated to Project Lanai. Project Lanai Wiki: https://wiki.openjdk.java.net/display/lanai/Main * Please send feedback via e-mail tol...@op... <mailto:lan...@op...>. To send e-mail to this address you must firstsubscribe to the mailing list <https://mail.openjdk.java.net/mailman/listinfo/lanai-dev>. Project Panama Early-Access Build: Build 16-panama+2-193 <http://jdk.java.net/panama/> (2020/10/1) * These early-access, open-source builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * These builds are based on an incomplete version of JDK 16. * Please send feedback via e-mail top...@op... <mailto:pan...@op...>. To send e-mail to this address you must firstsubscribe to the mailing list <http://mail.openjdk.java.net/mailman/listinfo/panama-dev>. Oracle JRE and JDK Cryptographic Roadmap has been updated [1] * Oracle has announced plans to add support for x25519 and x448 named elliptic curve groups to TLS. * Support is targeted for JDK 11 with the January 2021 CPU release. Oracle Critical Patch Update released 21-Oct-2020 * https://www.oracle.com/security-alerts/cpuoct2020.html *__* Rgds,Rory [1] https://java.com/en/jre-jdk-cryptoroadmap.html -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: Rory O'D. <ror...@or...> - 2020-10-02 09:36:03
|
Hi Andreas, OpenJDK 16 Early Access build 18**is now available at http://jdk.java.net/16 * These early-access , open-source builds are provided under the o GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * Features: o JEPs proposed to target JDK 16 + JEP 376: ZGC: Concurrent Thread-Stack Processing <https://openjdk.java.net/jeps/376> + JEP 386: Alpine Linux Port <https://openjdk.java.net/jeps/386> + JEP 388: Windows/AArch64 Port <https://openjdk.java.net/jeps/388> o JEPs targeted to JDK 16, so far: + JEP 338: Vector API (Incubator) <https://openjdk.java.net/jeps/338> + JEP 347: Enable C++14 Language Features <https://openjdk.java.net/jeps/347> + JEP 357: Migrate from Mercurial to Git <https://openjdk.java.net/jeps/357> + JEP 369: Migrate to GitHub <https://openjdk.java.net/jeps/369> + JEP 387: Elastic Metaspace <https://openjdk.java.net/jeps/387> * Release Notes are available at http://jdk.java.net/16/release-notes ** * Changes in recent builds that maybe of interest: o Build 17 + JDK-8247281: Object monitors no longer keep strong references to their associated object + JDK-8202473: A type variable with multiple bounds does not correctly place type annotation # Reported by ByteBuddy + JDK-8234808: jdb quoted option parsing broken # Reported by Apache Tomcat o Build 16 + JDK-8172366: SUN, SunRsaSign, and SunEC Providers Supports SHA-3 Based Signature Algorithms + JDK-8244706: GZIPOutputStream now sets the GZIP OS Header Field to the correct default value * Quality Report for September 2020 was published here [1]. Thanks to everyone who contributed by creating features or enhancements, logging bugs, or downloading and testing the early-access builds. *__* Rgds,Rory [1] https://wiki.openjdk.java.net/display/quality/Quality+Outreach+report+September+2020 -- Rgds, Rory O'Donnell Quality Engineering Manager Oracle EMEA, Dublin, Ireland |
|
From: Andreas D. <and...@pm...> - 2020-09-26 09:08:42
|
* Downloads: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.28.0 * Documentation: https://pmd.github.io/pmd-6.28.0/ 26-September-2020 - 6.28.0 The PMD team is pleased to announce PMD 6.28.0. This is a minor release. Table Of Contents * New and noteworthy <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#new-and-noteworthy> o CPD's AnyTokenizer has been improved <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#cpd's-anytokenizer-has-been-improved> * Fixed Issues <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#fixed-issues> * API Changes <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#api-changes> o Deprecated API <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#deprecated-api> + For removal <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#for-removal> * External Contributions <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#external-contributions> * Stats <https://sourceforge.net/p/pmd/news/2020/09/pmd-6280-released/#stats> New and noteworthy CPD's AnyTokenizer has been improved The AnyTokenizer is used for languages, that don't have an own lexer/grammar based tokenizer. AnyTokenizer now handles string literals and end-of-line comments. Fortran, Perl and Ruby have been updated to use AnyTokenizer instead of their old custom tokenizer based on AbstractTokenizer. See #2758 <https://github.com/pmd/pmd/pull/2758> for details. AbstractTokenizer and the custom tokenizers of Fortran, Perl and Ruby are deprecated now. Fixed Issues * cpd o #2758 <https://github.com/pmd/pmd/pull/2758>: [cpd] Improve AnyTokenizer o #2760 <https://github.com/pmd/pmd/issues/2760>: [cpd] AnyTokenizer doesn't count columns correctly * apex-security o #2774 <https://github.com/pmd/pmd/issues/2774>: [apex] ApexSharingViolations does not correlate sharing settings with class that contains data access * java o #2738 <https://github.com/pmd/pmd/issues/2738>: [java] Custom rule with @ExhaustiveEnumSwitch throws NPE o #2755 <https://github.com/pmd/pmd/issues/2755>: [java] [6.27.0] Exception applying rule CloseResource on file ... java.lang.NullPointerException o #2756 <https://github.com/pmd/pmd/issues/2756>: [java] TypeTestUtil fails with NPE for anonymous class o #2767 <https://github.com/pmd/pmd/issues/2767>: [java] IndexOutOfBoundsException when parsing an initializer BlockStatement o #2783 <https://github.com/pmd/pmd/issues/2783>: [java] Error while parsing with lambda of custom interface * java-bestpractices o #2759 <https://github.com/pmd/pmd/issues/2759>: [java] False positive in UnusedAssignment * java-design o #2708 <https://github.com/pmd/pmd/issues/2708>: [java] False positive FinalFieldCouldBeStatic when using lombok Builder.Default API Changes Deprecated API For removal * |net.sourceforge.pmd.RuleViolationComparator| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/RuleViolationComparator.html#>. Use |RuleViolation#DEFAULT_COMPARATOR| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/RuleViolation.html#DEFAULT_COMPARATOR> instead. * |net.sourceforge.pmd.cpd.AbstractTokenizer| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/cpd/AbstractTokenizer.html#>. Use |net.sourceforge.pmd.cpd.AnyTokenizer| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/cpd/AnyTokenizer.html#> instead. * |net.sourceforge.pmd.cpd.FortranTokenizer| <https://docs.pmd-code.org/apidocs/pmd-fortran/6.28.0/net/sourceforge/pmd/cpd/FortranTokenizer.html#>. Was replaced by an |AnyTokenizer| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/cpd/AnyTokenizer.html#>. Use |FortranLanguage#getTokenizer| <https://docs.pmd-code.org/apidocs/pmd-fortran/6.28.0/net/sourceforge/pmd/cpd/FortranLanguage.html#getTokenizer()> anyway. * |net.sourceforge.pmd.cpd.PerlTokenizer| <https://docs.pmd-code.org/apidocs/pmd-perl/6.28.0/net/sourceforge/pmd/cpd/PerlTokenizer.html#>. Was replaced by an |AnyTokenizer| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/cpd/AnyTokenizer.html#>. Use |PerlLanguage#getTokenizer| <https://docs.pmd-code.org/apidocs/pmd-perl/6.28.0/net/sourceforge/pmd/cpd/PerlLanguage.html#getTokenizer()> anyway. * |net.sourceforge.pmd.cpd.RubyTokenizer| <https://docs.pmd-code.org/apidocs/pmd-ruby/6.28.0/net/sourceforge/pmd/cpd/RubyTokenizer.html#>. Was replaced by an |AnyTokenizer| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/cpd/AnyTokenizer.html#>. Use |RubyLanguage#getTokenizer| <https://docs.pmd-code.org/apidocs/pmd-ruby/6.28.0/net/sourceforge/pmd/cpd/RubyLanguage.html#getTokenizer()> anyway. * |RuleReference#getOverriddenLanguage| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/lang/rule/RuleReference.html#getOverriddenLanguage()> and |RuleReference#setLanguage| <https://docs.pmd-code.org/apidocs/pmd-core/6.28.0/net/sourceforge/pmd/lang/rule/RuleReference.html#setLanguage(net.sourceforge.pmd.lang.Language)> * Antlr4 generated lexers: o |net.sourceforge.pmd.lang.cs.antlr4.CSharpLexer| <https://docs.pmd-code.org/apidocs/pmd-cs/6.28.0/net/sourceforge/pmd/lang/cs/antlr4/CSharpLexer.html#> will be moved to package |net.sourceforge.pmd.lang.cs.ast| with PMD 7. o |net.sourceforge.pmd.lang.dart.antlr4.Dart2Lexer| <https://docs.pmd-code.org/apidocs/pmd-dart/6.28.0/net/sourceforge/pmd/lang/dart/antlr4/Dart2Lexer.html#> will be renamed to |DartLexer| and moved to package |net.sourceforge.pmd.lang.dart.ast| with PMD 7. All other classes in the old package will be removed. o |net.sourceforge.pmd.lang.go.antlr4.GolangLexer| <https://docs.pmd-code.org/apidocs/pmd-go/6.28.0/net/sourceforge/pmd/lang/go/antlr4/GolangLexer.html#> will be moved to package |net.sourceforge.pmd.lang.go.ast| with PMD 7. All other classes in the old package will be removed. o |net.sourceforge.pmd.lang.kotlin.antlr4.Kotlin| <https://docs.pmd-code.org/apidocs/pmd-kotlin/6.28.0/net/sourceforge/pmd/lang/kotlin/antlr4/Kotlin.html#> will be renamed to |KotlinLexer| and moved to package |net.sourceforge.pmd.lang.kotlin.ast| with PMD 7. o |net.sourceforge.pmd.lang.lua.antlr4.LuaLexer| <https://docs.pmd-code.org/apidocs/pmd-lua/6.28.0/net/sourceforge/pmd/lang/lua/antlr4/LuaLexer.html#> will be moved to package |net.sourceforge.pmd.lang.lua.ast| with PMD 7. All other classes in the old package will be removed. External Contributions * #2735 <https://github.com/pmd/pmd/pull/2735>: [ci] Add github actions for a fast view of pr succeed/not - XenoAmess <https://github.com/XenoAmess> * #2747 <https://github.com/pmd/pmd/pull/2747>: [java] Don't trigger FinalFieldCouldBeStatic when field is annotated with lombok @Builder.Default - Ollie Abbey <https://github.com/ollieabbey> * #2773 <https://github.com/pmd/pmd/pull/2773>: [java] issue-2738: Adding null check to avoid npe when switch case is default - Nimit Patel <https://github.com/nimit-patel> * #2789 <https://github.com/pmd/pmd/pull/2789>: Add badge for reproducible build - Dan Rollo <https://github.com/bhamail> * #2791 <https://github.com/pmd/pmd/pull/2791>: [apex] Analyze inner classes for sharing violations - Jeff Bartolotta <https://github.com/jbartolotta-sfdc> Stats * 58 commits * 24 closed tickets & PRs * Days since last release: 25 |
|
From: Rory O'D. <ror...@or...> - 2020-09-15 14:46:14
|
Hi Andreas,
**Release Announcement: General Availability of Java 15 / JDK 15 [1]
**
* JDK 15, the reference implementation of Java 15, is now Generally
Available.
* GPL-licensed OpenJDK builds from Oracle are available here:
http://jdk.java.net/15/
* JDK 15 Release notes
<https://www.oracle.com/java/technologies/javase/15-relnote-issues.html>
JDK 15 includes fourteen features [2]:
* JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA)
<http://openjdk.java.net/jeps/339>
* JEP 360: Sealed Classes (Preview) <http://openjdk.java.net/jeps/360>
* JEP 371: Hidden Classes <http://openjdk.java.net/jeps/371>
* JEP 372: Remove the Nashorn JavaScript Engine
<http://openjdk.java.net/jeps/372>
* JEP 373: Reimplement the Legacy DatagramSocket API
<https://openjdk.java.net/jeps/373>
* JEP 374: Disable and Deprecate Biased Locking
<http://openjdk.java.net/jeps/374>
* JEP 375: Pattern Matching for instanceof (Second Preview)
<https://openjdk.java.net/jeps/375>
* JEP 377: ZGC: A Scalable Low-Latency Garbage Collector
<http://openjdk.java.net/jeps/377>
* JEP 378: Text Blocks <http://openjdk.java.net/jeps/378>
* JEP 379: Shenandoah: A Low-Pause-Time Garbage Collector
<https://openjdk.java.net/jeps/379>
* JEP 381: Remove the Solaris and SPARC Ports
<https://openjdk.java.net/jeps/381>
* JEP 383: Foreign-Memory Access API (Second Incubator)
<https://openjdk.java.net/jeps/383>
* JEP 384: Records (Second Preview) <https://openjdk.java.net/jeps/384>
* JEP 385: Deprecate RMI Activation for Removal
<https://openjdk.java.net/jeps/385>
Thanks to everyone who contributed to JDK 15, whether by creating
features or enhancements, logging bugs, or downloading and testing the
early-access builds.
OpenJDK 16 Early Access build 15**is now available at http://jdk.java.net/16
* JEPs integrated to JDK 16:
o JEP 347: Enable C++14 Language Features
<https://openjdk.java.net/jeps/347>
o JEP 357: Migrate from Mercurial to Git
<https://openjdk.java.net/jeps/357>
o JEP 369: Migrate to GitHub <https://openjdk.java.net/jeps/369>
* Release Notes are available at http://jdk.java.net/16/release-notes
**
* Significant changes since the last availability email:
o Build 15
+ JDK-8244090: public lookup should find public members of
public exported types (Reported by Eclipse Jetty)
+ JDK-8250968: Symlinks attributes not preserved when using
jarsigner on zip files
o Build 14
+ JDK-8189744: Deprecate the JDK-specific API for setting
socket options, jdk.net.Sockets
+ JDK-8241003: Deprecate "denigrated" java.security.cert APIs
that represent DNs as Principal or String objects
+ JDK-8245462: The default HttpClient implementation returns
cancelable futures
*__*
Rgds,Rory
[1]
https://mail.openjdk.java.net/pipermail/jdk-dev/2020-September/004733.html
[2] https://openjdk.java.net/projects/jdk/15/
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
|