Skip to content

Bump yard-lint from 1.5.1 to 1.5.2#2646

Merged
github-actions[bot] merged 1 commit into
mainfrom
dependabot/bundler/yard-lint-1.5.2
Jun 3, 2026
Merged

Bump yard-lint from 1.5.1 to 1.5.2#2646
github-actions[bot] merged 1 commit into
mainfrom
dependabot/bundler/yard-lint-1.5.2

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 3, 2026

Bumps yard-lint from 1.5.1 to 1.5.2.

Release notes

Sourced from yard-lint's releases.

v1.5.2

  • [Fix] Tags/InvalidTypes no longer reports false positives for YARD pseudo-types undefined, unspecified, and unknown (#152)
    • These lowercase pseudo-types are used in real-world YARD docs (e.g. Solargraph uses Hash{String => undefined} extensively) to signal that a type is intentionally unspecified
    • They are now treated as valid types alongside the existing nil, void, self, true, false defaults
  • [Fix] Tags/InvalidTypes no longer reports false positives for string literal hash keys (e.g. Hash{"to" => String}) (#152)
    • String literal keys like "email" or "name" are valid YARD hash key notation and are now treated as valid alongside the existing symbol literal support (:key)
  • [Fix] Tags/InvalidTypes no longer reports false positives for nested Hash{K => V} types (#151, #152)
    • Complex hash types such as Hash{String => Hash{Symbol => Array<String>}} were occasionally flagged as invalid; the extract_type_names splitter already handled them correctly after the 1.5.2 sanitizer rewrite, and regression tests now lock that behaviour in
    • Invalid types genuinely nested inside hash values (e.g. Hash{String => bad_type}) are still caught and surfaced correctly
  • [Enhancement] Tags/InvalidTypes offense messages now name the invalid type(s) and the tag they appear in (#151)
    • Previously reported a generic "has at least one tag with an invalid type definition" message with no further detail
    • Now reports "has invalid type(s): @param body: \bad_type`; @​return: `wrong_type`"— the exact offending type and the tag (including param name for@​param`) where it was found
  • [Fix] Do not flag @param on Struct.new / Data.define constants in Tags/MeaninglessTag (#152)
    • Solargraph uses @param annotations on these constants to type the synthesised accessors; flagging them was a false positive
    • @option on these constants is still reported as meaningless
  • [Fix] Fix --auto-gen-config crash (NoMethodError) when a YARD warning is emitted without file context (#150)
    • A @!macro [new] body with an invalid tag format (e.g. @return name [Type]) that is also referenced inside the defining method's body causes YARD to expand the macro with object=nil, emitting Invalid tag format without a file path → offense[:location] = nilmake_relative_path(nil) → crash
    • TodoGenerator#make_relative_path now returns nil for nil input; run_linting uses filter_map to skip nil locations when building exclusion lists
    • Runner#filter_result_offenses now always drops nil-location offenses before exclusion-pattern filtering (they would otherwise appear as :0 in output)
    • Fix Warnings/DuplicatedParameterName::Parser: was inheriting from OneLineBase despite YARD emitting the warning across two lines (same format as UnknownParameterName), causing offense[:location] to always be nil; switched to TwoLineBase and corrected the location regex to match YARD's backtick-open/single-quote-close path format
  • [Fix] Stop false positives for allowed defaults (self, nil, true, false, void) inside generic types in Tags/InvalidTypes validator
    • Types like Array<self>, Hash{Symbol => nil}, Array<true> were incorrectly flagged as InvalidTagType because the sanitize logic concatenated type components (e.g., Array<self> became Arrayself, which is not in ALLOWED_DEFAULTS)
    • Replaced the tr-based sanitizer with a proper type name splitter that checks each component individually
  • [Fix] Validate types inside @overload blocks across all type validators (Tags/TypeSyntax, Tags/InvalidTypes, Tags/CollectionType, Tags/NonAsciiType)
    • YARD stores @overload inner tags on the overload's own docstring, making them invisible to validators that only traverse object.docstring.tags
    • Added all_typed_tags helper to Validators::Base that collects matching tags from both the docstring and any @overload blocks
  • [Fix] Add @raise and @yieldparam to ValidatedTags in all type validators
    • @raise tag types (e.g., @raise [ArgumentError]) were never validated for type syntax or correctness by any validator
    • @yieldparam was missing from Tags/InvalidTypes, Tags/TypeSyntax, and Tags/CollectionType (only Tags/NonAsciiType included it)
    • Both tags are now validated consistently across Tags/InvalidTypes, Tags/TypeSyntax, Tags/CollectionType, and Tags/NonAsciiType
  • [Fix] Skip attribute methods in Tags/ApiTags validator (#128)
    • Methods generated by attr_*, @!attribute directives, Struct.new, and Data.define are no longer flagged for missing @api tags
    • YARD's Data.define and Struct.new handlers hard-replace the generated methods' docstrings, stripping any @api tag inherited from the enclosing class, and @!attribute directives written above a Data.define constant attach to the wrong namespace — leaving users with no way to attach per-method @api tags to those accessors
    • Matches the approach taken for UndocumentedMethodArguments in #115
Changelog

Sourced from yard-lint's changelog.

1.5.2 (2026-06-02)

  • [Fix] Tags/InvalidTypes no longer reports false positives for YARD pseudo-types undefined, unspecified, and unknown (#152)
    • These lowercase pseudo-types are used in real-world YARD docs (e.g. Solargraph uses Hash{String => undefined} extensively) to signal that a type is intentionally unspecified
    • They are now treated as valid types alongside the existing nil, void, self, true, false defaults
  • [Fix] Tags/InvalidTypes no longer reports false positives for string literal hash keys (e.g. Hash{"to" => String}) (#152)
    • String literal keys like "email" or "name" are valid YARD hash key notation and are now treated as valid alongside the existing symbol literal support (:key)
  • [Fix] Tags/InvalidTypes no longer reports false positives for nested Hash{K => V} types (#151, #152)
    • Complex hash types such as Hash{String => Hash{Symbol => Array<String>}} were occasionally flagged as invalid; the extract_type_names splitter already handled them correctly after the 1.5.2 sanitizer rewrite, and regression tests now lock that behaviour in
    • Invalid types genuinely nested inside hash values (e.g. Hash{String => bad_type}) are still caught and surfaced correctly
  • [Enhancement] Tags/InvalidTypes offense messages now name the invalid type(s) and the tag they appear in (#151)
    • Previously reported a generic "has at least one tag with an invalid type definition" message with no further detail
    • Now reports "has invalid type(s): @param body: \bad_type`; @​return: `wrong_type`"— the exact offending type and the tag (including param name for@​param`) where it was found
  • [Fix] Do not flag @param on Struct.new / Data.define constants in Tags/MeaninglessTag (#152)
    • Solargraph uses @param annotations on these constants to type the synthesised accessors; flagging them was a false positive
    • @option on these constants is still reported as meaningless
  • [Fix] Fix --auto-gen-config crash (NoMethodError) when a YARD warning is emitted without file context (#150)
    • A @!macro [new] body with an invalid tag format (e.g. @return name [Type]) that is also referenced inside the defining method's body causes YARD to expand the macro with object=nil, emitting Invalid tag format without a file path → offense[:location] = nilmake_relative_path(nil) → crash
    • TodoGenerator#make_relative_path now returns nil for nil input; run_linting uses filter_map to skip nil locations when building exclusion lists
    • Runner#filter_result_offenses now always drops nil-location offenses before exclusion-pattern filtering (they would otherwise appear as :0 in output)
    • Fix Warnings/DuplicatedParameterName::Parser: was inheriting from OneLineBase despite YARD emitting the warning across two lines (same format as UnknownParameterName), causing offense[:location] to always be nil; switched to TwoLineBase and corrected the location regex to match YARD's backtick-open/single-quote-close path format
  • [Fix] Stop false positives for allowed defaults (self, nil, true, false, void) inside generic types in Tags/InvalidTypes validator
    • Types like Array<self>, Hash{Symbol => nil}, Array<true> were incorrectly flagged as InvalidTagType because the sanitize logic concatenated type components (e.g., Array<self> became Arrayself, which is not in ALLOWED_DEFAULTS)
    • Replaced the tr-based sanitizer with a proper type name splitter that checks each component individually
  • [Fix] Validate types inside @overload blocks across all type validators (Tags/TypeSyntax, Tags/InvalidTypes, Tags/CollectionType, Tags/NonAsciiType)
    • YARD stores @overload inner tags on the overload's own docstring, making them invisible to validators that only traverse object.docstring.tags
    • Added all_typed_tags helper to Validators::Base that collects matching tags from both the docstring and any @overload blocks
  • [Fix] Add @raise and @yieldparam to ValidatedTags in all type validators
    • @raise tag types (e.g., @raise [ArgumentError]) were never validated for type syntax or correctness by any validator
    • @yieldparam was missing from Tags/InvalidTypes, Tags/TypeSyntax, and Tags/CollectionType (only Tags/NonAsciiType included it)
    • Both tags are now validated consistently across Tags/InvalidTypes, Tags/TypeSyntax, Tags/CollectionType, and Tags/NonAsciiType
  • [Fix] Skip attribute methods in Tags/ApiTags validator (#128)
    • Methods generated by attr_*, @!attribute directives, Struct.new, and Data.define are no longer flagged for missing @api tags
    • YARD's Data.define and Struct.new handlers hard-replace the generated methods' docstrings, stripping any @api tag inherited from the enclosing class, and @!attribute directives written above a Data.define constant attach to the wrong namespace — leaving users with no way to attach per-method @api tags to those accessors
    • Matches the approach taken for UndocumentedMethodArguments in #115
Commits
  • 78f44e9 v1.5.2 (#161)
  • 062918d docs: document ExtraTypes and non-standard type handling in README (#160)
  • 1527df1 test: add integration coverage for ExtraTypes config in Tags/InvalidTypes (#159)
  • 0700e3f fix: treat YARD pseudo-types undefined/unspecified/unknown as valid in Tags/I...
  • 323034b test: add regression coverage for nested Hash types in Tags/InvalidTypes (#157)
  • 9d918f7 feat: surface invalid type names and tag context in Tags/InvalidTypes message...
  • a8cd5ce docs: add changelog entries for #150 and #152 fixes
  • 6fcfc6b feat: exempt @​param on Struct.new / Data.define constants from MeaninglessTag...
  • 8f65205 fix: guard against nil location in TodoGenerator#make_relative_path (#153)
  • f92b704 chore(deps): update dependency rubocop to v1.86.2 (#149)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [yard-lint](https://github.com/mensfeld/yard-lint) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/mensfeld/yard-lint/releases)
- [Changelog](https://github.com/mensfeld/yard-lint/blob/master/CHANGELOG.md)
- [Commits](mensfeld/yard-lint@v1.5.1...v1.5.2)

---
updated-dependencies:
- dependency-name: yard-lint
  dependency-version: 1.5.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Jun 3, 2026
@github-actions github-actions Bot enabled auto-merge June 3, 2026 23:18
@github-actions github-actions Bot merged commit 070fb84 into main Jun 3, 2026
18 checks passed
@github-actions github-actions Bot deleted the dependabot/bundler/yard-lint-1.5.2 branch June 3, 2026 23:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants