Bump com.github.spotbugs:spotbugs-annotations from 4.9.3 to 4.9.4
Bumps com.github.spotbugs:spotbugs-annotations from 4.9.3 to 4.9.4.
Release notes
Sourced from com.github.spotbugs:spotbugs-annotations's releases.
SpotBugs 4.9.4
CHANGELOG
Changed
AnnotationMatchercan now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.- Add relevant CWE ids to bugs and refer the CWEs in the bug messages (#3354).
- Replace
LOCAL_VARIABLE_UNKNOWNwith exact method name forNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE(#3485)Fixed
- Widen main method recognition according to JEP 445. (#3371)
- Do not report
US_USELESS_SUPPRESSION_ON_*on methods, fields, parameters, packages or classes with an*.Generatedannotation with retention >= class (#3350)(#3409)- Rewrite some member in
ResourceValueFrame.javato Enum (#2061)- Ignore non-interpreted text when looking for
FS_BAD_DATE_FORMAT_FLAG_COMBO(#3387)- Fix IllegalArgumentException thrown from
FindNoSideEffectMethodsdetector (#3320)- Do not report
RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECTwhen part of a MockitodoAnswer(),doCallRealMethod(),doNothing(),doThrow()ordoReturn()call (#3334)- Fix
CT_CONSTRUCTOR_THROWfalse positive with public and private constructors in specific order of methods (#3417)- Fix
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE,AT_NONATOMIC_64BIT_PRIMITIVEandAT_STALE_THREAD_WRITE_OF_PRIMITIVEFP when the relevant code is in private method, which is only called with proper synchronization (#3428)- Do not report
RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECTwhen part of a BDDMockito call (#3441)- Fix
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLEwhen field of a local variable is set. (#3459)- Fix
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLEFP when there was no compound operation (#3363)- Fix
NM_FIELD_NAMING_CONVENTIONcrash in the TestASM detector (#3489)- Do not report
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORfor fields initialized in JUnit 3/4setUp()method. (#3169)- Fix
US_USELESS_SUPPRESSION_ON_FIELD/UUF_UNUSED_FIELDfalse positive (#3496)- Make the osgi manifest of the annotations jar Java 8 compatible (#3498) (#3500)
TextUICommandLinesupports all options encoded in Eclipse preferences file (#3520)- Unnecessary suppressions fix for records headers (#3471)
- Dead store fix when switch case contains loops (#3530) (#3449)
- Consider PUTFIELD and PUTSTATIC when looking for assertions with side effects (#3463)
- Detect cases when equals() unconditionally returns true or false (#3528)
- Do not report that an Iterator does not throw
NoSuchElementExceptionwhenhasNext()returns true (#3501)- Detect random value cast to int when stored in temporary variable (#3461)
- Look for interfaces default methods when searching uncalled private methods (#1988)
- Fixed field self assignment false positive (#2258)
- Fixed
DMI_INVOKING_TOSTRING_ON_ARRAYon newer JDK (#1147)- Fix
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUEfalse positive withObjects.requireNonNull(#2965) (#3573)- Track inner classes access methods to correctly report the bugs (#2029)
SF_SWITCH_NO_DEFAULTfalse positive fix (#1148) (#3572)Added
- Added the unnecessary annotation to the
US_USELESS_SUPPRESSION_ON_*messages (#3395)- Multi-threaded code checks can be skipped with
@NotThreadSafe(#3390)- New bug type
CWO_CLOSED_WITHOUT_OPENEDfor locks that might be released without even being acquired. (See SEI CERT rule LCK08-J) (#2055)
- Breaking change: changed values and new items in
ResourceValueFrame.- Inline access method for method. (#3481)
- Added
DMI_MISLEADING_SUBSTRINGfor callingsubString(0)on a StringBuffer/StringBuilder (#1928)Signing
- Signing for Eclipse plugin has been removed at the current time due to signing keys being expired. The expired key produced a warning during install, the same is true without signing.
CHECKSUM
| file | checksum (sha256) |
... (truncated)
Changelog
Sourced from com.github.spotbugs:spotbugs-annotations's changelog.
4.9.4 - 2025-08-07
Changed
AnnotationMatchercan now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.- Add relevant CWE ids to bugs and refer the CWEs in the bug messages (#3354).
- Replace
LOCAL_VARIABLE_UNKNOWNwith exact method name forNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE(#3485)Fixed
- Widen main method recognition according to JEP 445. (#3371)
- Do not report
US_USELESS_SUPPRESSION_ON_*on methods, fields, parameters, packages or classes with an*.Generatedannotation with retention >= class (#3350)(#3409)- Rewrite some member in
ResourceValueFrame.javato Enum (#2061)- Ignore non-interpreted text when looking for
FS_BAD_DATE_FORMAT_FLAG_COMBO(#3387)- Fix IllegalArgumentException thrown from
FindNoSideEffectMethodsdetector (#3320)- Do not report
RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECTwhen part of a MockitodoAnswer(),doCallRealMethod(),doNothing(),doThrow()ordoReturn()call (#3334)- Fix
CT_CONSTRUCTOR_THROWfalse positive with public and private constructors in specific order of methods (#3417)- Fix
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE,AT_NONATOMIC_64BIT_PRIMITIVEandAT_STALE_THREAD_WRITE_OF_PRIMITIVEFP when the relevant code is in private method, which is only called with proper synchronization (#3428)- Do not report
RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECTwhen part of a BDDMockito call (#3441)- Fix
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLEwhen field of a local variable is set. (#3459)- Fix
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLEFP when there was no compound operation (#3363)- Fix
NM_FIELD_NAMING_CONVENTIONcrash in the TestASM detector (#3489)- Do not report
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORfor fields initialized in JUnit 3/4setUp()method. (#3169)- Fix
US_USELESS_SUPPRESSION_ON_FIELD/UUF_UNUSED_FIELDfalse positive (#3496)- Make the osgi manifest of the annotations jar Java 8 compatible (#3498) (#3500)
TextUICommandLinesupports all options encoded in Eclipse preferences file (#3520)- Unnecessary suppressions fix for records headers (#3471)
- Dead store fix when switch case contains loops (#3530) (#3449)
- Consider PUTFIELD and PUTSTATIC when looking for assertions with side effects (#3463)
- Detect cases when equals() unconditionally returns true or false (#3528)
- Do not report that an Iterator does not throw
NoSuchElementExceptionwhenhasNext()returns true (#3501)- Detect random value cast to int when stored in temporary variable (#3461)
- Look for interfaces default methods when searching uncalled private methods (#1988)
- Fixed field self assignment false positive (#2258)
- Fixed
DMI_INVOKING_TOSTRING_ON_ARRAYon newer JDK (#1147)- Fix
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUEfalse positive withObjects.requireNonNull(#2965) (#3573)- Track inner classes access methods to correctly report the bugs (#2029)
SF_SWITCH_NO_DEFAULTfalse positive fix (#1148) (#3572)Added
- Added the unnecessary annotation to the
US_USELESS_SUPPRESSION_ON_*messages (#3395)- Multi-threaded code checks can be skipped with
@NotThreadSafe(#3390)- New bug type
CWO_CLOSED_WITHOUT_OPENEDfor locks that might be released without even being acquired. (See SEI CERT rule LCK08-J) (#2055)
- Breaking change: changed values and new items in
ResourceValueFrame.- Inline access method for method. (#3481)
- Added
DMI_MISLEADING_SUBSTRINGfor callingsubString(0)on a StringBuffer/StringBuilder (#1928)Signing
- Signing for Eclipse plugin has been removed at the current time due to signing keys being expired. The expired key produced a warning during install, the same is true without signing.
Commits
014b0eerelease v4.9.40c0f125build: Adjustments to the tag checking788524bprepare for next release44656f0release v4.9.4da2f64dbuild: Make sure check is against origin/master not master0db0852prepare for next release7ecaa15release v4.9.4a2845afbuild: Remove space in curlb433c57build: Disable parallel builds for nowa4e906fbuild: Cleanup release action to correctly work- Additional commits viewable in compare view
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
A newer version of com.github.spotbugs:spotbugs-annotations exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.
If you change your mind, just re-open this PR and I'll resolve any conflicts on it.