CodeNarc/CodeNarc (codenarc)
### [`v3.5.0`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-350-July-2024)
New Rules
- New Jenkins ruleset with 7 new rules. By default, these apply only to 'Jenkinsfile' ([Daniel Zänker](https://togithub.com/danielzaenker)):
- [#771](https://togithub.com/CodeNarc/CodeNarc/issues/771): **ParameterOrReturnTypeNotSerializable** rule: Every parameter and return type has to implement the Serializable interface in Jenkins
- [#770](https://togithub.com/CodeNarc/CodeNarc/issues/770): **ObjectOverrideOnlyNonCpsMethods** rule: Overridden methods of the standard library (e.g. from java.lang.Object) are often called from there and therefore must not be CPS transformed in Jenkins.
- [#769](https://togithub.com/CodeNarc/CodeNarc/issues/769): **ForbiddenCallInCpsMethod** rule: Some methods from the standard library cannot be CPS transformed and therefore must not be called from CPS transformed methods in Jenkins.
- [#768](https://togithub.com/CodeNarc/CodeNarc/issues/768): **ExpressionInCpsMethodNotSerializable** rule: Every expression/variable in a CPS transformed method in Jenkins can potentially be serialized and should therefore implement the Serializable interface.
- [#767](https://togithub.com/CodeNarc/CodeNarc/issues/767): **CpsCallFromNonCpsMethod** rule: CPS transformed methods may not be called from non CPS transformed methods in Jenkins.
- [#766](https://togithub.com/CodeNarc/CodeNarc/issues/766): **ClosureInGString** rule: Closures are CPS transformed in Jenkins and will cause an error at runtime when used in GStrings. Typically, they can be replaced by variable interpolation.
- [#765](https://togithub.com/CodeNarc/CodeNarc/issues/765): **ClassNotSerializable** rule: Classes in Jenkins pipeline libraries and Jenkinsfiles should generally implement the Serializable interface because every expression/variable used in a CPS transformed method can potentially be serialized.
- [#772](https://togithub.com/CodeNarc/CodeNarc/issues/772): New **NonSerializableFieldInSerializableClass** rule: All fields of a class that implements Serializable should also implement it. ([Daniel Zänker](https://togithub.com/danielzaenker)).
Updated/Enhanced Rules and Bug Fixes
- [#777](https://togithub.com/CodeNarc/CodeNarc/issues/777): Speed up **UnusedImport** rule ([Iulian Dragos](https://togithub.com/dragos)).
- [#762](https://togithub.com/CodeNarc/CodeNarc/issues/762): **BooleanMethodReturnsNull** rule: Analyze contained closure expressions within their own context, not as part of outer method context.
- [#781](https://togithub.com/CodeNarc/CodeNarc/issues/781): **DuplicateNumberLiteral** rule: Fix *duplicateNumberMinimumValue* handling for Long and BigDecimal values.
- [#695](https://togithub.com/CodeNarc/CodeNarc/issues/695): Refactor directory-handling in results. ([Ulrich Eckhardt](https://togithub.com/UlrichEckhardt))
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.4.0
->3.5.0
Release Notes
CodeNarc/CodeNarc (codenarc)
### [`v3.5.0`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-350-July-2024) New Rules - New Jenkins ruleset with 7 new rules. By default, these apply only to 'Jenkinsfile' ([Daniel Zänker](https://togithub.com/danielzaenker)): - [#771](https://togithub.com/CodeNarc/CodeNarc/issues/771): **ParameterOrReturnTypeNotSerializable** rule: Every parameter and return type has to implement the Serializable interface in Jenkins - [#770](https://togithub.com/CodeNarc/CodeNarc/issues/770): **ObjectOverrideOnlyNonCpsMethods** rule: Overridden methods of the standard library (e.g. from java.lang.Object) are often called from there and therefore must not be CPS transformed in Jenkins. - [#769](https://togithub.com/CodeNarc/CodeNarc/issues/769): **ForbiddenCallInCpsMethod** rule: Some methods from the standard library cannot be CPS transformed and therefore must not be called from CPS transformed methods in Jenkins. - [#768](https://togithub.com/CodeNarc/CodeNarc/issues/768): **ExpressionInCpsMethodNotSerializable** rule: Every expression/variable in a CPS transformed method in Jenkins can potentially be serialized and should therefore implement the Serializable interface. - [#767](https://togithub.com/CodeNarc/CodeNarc/issues/767): **CpsCallFromNonCpsMethod** rule: CPS transformed methods may not be called from non CPS transformed methods in Jenkins. - [#766](https://togithub.com/CodeNarc/CodeNarc/issues/766): **ClosureInGString** rule: Closures are CPS transformed in Jenkins and will cause an error at runtime when used in GStrings. Typically, they can be replaced by variable interpolation. - [#765](https://togithub.com/CodeNarc/CodeNarc/issues/765): **ClassNotSerializable** rule: Classes in Jenkins pipeline libraries and Jenkinsfiles should generally implement the Serializable interface because every expression/variable used in a CPS transformed method can potentially be serialized. - [#772](https://togithub.com/CodeNarc/CodeNarc/issues/772): New **NonSerializableFieldInSerializableClass** rule: All fields of a class that implements Serializable should also implement it. ([Daniel Zänker](https://togithub.com/danielzaenker)). Updated/Enhanced Rules and Bug Fixes - [#777](https://togithub.com/CodeNarc/CodeNarc/issues/777): Speed up **UnusedImport** rule ([Iulian Dragos](https://togithub.com/dragos)). - [#762](https://togithub.com/CodeNarc/CodeNarc/issues/762): **BooleanMethodReturnsNull** rule: Analyze contained closure expressions within their own context, not as part of outer method context. - [#781](https://togithub.com/CodeNarc/CodeNarc/issues/781): **DuplicateNumberLiteral** rule: Fix *duplicateNumberMinimumValue* handling for Long and BigDecimal values. - [#695](https://togithub.com/CodeNarc/CodeNarc/issues/695): Refactor directory-handling in results. ([Ulrich Eckhardt](https://togithub.com/UlrichEckhardt))Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.