This repository was archived by the owner on Jul 2, 2026. It is now read-only.
chore(deps): update binary tool pins#24
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Contributor
Author
|
aa6a207 to
217299e
Compare
d379a59 to
e2f878e
Compare
d39284d to
95ae272
Compare
95ae272 to
90368b1
Compare
90368b1 to
8a60828
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.95.2→3.95.100.63→0.641.70.0→1.71.02.91.0→2.94.07.24.0→7.25.00.9.0→0.10.0Release Notes
PHP-CS-Fixer/PHP-CS-Fixer (PHP-CS-Fixer/PHP-CS-Fixer)
v3.95.10Compare Source
TokensAnalyzer- handleT_PUBLIC_SET,T_PROTECTED_SET,T_PRIVATE_SET(#9696)v3.95.9Compare Source
class_keyword(#9689)v3.95.8Compare Source
SingleClassElementPerStatementFixer- do not drop modifiers when splittingfinalconstants/properties (#9687)v3.95.7Compare Source
ClassReferenceNameCasingFixer- do not change case of typed class constant names (#9686)v3.95.6Compare Source
Preg::match/Preg::matchAllsubject string type when match is truthy (#9668)PhpUnitAttributesFixer- correctly handle@requiresPHPUnit with space-separated version constraint (#9684)v3.95.5Compare Source
assert()and add more precisePreg::matchAll()return type (#9667)GroupImportFixer(#9671)TypeExpression(#9665)assertcalls (#9666)sebastian/diff:^9.0(#9663)phpunit/phpunit:^13.2inPhpUnitTestCaseStaticMethodCallsFixer(#9664)AgentDetectorto detect presence of AI agent only when@autoformat has been selected (#9658)PhpdocAddMissingParamAnnotationFixer- skip attribute tokens when extracting parameter type (#9634)StaticPrivateMethodFixer- fix for private constructor and abstract static method (#9598)simplified_if_return- applyFix to use slices for token insertion (#9670)v3.95.4Compare Source
ArrayIndentationFixer(#9643)ClassDefinitionFixer(#9645)ControlCaseStructuresAnalyzer(#9644)NoAliasFunctionsFixer(#9647)NoSuperfluousPhpdocTagsFixer(#9646)PhpUnitTestCaseStaticMethodCallsFixer(#9649)Token(#9650)WorkerException(#9648)ergebnis/agent-detectorfor detecting the presence of an AI agent (#9656)v3.95.3Compare Source
MultilinePromotedPropertiesFixer- fix fornewin initializers (#9619)PhpdocLineSpanFixer- run afterNoSuperfluousPhpdocTagsFixer(#9615)8.6snapshotwithnightlyin matrix (#9628)facebook/ktfmt (facebook/ktfmt)
v0.64Compare Source
Changed
Parser.parse(#622)Fixed
oxc-project/oxc (oxc-project/oxc)
v1.71.0: oxlint v1.71.0 & oxfmt v0.56.0Compare Source
Table of Contents
Oxlint v1.71.0
🚀 Features
ff65285linter:no-restricted-globalsadd missing upstream options (#23663) (Sysix)7b8bd89linter/typescript: Implement suggestion forno-unnecessary-type-constraintrule (#23646) (Mikhail Baev)0dc2405linter: Add schema foreslint/no-restricted-properties(#23619) (Sysix)b638d0elinter: Add schema fornode/callback-return(#23615) (Sysix)eb8bedclinter: Add schema forimport/extensions(#23557) (WaterWhisperer)46f3625linter: Implement node/no-sync rule (#23589) (fujitani sora)b01739alinter: Add schema forunicorn/numeric-separators-style(#23554) (Mikhail Baev)68afd2alinter/node: Implementno-mixed-requiresrule (#23539) (fujitani sora)59d8893linter:unicorn/numeric-separators-stylesupport missing options (#23524) (Sysix)a421215linter: Add schema foreslint/prefer-destructuring(#23410) (WaterWhisperer)84438belinter/jsdoc: Added missing options torequire-param-description(#23416) (kapobajza)c145b72linter/jsdoc/require-param-type: Implement fixer (#23513) (camc314)51910dflinter/jsdoc: Add missing options torequire-param-typerule (#23418) (kapobajza)e90925flinter/unicorn: Implement prefer-number-coercion rule (#23497) (Shekhudd1c866linter/vue: Implement no-async-in-computed-properties rule (#23493) (bab)b02444elinter: Add schema forreact/jsx-no-script-url(#23475) (WaterWhisperer)53509a8minifier: Treeshake pure typed arrays and Set/Map array literals (#23469) (Dunqing)a8dce46linter/unicorn: Implementmax-nested-callsrule (#23461) (arieleli01212)🐛 Bug Fixes
b1948a1linter/radix: Avoid panic onparseIntwith a spread radix argument (#23623) (Jerry Zhao)f28ccfdlinter/prefer-query-selector: Use a compound selector for multiple classes (#23628) (Jerry Zhao)13f2970linter/prefer-numeric-literals: Avoid panic onparseIntwith a spread radix argument (#23624) (Jerry Zhao)57612b3linter: Report invalid capitalized-comments ignore patterns (#23608) (camc314)800ee2alinter/consistent-vitest-vi: Preserve import aliases when rewriting the import (#23568) (Yunfei He)f78b5e1linter/consistent-indexed-object-style: Don't leak a stray comma into the value type (#23566) (Yunfei He)6b104e8linter/radix: Detect a trailing comma only after the argument (#23569) (Yunfei He)2de20cblinter/unicorn/prefer-at: Correct two-argumentslice().pop()index (#23565) (Yunfei He)de778eclinter:unicorn/numeric-separators-stylepreserve dot for floats without decial part (#23553) (Sysix)651027clinter/curly: Remove only the block's own braces (#23580) (Yunfei He)687e835linter/array-type: Parenthesize a conditional-type element (#23579) (Yunfei He)9c80dfflinter/unicorn/no-unnecessary-await: Don't paste operators into invalid syntax (#23556) (Yunfei He)46e1463linter/no-compare-neg-zero: Delete the-of a parenthesized-0(#23578) (Yunfei He)d172a97linter/unicorn/prefer-math-trunk: Skip fixer for LHS with side effects (#23548) (camc314)1c3a9bdlinter/unicorn/prefer-negative-index: Don't reportArray#with(#23518) (Yunfei He)c17db5dlinter/unicorn/prefer-spread: Don't report.slice()on non-array receivers (#23520) (Yunfei He)9cd0c2flinter/unicorn/prefer-date-now: KeepBigIntwrapper when fixingBigInt(new Date())(#23523) (Yunfei He)16bb890linter/unicorn/prefer-array-flat: Skip non-arrayflatMapreceivers (#23527) (Yunfei He)3e6f90flinter/unicorn/no-zero-fractions: Insert a space after any preceding keyword (#23529) (Yunfei He)79a7d69linter/eslint/no-useless-assignment: Handle exceptional control-flow paths (#23544) (camc314)e8e2741linter/unicorn/prefer-math-min-max: Preserve operand source text in the fix (#23533) (Yunfei He)f592154linter/react/display-name: Ignore lowercase jsx helpers (#23510) (camc314)df7612flinter/jsx-a11y/no-noninteractive-element-to-interactive-role: Allow custom roles config (#23507) (camc314)924b931linter/unicorn/prefer-at: Handle checking all indexes correctly (#23504) (camc314)ca9686blinter/unicorn/prefer-at: Report zero indexes (#23503) (camc314)e96a4e3linter/unicorn/explicit-length-check: Ignore optional chains (#23487) (camc314)a303c23linter/jsx-a11y: Alignanchor-is-validconfig with upstream (#23446) (camc314)f27a6d1linter: False positives with non*.setTimeoutcall inno-confusing-set-timeout(#23444) (camc314)⚡ Performance
8e0dd65linter: Emit RuleEnum dispatch match once instead of per timing branch (#23499) (Boshen)d5c7d99linter/expect-expect: Avoid recompiling matches on every traversal (#23593) (camc314)f191520linter/no-useless-spread: Avoid collectingVecbefore iterating (#23546) (camc314)79340d1linter: Stream React lifecycle ancestors (#23545) (camc314)1923169linter/eslint/max-classes: Gate rule by rule config threshold (#23509) (camc314)3f60de3linter: Use bucketed dispatch for all files (#23452) (camc314)3699971linter/typescript/no-unnecessary-parameter-property-assignment: Avoid temporary vec allocations (#23492) (camc314)4ef0ceblinter/eslint/no-useless-switch-case: Avoid temporary vec allocations (#23489) (camc314)2e09dd3linter: Avoid JSX fragment child collections (#23486) (camc314)f30a64clinter/oxc/branches-sharing-code: Borrow shared branch suggestion text (#23484) (camc314)097a317linter/eslint/no-control-regex: Retain control regex candidates in place (#23482) (camc314)b3a093dlinter: Reuse rule dispatch buckets (#23450) (camc314)9f1a985oxlint: Start Tokio only for LSP (#23447) (camc314)📚 Documentation
9e219delinter/plugins: Update usage instruction (#23495) (Tony)b50bf4dlinter: Remove manually written options doc foreslint/arrow-body-style(#23490) (Mikhail Baev)Oxfmt v0.56.0
🐛 Bug Fixes
f21ed2cformatter_json: Normalize CRLF for suppressed text (#23702) (leaysgur)7cd1737formatter: Normalize CRLF for suppressed text (#23701) (leaysgur)a36e444formatter: Member chain panic when tail is merged with comment in dev build (#23698) (leaysgur)600d306formatter: Preserve parens with default export and type cast (#23697) (leaysgur)61290f2formatter: Single-member intersection/union type with comment formatting (#21915) (Leonabcd123)5a1b0b4formatter: Parenthesize a type assertion used as the base of**(#23633) (Jerry Zhao)91827e2formatter: UseOrdering::reverse()withorder: descfor idempotency (#23543) (leaysgur)8fa7394formatter_json: Handle wrapped error span (#23472) (leaysgur)37a34a1oxfmt/lsp: Avoid newlines line ending changes (#23463) (Sysix)⚡ Performance
80f1697formatter: Avoid arena copy for already-lowercase bigint literals (#23534) (Yunfei He)1a40b71formatter: Avoid arena copy for borrowed numeric-literal text (#23512) (Yunfei He)12e4451formatter: Avoid arena copy for borrowed string-literal text (#23465) (Yunfei He)palantir/palantir-java-format (palantir/palantir-java-format)
v2.94.0Compare Source
🐛 Fixes
Full Changelog: 2.93.0...2.94.0
v2.93.0Compare Source
No documented user-facing changes
Full Changelog: 2.92.0...2.93.0
v2.92.0Compare Source
🐛 Fixes
Full Changelog: 2.91.0...2.92.0
pmd/pmd (pmd/pmd)
v7.25.0: PMD 7.25.0 (29-May-2026)Compare Source
29-May-2026 - 7.25.0
The PMD team is pleased to announce PMD 7.25.0.
This is a minor release.
Table Of Contents
🚀️ New and noteworthy
Updated ANTLR library to 4.13.2
We have updated the ANTLR library (parser generator) from 4.9.3 to the latest version 4.13.2,
in order to be able to use the latest version of Apex parser library.
This is an incompatible update: In case you use custom language modules based on ANTLR, you
need to make sure to regenerate all of your lexers and parsers with the new ANTLR version.
For the ANTLR based language modules, that PMD ships (kotlin and swift and various CPD modules),
this is already done.
🌟️ New and Changed Rules
New Rules
JUnitJupiterTestNoPrivateModifierfind JUnit test classes andmethods that are private. Test classes, test methods, and lifecycle methods are not required to be public,
but they must not be private. Otherwise, they won’t be found by the test framework.
UnnecessaryBlockreports blocks that are unnecessary asthey don't introduce a new scope. This rule helps simplify code structure by identifying and flagging
redundant blocks that can make code harder to read and may be misleading.
VariableDeclarationUsageDistanceflags local variables that are declaredfar from their usage, which can make code harder to read. The rule has a property
maxDistancethat allows toconfigure the maximum allowed distance between declaration and usage.
AssertStatementInTestdetects usages ofassertstatement in tests.These should be replaced by framework assertion methods such as
assertEquals.Such methods provide better error messages and make test behave correctly when running without
-ea.Changed Rules
OnlyOneReturnhas a new propertyallowGuardIfs. When this property istrue, then guard ifs at the beginning of a method are allowed their return statements don't count.
UseUtilityClassandClassNamingConventionsnow use thesame definition of what a utility class is. The most significant change is, that classes with
main()methods areno longer considered utility classes by
UseUtilityClass.The goal is to ensure that rules report issues on the correct line and highlight only the relevant lines.
For example, instead of flagging an entire class declaration (including its body), we now generally report only
the class name. For more details, see [java] Single Line Warnings #730
and [java] Review reported locations of rules #3769. While this effort
is still ongoing, the following Java rules have been updated in this release:
AbstractClassWithoutAbstractMethodAbstractClassWithoutAnyMethodAtLeastOneConstructorAvoidDollarSignsAvoidCatchingGenericExceptionAvoidSynchronizedStatement(now reports only on synchronized keyword and not the whole synchronized block)ClassNamingConventionsClassWithOnlyPrivateConstructorsShouldBeFinalCommentDefaultAccessModifierCommentRequiredCouplingBetweenObjects(now reports only on class identifier and not whole compilation unit anymore)CyclomaticComplexityDataClassExcessiveImports(now reports only on imports and not the whole compilation unit anymore)ExcessiveParameterListExcessivePublicCountExhaustiveSwitchHasDefault(now reports only on switch keyword and not the whole switch block)GodClassImplicitFunctionalInterfaceJUnit5TestShouldBePackagePrivateLocalHomeNamingConventionLocalInterfaceSessionNamingConventionMissingSerialVersionUIDMissingStaticMethodInNonInstantiatableClassNcssCountNonExhaustiveSwitch(now reports only on switch keyword and not the whole switch block)NoPackagePublicMemberInNonPublicTypeShortClassNameSingleMethodSingletonSwitchDensity(now reports only on switch keyword and not the whole switch block)TestClassWithoutTestCasesTooFewBranchesForSwitch(now reports only on switch keyword and not the whole switch block)TooManyFields(now reports only on class identifier and not the whole class body anymore)TooManyMethods(now reports only on class identifier and not the whole class body anymore)TooManyStaticImports(now reports only on the first static import and not the whole compilation unit anymore)UnnecessaryModifierUseUtilityClassRenamed rules and properties
JUnitJupiterTestShouldBePackagePrivate(Java Best Practices) was renamed fromJUnit5TestShouldBePackagePrivate.junitJupiterTestPatternof ruleMethodNamingConventions(Java Code Style) was renamed fromjunit5TestPattern.The old names still work but are deprecated.
🐛️ Fixed Issues
🚨️ API Changes
Deprecations
FieldDeclarationsShouldBeAtStartOfClassRule#visitis an implementation detail ofFieldDeclarationsShouldBeAtStartOfClassRule. It will be removed in a later release.CyclomaticComplexityRule#visitTypeDeclis an implementation detail ofCyclomaticComplexityRule. It will be removed in a later release.SwitchDensityRule#visitSwitchLikeis an implementation detail ofSwitchDensityRule. It will be removed in a later release.PmdKotlinParser#PmdKotlinParserhas been deprecated.Use
KotlinLanguageModule#getInstance,createProcessor,servicesandgetParserinsteadto retrieve a correctly configured parser instance.
KotlinHandler#KotlinHandlerhas been deprecated.Use
getInstance,createProcessorandservicesinstead to access the LanguageVersionHandlerfor Kotlin.
KotlinInnerNode#getImageandKotlinInnerNode#hasImageEqualTohave been deprecated.They have not been used yet in Kotlin and the long-term plan is to remove these methods on each node.
Concrete nodes (subclasses of KotlinInnerNode) should provide a more specific attribute like
"getName" or "getIdentifier" instead and not rely on "getImage".
The same deprecation has been done for
KotlinTerminalNode.See #4787 for more information.
Experimental API
KotlinLanguageProperties#PARSE_TIMEOUT_SECONDSKotlinLanguageProperties#getParseTimeoutSecondsAttributeViewKtClassDeclarationAttributesKtClassParameterAttributesKtCompanionObjectAttributesKtFunctionDeclarationAttributesKtImportAliasAttributesKtImportHeaderAttributesKtVariableDeclarationAttributesHasModifiersHasSimpleIdentifierKotlinInnerNode#attributes.The attributes are also automatically exposed for XPath rules.
✨️ Merged pull requests
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.