Skip to content

feat(libdoc): read specversion 4 (Robot Framework 7.5) - #15

Merged
aaltat merged 1 commit into
MarketSquare:mainfrom
aaltat:feat/libdoc-specversion-4
Oct 4, 2026
Merged

aaltat merged 1 commit into
MarketSquare:mainfrom
aaltat:feat/libdoc-specversion-4

Conversation

@aaltat

@aaltat aaltat commented Oct 4, 2026

Copy link
Copy Markdown
Member

Fixes the failing Library release run for Browser 20.6.0.

Why it failed

scripts/fetch-libdoc.sh floors Robot Framework at >=7.4, so uv picked the newly released RF 7.5. Its Libdoc writes specversion: 4, and transform rejects anything but 3.

What spec 4 changes

Diffing Browser 20.6.0 generated with RF 7.4.1 and RF 7.5: no keys removed, counts identical, but

  • each keyword's Arguments: list is lifted out of doc into args[].doc (144 of 152 keywords), and the return section into returnDoc
  • returnType is a None node where spec 3 wrote null
  • alias on type nodes and raises on keywords are new, always empty in Browser

Only bumping the version would have silently dropped every argument description from the reference.

Changes

  • lib/libdoc.ts accepts specversions 3 and 4; arguments and returns carry their own sanitized, link-rewritten doc (empty for spec 3, which keeps it in the body)
  • KeywordPanels.server.vue renders an argument's doc as a row under it, and the return doc under Returns
  • a None return type means no return value, in the transform and in keyword-diff.ts (which would otherwise report None → None)
  • the build's shrink guard counts argument and return docs too

Verified

  • tests for spec 4, spec 3 and the None diff case written first and seen failing; full suite passes (732)
  • generated 20.6.0 locally with RF 7.5 and built the site with it as latest: all 524 argument docs render, links resolve, keyword diff 20.4.0 → 20.6.0 shows no changed signatures; checked desktop, mobile and dark mode
  • the 20.6.0 libdoc itself is not committed: once this merges, the next scheduled run imports it with the release notes, contributors and versions

🤖 Generated with Claude Code

The 20.6.0 import failed: fetch-libdoc.sh floors RF at 7.4, uv picked
7.5, and its Libdoc writes specversion 4, which the transform rejected.

Spec 4 lifts each keyword's `Arguments:` list out of `doc` into the
arguments' own `doc`, and the return section into `returnDoc`. Only
bumping the version would have dropped every argument description from
the reference without an error. Both versions are now accepted:

- arguments and returns carry their own sanitized doc, rendered as a row
  under each argument and under Returns
- a `None` return type (spec 4) means no return value, as `null` did in
  spec 3, in the transform and in the release PR's keyword diff
- the build's shrink guard counts argument and return docs too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aaltat
aaltat merged commit bbacfb3 into MarketSquare:main Oct 4, 2026
1 check passed
@aaltat
aaltat deleted the feat/libdoc-specversion-4 branch October 4, 2026 08:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant